Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: desibro poslato Februar 20, 2023, 22:46:15 POSLE PODNE

Naslov: KEY
Poruka od: desibro poslato Februar 20, 2023, 22:46:15 POSLE PODNE
Problem(error/warning): Ne zeli da postavi dinamit kada kliknem dugme Y . Poslao sam pocetak koda da vidite sve lepo i gde se nalazi to za dinamit.
Deo skripte: if(scriptdebug == 1) printf("[#DEBUG] OnPlayerKeyStateChange 5 - ID IGRACA: %d", playerid);
if(PRESSED(KEY_YES))
{
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
        new engine, lights, alarm, doors, bonnet, boot, objective;
            GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
            if(lights == 0)
            {
            SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, 1, alarm, doors, bonnet, boot, objective);
            }
            if(lights == 1)
            {
            SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, 0, alarm, doors, bonnet, boot, objective);
            }
        }
      if(PI[playerid][pDinamit] == 0)
        {
if(LSVrataBankaSrusen == 1)
            {
if(!IsPlayerInRangeOfPoint(playerid,3, 2300.55786, -569.16138, 95.24110))
                {
PI[playerid][pDinamit] -= 1;
DinamitObjekt = CreateDynamicObject(1654, 2300.5579, -569.1614, 95.2411,   0.00000, 0.00000, -90.00000);
SetTimer("PukoDinamit3", Sec(10), 0);
return true;
                }
                return 1;
            }
            return 1;
        }

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): /
Slika/video ingame problema(obavezno ako je ingame problem): /
Naslov: Odg: KEY
Poruka od: monsterking poslato Februar 21, 2023, 01:01:18 PRE PODNE
if(PI[playerid][pDinamit] == 0)
if(LSVrataBankaSrusen == 1)
if(!IsPlayerInRangeOfPoint(playerid,3, 2300.55786, -569.16138, 95.24110))
U prevodu možeš da postaviš dinamit sve dok NEMAŠ dinamit, kad su vrata već srušena i ako si bilo gdje osim 3 metra u blizini tih koordinata...
Ne znam tačno šta pokušavaš ali pretpostavljam da želiš kontra uslove da postaviš. I ako smijem da predložim da ubuduće koristiš debug poruke da znaš kad ti se koji dio koda izvrši.

[pawn]if(PI[playerid][pDinamit] > 0 && LSVrataBankaSrusen == 0 && IsPlayerInRangeOfPoint(playerid, 3.0, 2300.55786, -569.16138, 95.24110))
{
    PI[playerid][pDinamit] -= 1;
    DinamitObjekt = CreateDynamicObject(1654, 2300.5579, -569.1614, 95.2411,   0.00000, 0.00000, -90.00000);
    SetTimer("PukoDinamit3", Sec(10), false);
    return 1;
}[/pawn]
Neka me ispravi neko ako sam te pogrešno razumio :)
Naslov: Odg: KEY
Poruka od: Tebrix poslato Februar 21, 2023, 09:29:52 PRE PODNE
Citat: monsterking poslato Februar 21, 2023, 01:01:18 PRE PODNE
if(PI[playerid][pDinamit] == 0)
if(LSVrataBankaSrusen == 1)
if(!IsPlayerInRangeOfPoint(playerid,3, 2300.55786, -569.16138, 95.24110))
U prevodu možeš da postaviš dinamit sve dok NEMAŠ dinamit, kad su vrata već srušena i ako si bilo gdje osim 3 metra u blizini tih koordinata...
Ne znam tačno šta pokušavaš ali pretpostavljam da želiš kontra uslove da postaviš. I ako smijem da predložim da ubuduće koristiš debug poruke da znaš kad ti se koji dio koda izvrši.

[pawn]if(PI[playerid][pDinamit] > 0 && LSVrataBankaSrusen == 0 && IsPlayerInRangeOfPoint(playerid, 3.0, 2300.55786, -569.16138, 95.24110))
{
    PI[playerid][pDinamit] -= 1;
    DinamitObjekt = CreateDynamicObject(1654, 2300.5579, -569.1614, 95.2411,   0.00000, 0.00000, -90.00000);
    SetTimer("PukoDinamit3", Sec(10), false);
    return 1;
}[/pawn]
Neka me ispravi neko ako sam te pogrešno razumio :)

momak ti je objasnio
Naslov: Odg: KEY
Poruka od: bepo poslato Februar 21, 2023, 09:38:11 PRE PODNE
Sve si obrnuo od uvjeta. Samo sve sto je 0 stavi 1 i tako dalje. Moja preporuka je da uvjete pises pod 1 if-om. Bar je meni tako lakse i preglednije u nekim situacijama
Naslov: Odg: KEY
Poruka od: desibro poslato Februar 21, 2023, 19:33:49 POSLE PODNE
Radi hvala a sad je vreme da napravim trilion stvari sa dinamitom ;D