Tworzenie czegoś na odosobnioną walutę
Robiin
19.04.2016
Cześć,
chciałem zrobić sklepik, za inną walutę, niż $/JBpacki itp. nie do końca wiem jak się za to zabrać, bo na początku miałem na myśli użycie monet z cod moda, ale nie wiem czy to wypali.
Dla przykładu (żebym łatwiej zrozumiał, i miał wzór)
Tak na szybko napisane, nawet nie patrze czy działa, załóżmy że waluta jest wykorzystana przez codmoda, czyli monety. chciałbym aby waluta nosiła nazwę kasa_poprawna, ale to już zmienię sam, jeżeli będzie trzeba
Prosiłbym tylko o przykładzik
Aha, no i oczywiście jakieś wytłumaczenie, co do zarabiania kasy, a dokładniej za fragi
Użytkownik asik edytował ten post 19.04.2016 01:09
rzeznik9871
19.04.2016
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> new kasa_poprawna[33] public plugin_init() { register_plugin("sklep", "0.8", "aS"); register_clcmd("say /sklepik", "ShowMenu", _, "sklep"); register_event("DeathMsg", "DeathMsg", "a") } public ShowMenu(id, lvl, cid) { if(!cmd_access(id, lvl, cid, 0)) return PLUGIN_HANDLED; new menu = menu_create("sklepik", "menu_poprawne"); menu_additem(menu, "+10 hp", "", 0); // case 0 menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_BACKNAME, "\r[\wWroc\r]"); menu_setprop(menu, MPROP_NEXTNAME, "\r[\wDalej\r]"); menu_setprop(menu, MPROP_EXITNAME, "\r[\wWyjdz\r]"); menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public menu_poprawne(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { if(get_user_kasa_poprawna(id)>=1000) { set_user_health(id, get_user_health(id)+10) new name[33]; get_user_name(id, name, 32) new hp = get_user_health(id) set_user_kasa_poprawna(id,get_user_kasa_poprawna(id)-1000) ColorChat(id, GREEN,"%s,^x01 Twoje HP zostalo zwiekszone o 10. Twoje hp po dodaniu, wynosi %i", name, hp) } else { new name[33]; get_user_name(id, name, 32) new hp = get_user_health(id) ColorChat(id, GREEN,"%s,^x01 Nie masz wystarczajaco kasy. Twoje hp to nadal %i", name, hp) } } } menu_display(id, menu, 0); return PLUGIN_HANDLED; } public DeathMsg() { new kid = read_data(1) //zabojca new vid = read_data(2) // ofiara //new hs = read_data(3) // HeadShot (1 == true) new weapon[64] read_data(4,weapon,63) //krotka nazwa broni (bez weapon_ / CSW_ ) if(kid==vid) return PLUGIN_CONTINUE if(kid==0) return PLUGIN_CONTINUE client_print(kid,3,"dostales 10 kasa_poprawna za zabicie przeciwnika") set_user_kasa_poprawna(kid,get_user_kasa_poprawna(kid)+10) return PLUGIN_CONTINUE } public client_disconnect(id) { kasa_poprawna[id]=0 } stock set_user_kasa_poprawna(index,ammount) { kasa_poprawna[index]=ammount } stock get_user_kasa_poprawna(index) { return kasa_poprawna[index] }
dobrze zrozumialem?
Robiin
19.04.2016
Chodziło mi o samą zasadę tworzenia waluty, i przy okazji żeby można było ją zarobić, to trzeba kogoś zabić.
Inną walutę, niż dolary.
rzeznik9871
19.04.2016
no to tak zrobilem ????
masz zmienna globalna
kasa_poprawna[33]
ktora reprezentuje nasza walute
nastepnie tworzysz stocki takie jak nizej
} stock set_user_kasa_poprawna(index,ammount) { kasa_poprawna[index]=ammount } stock get_user_kasa_poprawna(index) { return kasa_poprawna[index] }
raczej rozumiesz jak to dziala ew mozesz robic to bez stockow stosujac kasa_poprawna[id]+=10 (dziala tak samo jak (set_... itp))
rejestrujesz event smierci
register_event("DeathMsg", "DeathMsg", "a")
a w nim dodajesz hajs dla gracza ktory zabil + wyswietlasz mu wiadomosc tak jak nizej...
public DeathMsg() { new kid = read_data(1) //zabojca new vid = read_data(2) // ofiara //new hs = read_data(3) // HeadShot (1 == true) new weapon[64] read_data(4,weapon,63) //krotka nazwa broni (bez weapon_ / CSW_ ) if(kid==vid) return PLUGIN_CONTINUE if(kid==0) return PLUGIN_CONTINUE client_print(kid,3,"dostales 10 kasa_poprawna za zabicie przeciwnika") set_user_kasa_poprawna(kid,get_user_kasa_poprawna(kid)+10) return PLUGIN_CONTINUE }
na koniec
public client_disconnect(id) { kasa_poprawna[id]=0 }
aby ktos kto wejdzie nie mial kasy gracza ktory wyszedl
zrozumiale?
Robiin
19.04.2016
Mogę dodać komendę /kasa, i set_user_kasa_poprawna(id, get_user_kasa_poprawna(id)+10), i zadziała?
rzeznik9871
19.04.2016
Mogę dodać komendę /kasa, i set_user_kasa_poprawna(id, get_user_kasa_poprawna(id)+10), i zadziała?
tak
Robiin
19.04.2016
Mogę dodać komendę /kasa, i set_user_kasa_poprawna(id, get_user_kasa_poprawna(id)+10), i zadziała?
tak
A info o kasie na hudzie? Bo mi nie działa
set_hudmessage(0, 255, 0, -1.0, 0.78, 0, 6.0, 1.0) show_hudmessage(id, "Kasa: %i", get_user_kasa_poprawna(id))
rzeznik9871
19.04.2016
gdzie dokladnie tego huda wyswietlasz tzn w jakiej funkcji bo mi wszystko dziala elegancko