Oko nastavljanja

Započeo .Drakula.
28. Okt. 2018.
499
pregleda
7
postova
Dragan_Milosavljevic
4
Shot Caller
28. Okt. 2018.
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): //
Shomy Script
6
Godfather
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 🙂
Rax_King
5
Godfather
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
Dragan_Milosavljevic
4
Shot Caller
28. Okt. 2018.
Ja sam odradio nekako ovako samo da bi testao ali pojma nemam, nikada nisam radio ovako nesto.

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.?
Dragan_Milosavljevic
4
Shot Caller
31. Okt. 2018.
Refresh
Ima li neko ideju ili neki primer da vidim kako i sta.?
Danisoni
5
Godfather
2. Nov. 2018.
Kad igrač kreće kreirat kuću, jednostavno mu na početku odma uzmi slobodan ID kuće po idućem:
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.");
Dragan_Milosavljevic
4
Shot Caller
2. Nov. 2018.
To bre.
Hvala 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha