KEY

Započeo desibro, Februar 20, 2023, 22:46:15 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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): /

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 :)

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

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

Radi hvala a sad je vreme da napravim trilion stvari sa dinamitom ;D