Pa da pocnemo
Prvo trebamo dodati include
Zasto koristimo #include
#include
#include
#include
Zatim potrebne da definiramo dialoge
Mozes li nam reci zasto treba da definiramo dialoge?
Prvo da kazem zasto smo dodali define SHOPMENU SHOPCARS SHOPWEP mi cemo u ovome tutu koristiti 3 dialoga od "DIALOG_STYLE_LIST" jedan dialog nam pokaze sta imamo u ponudi drugi dialog za kupovinu auta a treci za kupovinu oruzija kada bi mi izbacili #define SHOPWEP 2 izbacilo bi nam error zato sto nismo definirali dialog koji smo napravili..Znaci svaki dialog moramo definirati vi mozete staviti neko svoje ime #define DIALOG_STYLE_LIST i da napomenem da imamo 3 vrste dialoga
1. DIALOG_STYLE_LIST
On sluzi kada pravimo radio ili ovako nesto sto mi danas radimo
2. DIALOG_STYLE_MSGBOX
On se koristi prilikom pravila servera otvori onaj prozorcic..
3. DIALOG_STYLE_INPUT
On se obicno koristi prilikom registracije.. da mozete upisati svoju sifru.. i tako
#define SHOPMENU 0
#define SHOPCARS 1
#define SHOPWEP 2Sada krecemo sa pravim radom "OBAVEZNO" Sada ovo je specificnost zcmd komandi oni se ne dodaju ni pod jedan public vi mislite dodace te ovo pod public OnPlayerCommandText pogresno oni se dodaju na kraj moda..
CMD:shop(playerid,params[])
{
ShowPlayerDialog(playerid,SHOPMENU,DIALOG_STYLE_LIST,"Shop Menu","Auta\nOruzija","Nastavi","Odustani");
return 1;
}
Ovo dodajte pod "Public OnDialogResponse" sada objasnimo svaku liniju..
if(dialogid == SHOPMENU) Vidite ovo je ono sto sam vam objasnjavao na pocetku dialog je definisan i ovdje on izrazava svoju funkciju bez ovog SHOPMENU komanda ne bi radila..ShowPlayerDialog(playerid,SHOPWEP,DIALOG_STYLE_LIST,"Lista oruzija","Desert","Odaberi","Odustani");\
return 1;if(dialogid == SHOPMENU) Ovo sam vam objasnio samo ova return 1; funkcija ona znaci da se komanda koju smo napravili ponavlja..
new Float:x,Float:y,Float:z,Float:ang;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,ang);
if(dialogid == SHOPMENU) new Float:x,Float:y,Float:z,Float:ang;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,ang);
ova komanda uzima kordinate igraca.. Zasto smo ovu komandu ubacili? Bez ove komande kada igrac kuca /shop uzme auto odabere kako da server zna gdje da stvori auto ovako fino uzme kordinate igraca koji je kucao shop i tu stavori auto ili oruzije..
{
if(dialogid == SHOPMENU)
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,SHOPCARS,DIALOG_STYLE_LIST,"Lista auta","Infernus\nLandrover","Odaberi","Odustani");
return 1;
}
else if(listitem == 1)
{
ShowPlayerDialog(playerid,SHOPWEP,DIALOG_STYLE_LIST,"Lista oruzija","Desert","Odaberi","Odustani");\
return 1;
}
}
}
else if(dialogid == SHOPCARS)
{
if(response)
{
new Fload:x,Float:y,Float:z,Float:ang;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,ang);
if(listitem == 1)
{
CreateVehicle(411,x,y,z,ang,1,1,-1);
}
else if(listitem == 2)
{
CreateVehicle(400,x,y,z,ang,1,1,-1);
}
else if(dialogid == SHOPWEP)
{
if(response)
{
GivePlayerWeapon(playerid,24,20);
}
}
}
}
return 1;
}
Eto to bi bilo to od mene nadam se da ce nekome pomoci ovo bi bilo za dm servere
OCIJENITE 1/10
