Witam, jestem szczęściarzem posiadania licencji sklepu SMS i wszystko działa prawidłowo ( VIP, REZERWACJA NICKU oraz SLOTU) poza jedną usługą, BF2_BADGE.
Jak mam skonfigurować ten plugin tak aby działał mi na serwerze? Dodałem usługę w cenniku jednak na serwerze nie pokazuje mi się pod komendą /sklepsms
Poniżej załączam sma tego pluginu oraz pluginu BF2 z którego korzystam.
Plugin BF2 z sklepsms
#include <amxmodx> #include <shop_sms> native bf2_get_maxbadges(); native bf2_get_badge_name(badge_id, badge_level, name[], len); native bf2_get_user_badge(index, badge_id); native bf2_set_user_badge(index, badge_id, level); new const service_id[MAX_SERVICE_ID + 1] = "bf2_badge"; #define PLUGIN "Sklep-SMS: Usluga BF2 Odznaki" #define AUTHOR "SeeK" #define TASK_MENU1 1000 new stronaP[33], bool:wybranoP[33] new dane[33] public plugin_natives() { set_native_filter("native_filter"); } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public plugin_cfg() { ss_register_service(service_id); } public ss_service_chosen(id, amount) { new menu = menu_create("Wybierz odznake:", "menuHandler") new menu_callback = menu_makecallback("menuCallback"); new nazwa[64] for(new i = 0; i < bf2_get_maxbadges(); ++i) { bf2_get_badge_name(i, amount, nazwa, charsmax(nazwa)) new data[2] data[0] = i+1 data[1] = bf2_get_user_badge(id, i) >= amount ? 0 : 1 menu_additem(menu, nazwa, data, 0, menu_callback) } menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); //Zerujemy wybranoP[id] = false stronaP[id] = 0 // Dane dla taska new data[2] data[0] = id data[1] = menu // Wyswietlamy wyswietlMenu(data) return SS_STOP } public menuCallback(id, menu, item) { new data[3], iName[2]; new zaccess, callback; menu_item_getinfo(menu, item, zaccess, data, charsmax(data), iName, charsmax(iName), callback); return data[1] ? ITEM_ENABLED : ITEM_DISABLED //return ITEM_ENABLED } public wyswietlMenu(data[]) { new id = data[0] if(!is_user_connected(id)) { menu_destroy(data[1]) return } if(!wybranoP[id]) { new menu, newmenu, page player_menu_info(id, menu, newmenu, page) if(newmenu != data[1]) menu_display(id, data[1], stronaP[id]) else stronaP[id] = page set_task(0.1, "wyswietlMenu", TASK_MENU1+id, data, 2) } } public menuHandler(id, menu, item) { if(item == MENU_EXIT) { // Niszczymy menu wybranoP[id] = true menu_destroy(menu) return } if(item >= 0) { // Wybrano odznake wybranoP[id] = true new data[2], iName[2]; new zaccess, callback; menu_item_getinfo(menu, item, zaccess, data, charsmax(data), iName, charsmax(iName), callback); dane[id] = data[0]-1 // Niszczymy menu menu_destroy(menu) ss_show_sms_info(id) } } public ss_service_bought(id, amount) { new badge_id = dane[id]; new badge_level = amount; if( bf2_set_user_badge(id, badge_id, badge_level) == -1 ) return SS_ERROR; new szText[512]; bf2_get_badge_name(badge_id, badge_level, szText, charsmax(szText)); format(szText, charsmax(szText), "<html><body style=^"background-color: #0f0f0f; color: #ccc; font-size: 14px;^"><center><br /><br />\ <h1>Kupiles/as odznake: <span style=^"color: red^">%s</span><br /><br />\ W razie problemow skontaktuj sie z nami.\ </center></body></html>", szText); show_motd(id, szText, "Informacje dotyczace uslugi"); return SS_OK; } public native_filter(const native_name[], index, trap) { if(trap == 0) { register_plugin(PLUGIN, VERSION, AUTHOR); // Rejestrujemy plugin, aby nie bylo na liscie unknown pause_plugin(); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
Mój plugin BF2
#include <amxmodx>