2. Намирате
Код за потвърждение: Избери целия код
#define ITEM_SLOT_THREE 2
Код за потвърждение: Избери целия код
#define ITEM_SLOT_FULL 3
5. Намирате
Код за потвърждение: Избери целия код
for ( new i = ITEM_SLOT_ONE; i <= ITEM_SLOT_TWO; i++ )
Код за потвърждение: Избери целия код
for ( new i = ITEM_SLOT_ONE; i <= ITEM_SLOT_THREE; i++ )
Код за потвърждение: Избери целия код
// Item Get Functions
ITEM_GetSlot( id )
{
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE && g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE )
return ITEM_SLOT_FULL;
else if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE )
return ITEM_SLOT_TWO;
return ITEM_SLOT_ONE;
}
ITEM_Has( id, iItem )
{
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] == iItem )
return ITEM_SLOT_ONE;
else if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] == iItem )
return ITEM_SLOT_TWO;
return ITEM_NONE;
}
// Item Death Function
ITEM_UserDied( id )
{
// The user just died, remove all items
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE )
{
ITEM_Remove( id, ITEM_SLOT_ONE, false );
}
if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE )
{
ITEM_Remove( id, ITEM_SLOT_TWO, false );
}
}
Код за потвърждение: Избери целия код
// Item Get Functions
ITEM_GetSlot( id )
{
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE && g_iShopMenuItems[idU][ITEM_SLOT_TWO] > ITEM_NONE&&
g_iShopMenuItems[id][ITEM_SLOT_THREE] > ITEM_NONE )
return ITEM_SLOT_FULL;
else if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE && g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE)
return ITEM_SLOT_THREE;
else if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE)
return ITEM_SLOT_TWO;
return ITEM_SLOT_ONE;
}
ITEM_Has( id, iItem )
{
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] == iItem )
return ITEM_SLOT_ONE;
else if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] == iItem )
return ITEM_SLOT_TWO;
else if ( g_iShopMenuItems[id][ITEM_SLOT_THREE] == iItem )
return ITEM_SLOT_THREE;
return ITEM_NONE;
}
// Item Death Function
ITEM_UserDied( id )
{
// The user just died, remove all items
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE )
{
ITEM_Remove( id, ITEM_SLOT_ONE );
}
if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE )
{
ITEM_Remove( id, ITEM_SLOT_TWO );
}
if ( g_iShopMenuItems[id][ITEM_SLOT_THREE] > ITEM_NONE )
{
ITEM_Remove( id, ITEM_SLOT_THREE );
}
}
10. Намирате
Код за потвърждение: Избери целия код
public MENU_ReplaceItem( id )
{
new szMenu[512] = "", pos = 0;
new iKeys = (1<<9)|(1<<0)|(1<<1);
// Add the menu header
pos += format( szMenu[pos], 511-pos, "%L^n^n", id, "MENU_REPLACE_ITEM" );
new szItemName[64], szItemName2[64];
LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_ONE], id, szItemName, 63 );
LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_TWO], id, szItemName2, 63 );
// Add the items
pos += format( szMenu[pos], 511-pos, "\w1. %s^n", szItemName );
pos += format( szMenu[pos], 511-pos, "\w2. %s^n", szItemName2 );
// Add the exit option
pos += format( szMenu[pos], 511-pos, "^n\w0. %L", id, "WORD_EXIT" );
// Show the menu
show_menu( id, iKeys, szMenu, -1 );
return;
}
Код за потвърждение: Избери целия код
public MENU_ReplaceItem( id )
{
new szMenu[512] = "", pos = 0;
new iKeys = (1<<9)|(1<<0)|(1<<1)|(1<<2);
// Add the menu header
pos += format( szMenu[pos], charsmax(szMenu)-pos, "%L^n^n", LANG_PLAYER, "MENU_REPLACE_ITEM" );
new szItemName[64], szItemName2[64], szItemName3[64];
LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_ONE], id, szItemName, charsmax(szItemName) );
LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_TWO], id, szItemName2, charsmax(szItemName2) );
LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_THREE], id, szItemName3, charsmax(szItemName3) );
// Add the items
pos += format( szMenu[pos], charsmax(szMenu)-pos, "\r1. %s^n", szItemName );
pos += format( szMenu[pos], charsmax(szMenu)-pos, "\y2. %s^n", szItemName2 );
pos += format( szMenu[pos], charsmax(szMenu)-pos, "\w3. %s^n", szItemName3 );
// Add the exit option
pos += format( szMenu[pos], charsmax(szMenu)-pos, "^n\d0. %L", LANG_PLAYER, "WORD_EXIT" );
// Show the menu
show_menu( id, iKeys, szMenu, -1 );
return;
}
Код за потвърждение: Избери целия код
public _menu_ReplaceItem( id, iKey )
{
if ( !WC3_Check() || iKey == 9 )
{
return PLUGIN_HANDLED;
}
// Remove item from item slot one
if ( iKey == 0 )
{
ITEM_Remove( id, ITEM_SLOT_ONE )
}
// Remove item from itemslot two
else if ( iKey == 1 )
{
ITEM_Remove( id, ITEM_SLOT_TWO )
}
// Then the user typed "rings"
if ( g_iFutureItem[id] == -3 )
{
ITEM_BuyRings( id );
}
else
{
ITEM_Buy( id, g_iFutureItem[id] );
}
return PLUGIN_HANDLED;
}
Код за потвърждение: Избери целия код
public _menu_ReplaceItem( id, iKey )
{
if ( !WC3_Check() || iKey == 9 )
{
return PLUGIN_HANDLED;
}
// Remove item from item slot one
if ( iKey == 0 )
{
ITEM_Remove( id, ITEM_SLOT_ONE )
}
// Remove item from itemslot two
else if ( iKey == 1 )
{
ITEM_Remove( id, ITEM_SLOT_TWO )
}
else if ( iKey == 2 )
{
ITEM_Remove( id, ITEM_SLOT_THREE );
}
// Then the user typed "rings"
if ( g_iFutureItem[id] == -3 )
{
ITEM_BuyRings( id );
}
else
{
ITEM_Buy( id, g_iFutureItem[id] );
}
return PLUGIN_HANDLED;
}
Код за потвърждение: Избери целия код
WC3_ShowBar( id )
{
// User is not connected
if ( !p_data_b[id][PB_ISCONNECTED] )
{
return;
}
new szString[256], pos = 0, szXPInfo[32];
new szItemInfo[256], szRaceInfo[256];
new szRaceName[64], szShortRaceName[32], szItemName[32];
// Get the race names
lang_GetRaceName( p_data[id][P_RACE], id, szRaceName, 63 );
lang_GetRaceName( p_data[id][P_RACE], id, szShortRaceName, 31, true );
// This information is displayed differently for CS/CZ
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{
// No race selected
if ( !p_data[id][P_RACE] )
{
pos += formatex( szRaceInfo[pos], 255, "%s ", szRaceName );
}
// User has a race
else
{
// User is level 0
if ( p_data[id][P_LEVEL] == 0 )
{
pos += formatex( szRaceInfo[pos], 255, "%s XP: %d/%d ", szRaceName, p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
formatex( szXPInfo, 31, "XP: %d/%d", p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
}
// User is under level 10
else if ( p_data[id][P_LEVEL] < 10 )
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d XP: %d/%d ", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1) );
formatex( szXPInfo, 31, "%L: %d XP: %d/%d", id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
}
// User is level 10
else
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d XP: %d ", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
formatex( szXPInfo, 31, "%L: %d XP: %d", id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
}
}
}
else if ( g_MOD == GAME_DOD )
{
// No race selected
if ( !p_data[id][P_RACE] )
{
pos += formatex( szRaceInfo[pos], 255, "%s ", szRaceName );
}
// User has a race
else
{
// User is level 0
if ( p_data[id][P_LEVEL] == 0 )
{
pos += formatex( szRaceInfo[pos], 255, "%s^nXP: %d/%d^n", szRaceName, p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
}
// User is under level 10
else if ( p_data[id][P_LEVEL] < 10 )
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d^nXP: %d/%d^n", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1) );
}
// User is level 10
else
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d^nXP: %d^n", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
}
}
}
// Reset our position since we're using a new array
pos = 0;
// User has one item
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE )
{
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_ONE], szItemName, 31 )
pos += formatex( szItemInfo[pos], 256-pos, "%s", szItemName );
}
// User has another item
if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE )
{
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_TWO], szItemName, 31 )
// Then the string isn't empty and we have information in it (so we have a first item)
if ( szItemInfo[0] )
{
pos += formatex( szItemInfo[pos], 256-pos, " %L %s", id, "WORD_AND", szItemName );
}
// We don't need the word "and"
else
{
pos += formatex( szItemInfo[pos], 256-pos, "%s", szItemName );
}
}
// Put the final string together
formatex( szString, 255, "%s%s", szRaceInfo, szItemInfo );
if ( SHARED_IsOnTeam( id ) )
{
// Display the item + race info with a hudmessage
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{
if ( is_user_alive( id ) )
{
Create_StatusText( id, 0, szString );
}
else
{
set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );
show_hudmessage( id, "%s", szXPInfo );
}
}
// Display the item + race info with a hudtext
else if ( g_MOD == GAME_DOD )
{
Create_HudText( id, szString, 1 );
}
}
return;
}
15. Заменяте
Код за потвърждение: Избери целия код
WC3_ShowBar( id )
{
// User is not connected
if ( !p_data_b[id][PB_ISCONNECTED] )
{
return;
}
new szString[256], pos = 0, szXPInfo[32],szCurrentItems[32];
new szItemInfo[256], szRaceInfo[256];
new szRaceName[64], szShortRaceName[32], szItemName[32];
// Get the race names
lang_GetRaceName( p_data[id[P_RACE], id, szRaceName, 63 );
lang_GetRaceName( p_data[id][P_RACE], id, szShortRaceName, 31, true );
// This information is displayed differently for CS/CZ
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{
// No race selected
if ( !p_data[id][P_RACE] )
{
pos += formatex( szRaceInfo[pos], 255, "%s ", szRaceName );
}
// User has a race
else
{
// User is level 0
if ( p_data[id][P_LEVEL] == 0 )
{
pos += formatex( szRaceInfo[pos], 255, "%s XP: %d/%d ", szRaceName, p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
formatex( szXPInfo, 31, "XP: %d/%d", p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
}
//
// User is under level MAX_LEVELS
else if ( p_data[id][P_LEVEL] < MAX_LEVELS )
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d XP: %d/%d ", szShortRaceName, LANG_PLAYER, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1) );
formatex( szXPInfo, 31, "%L: %d XP: %d/%d", LANG_PLAYER, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], XP_GetByLevel( p_data[id][P_LEVEL]+1 ) );
}
// User is level MAX_LEVELS
else
{
pos += formatex( szRaceInfo[pos], 255, "%s %L: %d XP: %d ", szShortRaceName, LANG_PLAYER, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
formatex( szXPInfo, 31, "%L: %d XP: %d", LANG_PLAYER, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
}
}
}
// Reset our position since we're using a new array
pos = 0;
// User has one item
if ( g_iShopMenuItems[id][ITEM_SLOT_ONE] > ITEM_NONE )
{
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_ONE], szItemName, 31 )
formatex(szCurrentItems, 31, "%L:",LANG_PLAYER,"WC3_CURRENT_ITEM");
pos += formatex( szItemInfo[pos], 256-pos, "%s", szItemName );
}
// User has another item
if ( g_iShopMenuItems[id][ITEM_SLOT_TWO] > ITEM_NONE )
{
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_TWO], szItemName, 31 )
// Then the string isn't empty and we have information in it (so we have a first item)
if ( szItemInfo[0] )
{
formatex(szCurrentItems, 31, "%L:",LANG_PLAYER,"WC3_CURRENT_ITEMS" );
pos += formatex( szItemInfo[pos], 256-pos, " %L %s", LANG_PLAYER, "WORD_AND", szItemName );
}
// We don't need the word "and"
else
{
pos += formatex( szItemInfo[pos], 256-pos, "%s", szItemName );
}
}
if ( g_iShopMenuItems[id][ITEM_SLOT_THREE] > ITEM_NONE )
{
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_THREE], szItemName, 31 )
// Then the string isn't empty and we have information in it (so we have a first and a second item)
if ( szItemInfo[0] )
{
formatex(szCurrentItems, 31, "%L:",LANG_PLAYER,"WC3_CURRENT_ITEMS" );
pos += formatex( szItemInfo[pos], 256-pos, " %L %s", LANG_PLAYER, "WORD_AND", szItemName );
}
// We don't need the word "and"
else
{
pos += formatex( szItemInfo[pos], 256-pos, "%s", szItemName );
}
}
new szRaceItemInfo[256];
//CSSB
// Put the final string together
formatex( szString, 255, "%s%s", szRaceInfo, szItemInfo );
formatex( szRaceItemInfo, 255, "%s^n%s %s", szRaceInfo,szCurrentItems, szItemInfo);
if ( SHARED_IsOnTeam( id ) )
{
// Display the item + race info with a hudmessage
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{
if ( is_user_alive( id ) )
{
set_hudmessage( 0, 255, 0, 0.012, 0.92, HUDMESSAGE_FX_FADEIN, 10.0, 540.0, 2.0, 3.0, HUD_XP );
show_hudmessage(id, szRaceItemInfo);
// set_dhudmessage( 0, 255, 0, 0.012, 0.82, HUDMESSAGE_FX_FADEIN, 10.0, 540.0, 2.0, 3.0, HUD_XP );
// show_dhudmessage(id,"%s", szRaceItemInfo);
/*
new szNameLang[28];
if (vaultdata_exists("server_language"))
{
get_vaultdata("server_language", szNameLang, 27);
}
else
{
copy(szNameLang, 27, "en")
//set_vaultdata("server_language", szNameLang);
}
if( equali(szNameLang,"ru") )
{
set_hudmessage( 0, 255, 0, 0.012, 0.92, HUDMESSAGE_FX_FADEIN, 10.0, 540.0, 2.0, 3.0, HUD_XP );
show_hudmessage(id, szRaceItemInfo);
}
else
{
Create_StatusText( id, 0, szString );
}
*/
}
else
{
set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );
show_hudmessage( id, "%s", szXPInfo );
}
}
}
return;
}
17. Намирате
Код за потвърждение: Избери целия код
#define MAX_PLAYER_ITEMS 2
Код за потвърждение: Избери целия код
#define MAX_PLAYER_ITEMS 3
20. Намирате
Код за потвърждение: Избери целия код
g_iShopMenuItems[id][ITEM_SLOT_TWO] = ITEM_NONE;
Код за потвърждение: Избери целия код
g_iShopMenuItems[id][ITEM_SLOT_THREE] = ITEM_NONE;