public main_charsi_buy_menu(id)
{
new szInfo[60];
formatex(szInfo, 59, "Arany \d[ \y%d \d]", g_Coins[id][g_CurrentChar[id]])
new menu = menu_create(szInfo , "charsi_buy_menu");
new szTempid[32];
for (new item_id = 0; item_id <= g_charcounter; item_id++)
{
num_to_str(item_id, szTempid, 31);
new szItems[60];
formatex(szItems, 59, "%s \d( \y%d \d)", item_name[item_id], item_data[item_id][CHAR_COST])
menu_additem(menu, szItems, szTempid, 0);
}
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
}
public charsi_buy_menu(id , menu , item)
{
if ( !native_get_p_near_charsi(id) )
return PLUGIN_HANDLED;
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new item_id = str_to_num(data);
if ( !is_user_connected(id) || Get_Player_Items(id) >= MAX_PLAYER_ITEMS )
{
client_printcolor(id, "Elérted a maximális tárgyakat. Nem vásárolhatsz többet!")
return PLUGIN_HANDLED;
}
if ( g_Coins[id][g_CurrentChar[id]] >= item_data[item_id][CHAR_COST] )
{
client_printcolor(id, "/yTárgy /g%s /ymegvéve!", item_name[item_id] );
Set_Player_Coins(id, g_Coins[id][g_CurrentChar[id]] - item_data[item_id][CHAR_COST]);
g_iPlayerItem[id][g_CurrentChar[id]][item_id]++;
if ( item_data[item_id][CHAR_TYPE] == TYPE_BOLTS )
{
g_iPlayerItemBolts[id][g_CurrentChar[id]][item_id] = get_pcvar_num(d2_bolts_value);
}
if ( g_iPlayerItem[id][g_CurrentChar[id]][item_id] <= 1 )
{
g_iPlayerItemWorn[id][g_CurrentChar[id]][item_id] = ITEM_NOT_WORN;
}
g_iPlayerItemRepair[id][g_CurrentChar[id]][item_id] = item_data[item_id][CHAR_DURABILITY];
}
else
{
client_printcolor(id, "/yNincs elég eranyad! Aranyaid száma:/g%d/y, Tárgy ára:/g%d", g_Coins[id][g_CurrentChar[id]], item_data[item_id][CHAR_COST])
}
main_charsi_menu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public main_charsi_sell_menu(id)
{
new szInfo[60];
formatex(szInfo, 59, "Gold \d[ \y%d \d]", g_Coins[id][g_CurrentChar[id]])
new menu = menu_create(szInfo , "charsi_sell_menu");
new szTempid[32];
for (new item_id = 0; item_id <= g_charcounter; item_id++)
{
if ( g_iPlayerItem[id][g_CurrentChar[id]][item_id] > 0 )
{
new szItems[60];
formatex(szItems, 59, "%s \d( \y%d \d) - \r%d", item_name[item_id], item_data[item_id][CHAR_COST] * (g_iPlayerItemRepair[id][g_CurrentChar[id]][item_id] + 1) / (item_data[item_id][CHAR_DURABILITY] + 1) / 2 ,
g_iPlayerItem[id][g_CurrentChar[id]][item_id])
num_to_str(item_id, szTempid, 31);
menu_additem(menu, szItems, szTempid, 0);
}
}
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
}
public charsi_sell_menu(id , menu , item)
{
if ( !native_get_p_near_charsi(id) )
return PLUGIN_HANDLED;
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new item_id = str_to_num(data);
if ( !is_user_connected(id) || Get_Player_Items(id) <= 0 )
{
client_printcolor(id, "Nem tudsz eladni tárgyat, mert nincs tárgyad!")
return PLUGIN_HANDLED;
}
new item_s_cost = item_data[item_id][CHAR_COST] * (g_iPlayerItemRepair[id][g_CurrentChar[id]][item_id] + 1) / (item_data[item_id][CHAR_DURABILITY] + 1) / 2;
if ( g_Coins[id][g_CurrentChar[id]] < MAX_PLAYER_MONEY[g_PlayerLevel[id][g_CurrentChar[id]]] && g_iPlayerItem[id][g_CurrentChar[id]][item_id] > 0 )
{
client_printcolor(id, "/yTárgy /g%s /yeladva!", item_name[item_id])
Set_Player_Coins(id, g_Coins[id][g_CurrentChar[id]] + item_s_cost );
g_iPlayerItem[id][g_CurrentChar[id]][item_id]--;
if ( g_iPlayerItem[id][g_CurrentChar[id]][item_id] < 1 && g_iPlayerItemWorn[id][g_CurrentChar[id]][item_id] )
{
g_iPlayerItemWorn[id][g_CurrentChar[id]][item_id] = ITEM_NOT_WORN;
ExecuteForward( g_iItemTook, g_iReturn, id, item_id);
}
}
main_charsi_menu(id)
menu_destroy(menu);
return PLUGIN_HANDLED;
}