Продажа item'ов
|
|
barkus | Дата: Воскресенье, 29.07.2012, 19:54 | Сообщение # 21 |
- Сообщения: 27
- Награды: 0
- Замечания:
|
KIND, помоги самим составлением меню, помойму я запутался уже.. Добавлено (29.07.2012, 19:54) --------------------------------------------- Получилось, что-то типо такого
Code public Menu(id) { pos += formatex( szMenu[pos], charsmax(szMenu)-pos, "Продажа предметов";
static pos, szMenu[256]; pos = 0;
pos += format( szMenu[pos], charsmax(szMenu)-pos, "\r1. %s^n", szItemName ); pos += format( szMenu[pos], charsmax(szMenu)-pos, "\y2. %s^n", szItemName2 );
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0) }
public menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED }
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Key = str_to_num(s_Data)
switch(i_Key) { case 1: { new szItemName[64]; LANG_GetItemName( g_iShopMenuItems[idUser][ITEM_SLOT_ONE], idUser, szItemName, charsmax(szItemName) ); } case 2: { szItemName2[64]; LANG_GetItemName( g_iShopMenuItems[idUser][ITEM_SLOT_TWO], idUser, szItemName2, charsmax(szItemName2) ); } }
|
|
| |
KinD | Дата: Воскресенье, 29.07.2012, 19:58 | Сообщение # 22 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
Как всегда,все за вас нужно делать. Code new szItemName[64], szItemName2[64]; LANG_GetItemName( g_iShopMenuItems[id][ITEM_SLOT_ONE], id, szItemName, charsmax(szItemName) ); LANG_GetItemName( g_iShopMenuItems[idr][ITEM_SLOT_TWO], idr, szItemName2, charsmax(szItemName2) ); new msg[222] formatex(msg, 255, "Продать предмет") new menu = menu_create(msg,"sellitems_handler") formatex(msg, charsmax(msg), "%s", szItemName) menu_additem(menu, msg, "1") formatex(msg, charsmax(msg), "%s",szItemName2) menu_additem(menu, msg, "2") menu_display(id,menu, 0)
public sellitems_handler( id, menu, item ) { 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 key = str_to_num( data ); switch( key ) { case 1: { ITEM_Remove( id, ITEM_SLOT_ONE ) } case 2: { ITEM_Remove( idUser, ITEM_SLOT_TWO ) } } }
Алгоритм,как получить цену предмета уже написали,узнаешь деньги у игрока(cs_get_user_money) и выдаешь деньги за предмет.
Skype:daywerok
Сообщение отредактировал KinD - Воскресенье, 29.07.2012, 19:59 |
|
| |
barkus | Дата: Воскресенье, 29.07.2012, 20:26 | Сообщение # 23 |
- Сообщения: 27
- Награды: 0
- Замечания:
|
Посмотри первый пост, я уже знал как получить цену, спасибо, буду тестить Добавлено (29.07.2012, 20:26) --------------------------------------------- KIND, почему ты в меню используешь id? если в моде используеться idUser
Сообщение отредактировал barkus - Воскресенье, 29.07.2012, 20:17 |
|
| |
KinD | Дата: Воскресенье, 29.07.2012, 20:31 | Сообщение # 24 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
Приравнять id с idUser пробывал? id - индекс.
Skype:daywerok
|
|
| |
barkus | Дата: Воскресенье, 29.07.2012, 20:35 | Сообщение # 25 |
- Сообщения: 27
- Награды: 0
- Замечания:
|
Уже приравнял. Вот на это ругаеться, хотя тут все правильно.
Code new iMoney = SHARED_GetUserMoney( idUser ) SHARED_SetUserMoney( idUser, iMoney + ( ITEM_COST( idUser, iItem) / 100 * 50 ))
|
|
| |