Otóż jestem w trakcie pisania sklepu no i natrafiłem na kilka problemów z którymi nie moge sobie poradzić.
Oto Sma PLUGINU:
#include <amxmodx>
#include <amxmisc>
#include <Cstrike>
#include <fun>
#include <colorchat>
#include <fakemeta_util>
#define PLUGIN "Dilerzy"
#define VERSION "1.0"
#define AUTHOR "Auriss"
#define HP_MAX 150
#define HP_ADD 10
new name [32]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /sklep", "sklep")
register_logevent( "RoundEnd", 2, "1=Round_End" );
}
public sklep(id)
{
if (is_user_alive(id))
{
new sklep = menu_create("\rDealerzy:", "wybieranie")
menu_additem(sklep, "\yMarihuana\r (1000$)", "1", 0)
menu_additem(sklep, "\yAmfetamina\r", "2", 0)
menu_additem(sklep, "\yEctasy", "3", 0)
menu_additem(sklep, "\yKokaina", "4", 0)
menu_additem(sklep, "\yHeroina", "5", 0)
menu_setprop(sklep, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sklep, 0)
}
else
{
client_print(id, print_chat, "Takie Zabawy to tylko dla zywych...")
}
}
public wybieranie(id, sklep, item)
{
if (item == MENU_EXIT)
{
menu_destroy(sklep)
client_print(id, print_chat,"Slabiutko... Nie Lubie nie zdecydowanych!") // ZAMKNIECIE SKLEPU
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(sklep, item, acces, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:{
static ile=0
ile++
if(cs_get_user_money(id)<1000)
{
client_print(id, print_chat, "Nie stac cie gownie, wiec nie zawracaj mi d*py!")
return PLUGIN_HANDLED
}
else if(ile > 3)
{
cs_set_user_money(id , cs_get_user_money(id)-1000, 1) //gracz placi 1000$
get_user_name(id, name, 31)
ColorChat(id, GREEN, "%s ^x03To pajac i przesadzil z ^x02prochami...^x03 IDIOTA!", name)
// TUTAJ BEDZIE CO SIE DZIEJE JAK PRZESADZISZ!!!!!!
}
else if(ile > 1, ile < 3)
{
cs_set_user_money(id , cs_get_user_money(id)-1000, 1) //gracz placi 1000$
set_task(10.0, "leczenie", _, _, _, "1");
menu_destroy(sklep)
client_print(id, print_chat, "Milo sie robi z toba Interesy, tylko Uwazaj. Co za duzo to nie zdrowo")
}
else if(ile > 2, ile < 4)
{
cs_set_user_money(id , cs_get_user_money(id)-1000, 1) //gracz placi 1000$
set_task(5.0, "leczenie", _, _, _, "b");
menu_destroy(sklep)
client_print(id, print_chat, "Milo sie robi z toba Interesy, tylko Uwazaj Bo Zaraz Sie Zjarasz na Maxa...")
}
else
{
cs_set_user_money(id , cs_get_user_money(id)-1000, 1) //gracz placi 1000$
set_task(15.0, "leczenie", _, _, _, "b");
menu_destroy(sklep)
client_print(id, print_chat, "Milo sie robi z toba Interesy! Zapraszam nastepnym razem po wiecej")
}
}
case 2:
{
}
case 3:
{
}
case 4:
{
client_cmd(id,"fixer")
menu_destroy(sklep)
return PLUGIN_HANDLED
}
}
menu_destroy(sklep)
return PLUGIN_HANDLED
}
public leczenie(id)
{
if(is_user_connected(id) && is_user_alive(id) && get_user_health(id) < HP_MAX)
{
fm_set_user_health(id, get_user_health(id) +HP_ADD);
client_print(id, print_chat, "////////////////////////");
client_print(id, print_chat, "ZACIAGASZ SIE@@@@@@@@");
client_print(id, print_chat, "////////////////////////");
}
}
public RoundEnd(id) /// TUTAJ WRZUCAC WSZYSTKIE TASKI I KONCZACE SIE PRZYWILEJE NA ZAKONCZENIE RUNDY!!!!!!!!!!!!
{
remove_task(1, 1)
}
A oto moje problemy:
1.Chciałem aby kiedy wybierze się Marihuane to do zmiennej ile dodawane było 1. Jeżeli ile miało 1 to była wywoływany inny warunek niż jak 2.( chyba widać to w sma) Niestety jakoś dziwnie mi to wyszło i chyba nie do końca działa to po mojej myśli. Może da się to jakoś uprościć bo jest strasznie Namieszane
2. Nie wiem czemu kiedy kupi się ten Przedmiot to plugin zabiera pieniądze, daje info w say'u, ale nie wywołuje taska z leczeniem... Może coś pokręciłem, prosił bym o poprawienie błędu.
3. Chce aby na koniec rundy efekt prochów się kończył a zmienna ile powracała do pierwotnej wartości = 0. Na samym dole pluginu dodałem :
public RoundEnd(id) /// TUTAJ WRZUCAC WSZYSTKIE TASKI I KONCZACE SIE PRZYWILEJE NA ZAKONCZENIE RUNDY!!!!!!!!!!!!
{
remove_task(1, 1)
}
Ale nie jestem pewien czy to zadziała bo nie miałem jak sprawdzić( problem 2 - task w ogóle mi się nie wywołuje), a także nie mam pojęcia jak zmienić wartość zmiennej ile na początkową.
4. Jeżeli widzicie jakieś inne błędy to proszę o wskazanie.
Proszę o pomoc. Oczywiście daję ++ oraz ofiaruję moją dozgonną wdzięczność