Problem(error/warning): Licni mod, radim sistem kuca, pri kraju sam, trebam spojiti vise dialoga.
Da obijasnim, kada se kreira kuca kreiranje se vrsi iz vise dialoga. Prvi dialog bira se vrsta, drugi bira se interijer, treci se bira cena i level.
Na prvom dialogu sam odradio dodavanje sledece id-a i tako to, i proveru za max_kuca.
Zanima me da li na svakom od dialoga moram to raditi ii ne.?
Do sada nisam radio tako nesto pa bolje da pitam.
Da li je neko radio i ima iskustva sa time.?
Dio skripte: [ pawn ] AKO ZATREBA DACU [ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ] // [ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Oko nastavljanja
499
pregleda
7
postova
28. Okt. 2018.
Nisam bas razumeo pitanje, ali evo ti ovo http://balkan-samp.com/forum/index.php?topic=120935.0 , mozda posluzi, tu imas vise dialoga tako naredjanih pa mozda pomogne 🙂
28. Okt. 2018.
Pa zavisi, licno nikada ne stavljam tako nesto ali moze se desiti (1:1000 sansa xD) ovo:
Imas 2 igraca
Oba kucaju /napravikucu (imas 1 slobodan slot koji se popunjava na krajnjem dialogu).
1. igrac prodje korz sve dialoge i napravi kucu, medjutim 2. igrac isto prodje sve dialoge i jednostavno over-write-a zadnju napravljenu kucu (koju je napravio igrac 1).
Mislim da si ovo mislio pitati, a rjesenje je jednostavno
Tek na kraju uzimaj slobodan id za kucu i na osnovu toga izbacuje error
Imas 2 igraca
Oba kucaju /napravikucu (imas 1 slobodan slot koji se popunjava na krajnjem dialogu).
1. igrac prodje korz sve dialoge i napravi kucu, medjutim 2. igrac isto prodje sve dialoge i jednostavno over-write-a zadnju napravljenu kucu (koju je napravio igrac 1).
Mislim da si ovo mislio pitati, a rjesenje je jednostavno
Tek na kraju uzimaj slobodan id za kucu i na osnovu toga izbacuje error
28. Okt. 2018.
Ja sam odradio nekako ovako samo da bi testao ali pojma nemam, nikada nisam radio ovako nesto.
Kreiranje kuce radi, nepravi kucu i sve ok, ako prekines u pola pravljenja, kuca se ne kreira.
Pitanje kako bi ja mogao da sredim da ovo sve lepo funkcionise.?
else if(dialogid == NAPRAVI_KUCA)
{
if(!response) return 1;
if(response)
{
new kucaid = 0;
for(new b = 0; b < sizeof(HI); b++)
{
if(kucaid == 0)
{
if(HI == 1) { continue; }
else if(HI == 0) { kucaid = b; }
}
}
if(kucaid > MAX_KUCA) return Error(playerid, "Ne mozete napraviti vise kuca.");
new vrsta;
if(sscanf(inputtext, "i", vrsta)) return SPD(playerid, NAPRAVI_KUCA, DSI, ""bd"Admin Menu Kuca:", ""bela"Upisite vrstu:\nVrste: 1.Mala kuca 2.Srednja Kuca 3.Velika kuca 4.Vila", D_POTVRDI, D_ZATVORI);
if(vrsta < 1 || vrsta > 4) return Error(playerid, "Vrsta kuce ne moze biti ispod 1 ili preko 4.");
if(vrsta == 1)
{
HI = 1;
}
else if(vrsta == 2)
{
HI = 2;
}
else if(vrsta == 3)
{
HI = 3;
}
else if(vrsta == 4)
{
HI = 4;
}
SPD(playerid, KUCA_VRSTA, DSTL, ""bd"Admin Menu Kuca:", strall, D_POTVRDI, D_ZATVORI);
}
}
///////////////////////////////////////////////
else if(dialogid == KUCA_VRSTA)
{
if(!response) return 1;
if(response)
{
new kucaid = 0;
for(new b = 0; b < sizeof(HI); b++)
{
if(kucaid == 0)
{
if(HI == 1) { continue; }
else if(HI == 0) { kucaid = b; }
}
}
switch(listitem)
{
case 0:
{
HI = 2308.8710;
HI = -1210.7170;
HI = 1049.0230;
HI = 6;
}
case 1:
{
HI = 2232.8210;
HI = -1110.0180;
HI = 1050.8830;
HI = 5;
}
case 2:
{
HI = 2216.5400;
HI = -1076.2900;
HI = 1050.4840;
HI = 1;
}
case 3:
{
HI = 302.1810;
HI = 300.7229;
HI = 999.2319;
HI = 4;
}
}
SPD(playerid, KUCA_LIC, DSI, ""bd"Admin Menu Kuca:", ""bela"Upisite 'level i cenu':", D_POTVRDI, D_ZATVORI);
}
}
///////////////////////////////////////////////
else if(dialogid == KUCA_LIC)
{
if(!response) return 1;
if(response)
{
new kucaid = 0;
for(new b = 0; b < sizeof(HI); b++)
{
if(kucaid == 0)
{
if(HI == 1) { continue; }
else if(HI == 0) { kucaid = b; }
}
}
new lvl, cena;
if(sscanf(inputtext, "ii", lvl, cena)) return SPD(playerid, KUCA_LIC, DSI, ""bd"Admin Menu Kuca:", ""bela"Upisite 'level i cenu':", D_POTVRDI, D_ZATVORI);
GetPlayerPos(playerid, X, Y, Z);
HI = cena;
HI = lvl;
HI = X;
HI = Y;
HI = Z;
HI = 0;
HI = 1;
HI = kucaid;
HI = 0;
HI = 0;
HI = 0;
HI = 1;
strmid(HI, "Niko", 0, strlen("Niko"), 255);
SacuvajKucu(kucaid);
KucaLabelIPickup(kucaid);
SCMF(playerid, ZELENA, "(info) "bela"Kuca ID:%d je napravljena.", kucaid);
}
}Kreiranje kuce radi, nepravi kucu i sve ok, ako prekines u pola pravljenja, kuca se ne kreira.
Pitanje kako bi ja mogao da sredim da ovo sve lepo funkcionise.?
2. Nov. 2018.
Kad igraÄ kreće kreirat kuću, jednostavno mu na poÄetku odma uzmi slobodan ID kuće po idućem:
Napraviš mu varijablu tipa KreiraKucu, da mu se postavlja na slobodan id i tako stalno uzimas kucaid iz te njegove varijable.
Umjesto sto to stalno koristis, moci ces koristiti:
A kad krene kreirat uzimas jednostavno preko funkcije gore:
SlobodanKucaID() {
new k = -1;
for(new b = 0; b < sizeof(HI); b++)
{
if(HI == 1) { continue; }
else if(HI == 0) { k = b; }
}
return k;
}Napraviš mu varijablu tipa KreiraKucu, da mu se postavlja na slobodan id i tako stalno uzimas kucaid iz te njegove varijable.
Umjesto sto to stalno koristis, moci ces koristiti:
new kucaid = KreiraKucu;A kad krene kreirat uzimas jednostavno preko funkcije gore:
if(SlobodanKucaID() != -1) KreiraKucu = SlobodanKucaID();
else return SendClientMessage(playerid, -1, "Max. kuca je dostignuto na serveru.");Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava