Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Risticc poslato Avgust 01, 2020, 13:24:46 POSLE PODNE

Naslov: Pomoc oko actora
Poruka od: Risticc poslato Avgust 01, 2020, 13:24:46 POSLE PODNE
Problem(error/warning): Jel zna neko da mi pomogne kako da napravim kad igrac ukuca ovu komandu da se pojavi actor na odredjenoj lokaciji i kad stigne na checkpoint da on nestane
Deo skripte:Komanda[pawn]CMD:prevozidrogu(playerid,params[])
{
    if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1486.6311, -1725.8000, 6.7086))
       return GRESKA(playerid, "Niste kod mesta za pokrentanja ovog posla.");
      if( !IsPlayerInAnyVehicle( playerid ) ) return GRESKA( playerid, "Ne mozete pokrenuti ovaj posao u koliko niste u vozilu." );
      if( PrevozDrogeTimer[ playerid ] > 0 ) return GRESKA( playerid, "Morate cekati 30 minuta pre ponovog prevoza droge!");

    SetPlayerCheckpoint(playerid, -176.7016, 358.8314, 12.2813, 5.0);

    PrevozDroge[playerid] = 1;

    Info(playerid, "Pokrenuli ste prevoz paketa brasna,idite do mesta oznaceno na mapi te dajte drogu coveku.");
    PrevozDrogeTimer[ playerid ] = 1800;
    return 1;
}[/pawn]
Deo kada stize na checkpoint
[pawn]    if(PrevozDroge[playerid] == 1)
    if(IsPlayerInRangeOfPoint(playerid,7.0,-176.7016, 358.8314, 12.2813))
    {
    DisablePlayerCheckpoint(playerid);
    PrevozDroge[playerid] = 0;
    DajIgracuNovac( playerid, 20000 );
    Info(playerid, "Dostavili ste paket brasna ,i dobili ste '20.000$'.");
    PostaviWanted( playerid, "Ilegalni prevoz droge", "Nepoznati", 1 );
    }
    }[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Naslov: Odg: Pomoc oko actora
Poruka od: .qua poslato Avgust 01, 2020, 13:28:34 POSLE PODNE
Moras prvo da definises aktore u skripti.
Naslov: Odg: Pomoc oko actora
Poruka od: Risticc poslato Avgust 01, 2020, 13:29:29 POSLE PODNE
Mozes da mi ispises sta trebam sve da napravim kad napravim actora new actor1; i posle stavim sa tim nickom actor izadje mi neki error ako ti nije problem mozes ti da mi ispises?
Naslov: Odg: Pomoc oko actora
Poruka od: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 01, 2020, 13:45:25 POSLE PODNE
[pawn]new jobActor[MAX_PLAYERS]; // Koliko je ovo kancer bez container-a haha

CMD:prevozidrogu(playerid,params[])
{
   if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1486.6311, -1725.8000, 6.7086))
      return GRESKA(playerid, "Niste kod mesta za pokrentanja ovog posla.");

   if( !IsPlayerInAnyVehicle( playerid ) ) return GRESKA( playerid, "Ne mozete pokrenuti ovaj posao u koliko niste u vozilu." );
   if( PrevozDrogeTimer[ playerid ] > 0 ) return GRESKA( playerid, "Morate cekati 30 minuta pre ponovog prevoza droge!");

   SetPlayerCheckpoint(playerid, -176.7016, 358.8314, 12.2813, 5.0);

   if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
   }
   CreateActor(modelid, x, y, z, rotation);

   PrevozDroge[playerid] = 1;

   Info(playerid, "Pokrenuli ste prevoz paketa brasna,idite do mesta oznaceno na mapi te dajte drogu coveku.");
    PrevozDrogeTimer[ playerid ] = 1800; // ovo je retardirano
    return 1;
}

if(PrevozDroge[playerid] == 1)
{
   if(IsPlayerInRangeOfPoint(playerid,7.0,-176.7016, 358.8314, 12.2813))
   {
      DisablePlayerCheckpoint(playerid);
      PrevozDroge[playerid] = 0;
      DajIgracuNovac( playerid, 20000 );
      Info(playerid, "Dostavili ste paket brasna ,i dobili ste `20.000$`.");
      PostaviWanted( playerid, "Ilegalni prevoz droge", "Nepoznati", 1 );
      if(IsValidActor(jobActor[playerid])) {
         DestroyActor(jobActor[playerid]);
         jobActor[playerid] = INVALID_ACTOR_ID;
      }
   }
}[/pawn]
Naslov: Odg: Pomoc oko actora
Poruka od: Risticc poslato Avgust 01, 2020, 14:00:34 POSLE PODNE
Sad kad dodjem na CP ne desi se nista
Naslov: Odg: Pomoc oko actora
Poruka od: trifun poslato Avgust 01, 2020, 14:12:25 POSLE PODNE
Citat: slash dev poslato Avgust 01, 2020, 14:00:34 POSLE PODNE
Sad kad dodjem na CP ne desi se nista
Citat: slash dev poslato Avgust 01, 2020, 14:00:34 POSLE PODNE
Sad kad dodjem na CP ne desi se nista
Mozes da kreiras aktora i posle da mu samo setas poziciju tu i tu i to je to :D
Naslov: Odg: Pomoc oko actora
Poruka od: Slade poslato Avgust 01, 2020, 14:14:31 POSLE PODNE
Citat: slash dev poslato Avgust 01, 2020, 14:00:34 POSLE PODNE
Sad kad dodjem na CP ne desi se nista

Zato što kad ga je kreirao, nije dao vrijednost varijabli, možda je zaboravio:


Ovo:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}
CreateActor(modelid, x, y, z, rotation);[/pawn]

Zamjeni sa:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}
jobActor[playerid] = CreateActor(modelid, x, y, z, rotation);[/pawn]

Također, ovaj kod plasiraj u OnPlayerDeath/Disconnect, kada igrač napusti server, da mu uništi aktora:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}[/pawn]
Naslov: Odg: Pomoc oko actora
Poruka od: Risticc poslato Avgust 01, 2020, 14:25:00 POSLE PODNE
i dalje se nista ne desava
Naslov: Odg: Pomoc oko actora
Poruka od: Slade poslato Avgust 01, 2020, 14:36:58 POSLE PODNE
Crashdetect log ?
Naslov: Odg: Pomoc oko actora
Poruka od: Risticc poslato Avgust 01, 2020, 14:44:29 POSLE PODNE
Oces anydesk?
Naslov: Odg: Pomoc oko actora
Poruka od: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 01, 2020, 15:55:21 POSLE PODNE
Citat: Slade poslato Avgust 01, 2020, 14:14:31 POSLE PODNE
Zato što kad ga je kreirao, nije dao vrijednost varijabli, možda je zaboravio:


Ovo:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}
CreateActor(modelid, x, y, z, rotation);[/pawn]

Zamjeni sa:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}
jobActor[playerid] = CreateActor(modelid, x, y, z, rotation);[/pawn]

Također, ovaj kod plasiraj u OnPlayerDeath/Disconnect, kada igrač napusti server, da mu uništi aktora:
[pawn]if(IsValidActor(jobActor[playerid])) {
      DestroyActor(jobActor[playerid]);
      jobActor[playerid] = INVALID_ACTOR_ID;
}[/pawn]
Dap, slučajno, svakako nema veze sa tim (CP) jer ovako bi CP trebao da radi