Oko /rrb

Započeo Agent 47, Septembar 16, 2018, 13:19:06 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Problem(error/warning): Napravio sam komandu /rb za postavljanje blokade i sad zelim da napravim /rrb da unistim tu postsavljenu blokadu ali ne znam kako u skripti da napravim da se ona unisti~
Dio skripte://
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: Septembar 21, 2018, 18:22:08 POSLE PODNE od Bašovski
Es ist nicht alles Gold, was glänzt

Izvadio sam iz ATH moda opet baca erre
[pawn]stock DeleteClosestRoadblock( playerid )
{
    for( new i = 0; i < sizeof(Roadblocks); i++)
     {
         if( IsPlayerInRangeOfPoint( playerid, 5.0, Roadblocks[ i ][sX], Roadblocks[ i ][sY], Roadblocks[ i ][sZ ] ) )
        {
             if(Roadblocks[ i ][sCreated] == 1)
            {
                Roadblocks[ i ][sCreated] = 0;
                Roadblocks[ i ][sX] = 0.0;
                Roadblocks[ i ][sY] = 0.0;
                Roadblocks[ i ][sZ] = 0.0;
                Roadblocks[ i ][ sSpike ] = false;
                DestroyDynamicObject(Roadblocks[ i ][sObject] );
                return 1;
             }
         }
     }
     return 1;
}[/pawn]
https://imgur.com/a/k7ajlqb
Es ist nicht alles Gold, was glänzt

O bože.Pa ne možeÅ¡ samo funkciju prebaciti iz drugog moda i očekivati da ona magično radi i na tvom modu  :'(

Ja koliko vidim iz tvoje komande(iz prethodne teme) ti uopće ne čuvaš nigdje ID objekta.Kako ga onda planiraš uništavati...Moraš sačuvati negdje ID kreiranog objekta kako bi ga kasnije mogao uništiti.

Citat: Paul Castellano poslato Septembar 16, 2018, 19:08:35 POSLE PODNE
O bože.Pa ne možeÅ¡ samo funkciju prebaciti iz drugog moda i očekivati da ona magično radi i na tvom modu  :'(

Ja koliko vidim iz tvoje komande(iz prethodne teme) ti uopće ne čuvaš nigdje ID objekta.Kako ga onda planiraš uništavati...Moraš sačuvati negdje ID kreiranog objekta kako bi ga kasnije mogao uništiti.

Evo zuzeo sam iz up moda i kad ukucam /unistiprepreku 1 prepreka i dalje stoji.
Evo slika za rrb komandu
[pawn]CMD:rrb(playerid, params[])
{
    if(!IsACop(playerid)) SCM(playerid,-1,"{07C1F5}{FFFFFF} Niste clan Policije");
   new id;
   if(sscanf(params, "i", id)) return SCM(playerid,GRAD2,"KORISTITE: /rrb (1-4)");
   if(id == 1)
   {
      if(Prepreka1Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka1[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka1Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   else if(id == 2)
   {
      if(Prepreka2Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka2[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka2Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   else if(id == 3)
   {
      if(Prepreka3Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka3[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka3Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   return 1;
}[/pawn]

Es ist nicht alles Gold, was glänzt

Probaj sa ovim:


pastebin: https://pastebin.com/mhnrcVx3

[pawn]enum preprekaInfo
{
   Float:PreprekaX,
   Float:PreprekaY,
   Float:PreprekaZ,
   PreprekaId,
};
new PreprekaInfo[MAX_PLAYERS][preprekaInfo];[/pawn]

Pod public OnPlayerConnect

PreprekaInfo[playerid][PreprekaX] = 0.0;
PreprekaInfo[playerid][PreprekaY] = 0.0;
PreprekaInfo[playerid][PreprekaZ] = 0.0;
PreprekaInfo[playerid][PreprekaId]= -1;//prepreka nije kreirana


Pod public OnPlayerDisconnect

[pawn]if(PreprekaInfo[playerid][PreprekaId]!=-1)
{
   DestroyDynamicObject(PreprekaInfo[playerid][PreprekaId]); // unistava prepreku ako igrac napusti server
}[/pawn]

Komande ZCMD+sscanf

[pawn]COMMAND:makniprepreku(playerid, params[])
{
   if(IsACop(playerid))
   {
      if(PreprekaInfo[playerid][PreprekaId] == -1)
      {
         SendClientMessage(playerid, -1,"Nemas napravljenu prepreku!");
         return 1;
      }
      if(!IsPlayerInRangeOfPoint(playerid, 7.0, PreprekaInfo[playerid][PreprekaX], PreprekaInfo[playerid][PreprekaY], PreprekaInfo[playerid][PreprekaZ]))
      {
         SendClientMessage(playerid, -1, "Predaleko si od prepreke!");
         return 1;
      }
      PreprekaInfo[playerid][PreprekaX]=0.0;
      PreprekaInfo[playerid][PreprekaY]=0.0;
      PreprekaInfo[playerid][PreprekaZ]=0.0;
      DestroyDynamicObject(PreprekaInfo[playerid][PreprekaId]);
      PreprekaInfo[playerid][PreprekaId]=-1;
      SendClientMessage(playerid, -1,"Maknuli ste prepreku.");
   }
   else return SendClientMessage(playerid,-1,"Niste clan Policije");
   return 1;
}

COMMAND:prepreka(playerid, params[])
{
   if(IsACop(playerid))
   {
      new vrsta;
      if (sscanf(params, "d", vrsta)) SendClientMessage(playerid, -1,"/prepreka [1-Mala, 2-Srednja, 3-Velika, 4-Cunj]");
      else if(vrsta < 1 || vrsta > 4) SendClientMessage(playerid, -1, "Pogresan odabir(1-4).");
      else
      {
         if(IsPlayerInAnyVehicle(playerid))
         {
            SendClientMessage(playerid,-1,"Ne smijes biti u vozilu!");
            return 1;
         }
         if(PreprekaInfo[playerid][PreprekaId] != -1)
         {
            SendClientMessage(playerid,-1,"Vec imas postavljenu prepreku!");
            return 1;
         }
         new Float:pozx,Float:pozy,Float:pozz,Float:poza;
         GetPlayerPos(playerid, pozx, pozy, pozz); GetPlayerFacingAngle(playerid,poza);
         PreprekaInfo[playerid][PreprekaX]=pozx; PreprekaInfo[playerid][PreprekaY]=pozy; PreprekaInfo[playerid][PreprekaZ]=pozz;
         if(vrsta==1)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1459, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Mala prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==2)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(978, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Srednja prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==3)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(981, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Velika prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==4)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1238, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Cunj ~b~postavljen!",1500,1);
         }
      }
   }
   else return SendClientMessage(playerid,-1,"Niste clan Policije");
   return 1;
}[/pawn]

Citat: Moren0 poslato Septembar 16, 2018, 20:10:39 POSLE PODNE
Evo zuzeo sam iz up moda i kad ukucam /unistiprepreku 1 prepreka i dalje stoji.
Evo slika za rrb komandu
[pawn]CMD:rrb(playerid, params[])
{
    if(!IsACop(playerid)) SCM(playerid,-1,"{07C1F5}{FFFFFF} Niste clan Policije");
   new id;
   if(sscanf(params, "i", id)) return SCM(playerid,GRAD2,"KORISTITE: /rrb (1-4)");
   if(id == 1)
   {
      if(Prepreka1Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka1[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka1Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   else if(id == 2)
   {
      if(Prepreka2Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka2[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka2Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   else if(id == 3)
   {
      if(Prepreka3Kreirana[playerid] == true)
      {
         DestroyDynamicObject(Prepreka3[playerid]);
         SCM(playerid,GRAD2,"Unistili ste prepreku.");
         Prepreka3Kreirana[playerid] = false;
      }
      else return SendClientMessage(playerid,GRAD2,"Ta prepreka nije kreirana");
   }
   return 1;
}[/pawn]


Kako si napravio /rb komandu?
Jesi napravio
Prepreka1[playerid] = CreateDynamicObject(.. ?

Citat: Paul Castellano poslato Septembar 16, 2018, 23:19:38 POSLE PODNE
Kako si napravio /rb komandu?
Jesi napravio
Prepreka1[playerid] = CreateDynamicObject(.. ?

@Paul Castellano  DA
Es ist nicht alles Gold, was glänzt

Citat: [R] buLLeT_ poslato Septembar 16, 2018, 20:53:36 POSLE PODNE
Probaj sa ovim:


pastebin: https://pastebin.com/mhnrcVx3

[pawn]enum preprekaInfo
{
   Float:PreprekaX,
   Float:PreprekaY,
   Float:PreprekaZ,
   PreprekaId,
};
new PreprekaInfo[MAX_PLAYERS][preprekaInfo];[/pawn]

Pod public OnPlayerConnect

PreprekaInfo[playerid][PreprekaX] = 0.0;
PreprekaInfo[playerid][PreprekaY] = 0.0;
PreprekaInfo[playerid][PreprekaZ] = 0.0;
PreprekaInfo[playerid][PreprekaId]= -1;//prepreka nije kreirana


Pod public OnPlayerDisconnect

[pawn]if(PreprekaInfo[playerid][PreprekaId]!=-1)
{
   DestroyDynamicObject(PreprekaInfo[playerid][PreprekaId]); // unistava prepreku ako igrac napusti server
}[/pawn]

Komande ZCMD+sscanf

[pawn]COMMAND:makniprepreku(playerid, params[])
{
   if(IsACop(playerid))
   {
      if(PreprekaInfo[playerid][PreprekaId] == -1)
      {
         SendClientMessage(playerid, -1,"Nemas napravljenu prepreku!");
         return 1;
      }
      if(!IsPlayerInRangeOfPoint(playerid, 7.0, PreprekaInfo[playerid][PreprekaX], PreprekaInfo[playerid][PreprekaY], PreprekaInfo[playerid][PreprekaZ]))
      {
         SendClientMessage(playerid, -1, "Predaleko si od prepreke!");
         return 1;
      }
      PreprekaInfo[playerid][PreprekaX]=0.0;
      PreprekaInfo[playerid][PreprekaY]=0.0;
      PreprekaInfo[playerid][PreprekaZ]=0.0;
      DestroyDynamicObject(PreprekaInfo[playerid][PreprekaId]);
      PreprekaInfo[playerid][PreprekaId]=-1;
      SendClientMessage(playerid, -1,"Maknuli ste prepreku.");
   }
   else return SendClientMessage(playerid,-1,"Niste clan Policije");
   return 1;
}

COMMAND:prepreka(playerid, params[])
{
   if(IsACop(playerid))
   {
      new vrsta;
      if (sscanf(params, "d", vrsta)) SendClientMessage(playerid, -1,"/prepreka [1-Mala, 2-Srednja, 3-Velika, 4-Cunj]");
      else if(vrsta < 1 || vrsta > 4) SendClientMessage(playerid, -1, "Pogresan odabir(1-4).");
      else
      {
         if(IsPlayerInAnyVehicle(playerid))
         {
            SendClientMessage(playerid,-1,"Ne smijes biti u vozilu!");
            return 1;
         }
         if(PreprekaInfo[playerid][PreprekaId] != -1)
         {
            SendClientMessage(playerid,-1,"Vec imas postavljenu prepreku!");
            return 1;
         }
         new Float:pozx,Float:pozy,Float:pozz,Float:poza;
         GetPlayerPos(playerid, pozx, pozy, pozz); GetPlayerFacingAngle(playerid,poza);
         PreprekaInfo[playerid][PreprekaX]=pozx; PreprekaInfo[playerid][PreprekaY]=pozy; PreprekaInfo[playerid][PreprekaZ]=pozz;
         if(vrsta==1)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1459, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Mala prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==2)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(978, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Srednja prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==3)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(981, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Velika prepreka ~b~postavljena!",1500,1);
         }
         else if(vrsta==4)
         {
            PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1238, pozx,pozy,pozz-0.7, 0, 0, poza);
            GameTextForPlayer( playerid,"~w~Cunj ~b~postavljen!",1500,1);
         }
      }
   }
   else return SendClientMessage(playerid,-1,"Niste clan Policije");
   return 1;
}[/pawn]

@[R] buLLeT_ brate radi sve nego mozes da mi dodas tu u komandi da mogu koliko hocu prepreka da postavim da ne moram samo 1
Es ist nicht alles Gold, was glänzt

BUMP
Es ist nicht alles Gold, was glänzt

Moraju postojati odredjeni idovi objekata koji PD moze da stvara. Mozes PD-u zadati jedan dialog na kome ce pitati koji id objekta zeli da stvori.naravno ne samo id objekta kao objekta nego i id sortiranog.Kako bi brisao blokade mora prvo uneti id sortiranog objekta da bi obrisao istu.

Citat: Djeric Script poslato Septembar 19, 2018, 21:36:41 POSLE PODNE
Moraju postojati odredjeni idovi objekata koji PD moze da stvara. Mozes PD-u zadati jedan dialog na kome ce pitati koji id objekta zeli da stvori.naravno ne samo id objekta kao objekta nego i id sortiranog.Kako bi brisao blokade mora prvo uneti id sortiranog objekta da bi obrisao istu.

Razumem te ali mozes li pomoci oko toga
Es ist nicht alles Gold, was glänzt

Kako su ti definisani objekti za rb, daj mi sve vezano za /rb

Citat: Djeric Script poslato Septembar 20, 2018, 21:08:07 POSLE PODNE
Kako su ti definisani objekti za rb, daj mi sve vezano za /rb

@Djeric Script
[pawn]CMD:rb(playerid, params[])
{
if(IsACop(playerid))
{
new vrsta;
new altstring[128];
if (sscanf(params, "d", vrsta)) SendClientMessage(playerid, -1,"/prepreka [1-Mala, 2-Srednja, 3-Velika, 4-Cunj]");
else if(vrsta < 1 || vrsta > 4) SendClientMessage(playerid, -1, "Pogresan odabir(1-4).");
else
{
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid,-1,"Ne smes biti u vozilu!");
return 1;
}
new Float:pozx,Float:pozy,Float:pozz,Float:poza;
GetPlayerPos(playerid, pozx, pozy, pozz); GetPlayerFacingAngle(playerid,poza);
PreprekaInfo[playerid][PreprekaX]=pozx; PreprekaInfo[playerid][PreprekaY]=pozy; PreprekaInfo[playerid][PreprekaZ]=pozz;
if(vrsta==1)
{
PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1459, pozx,pozy,pozz-0.7, 0, 0, poza);
GameTextForPlayer( playerid,"~w~Mala prepreka ~b~postavljena!",1500,1);
format(altstring,sizeof(altstring),"~r~ (AC) - ~w~ Policajac %s je postavio malo prepreku",GetName(playerid));
DodajWarnRed(altstring);
}
else if(vrsta==2)
{
PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(978, pozx,pozy,pozz-0.7, 0, 0, poza);
GameTextForPlayer( playerid,"~w~Srednja prepreka ~b~postavljena!",1500,1);
format(altstring,sizeof(altstring),"~r~ (AC) - ~w~ Policajac %s je postavio srednju prepreku",GetName(playerid));
DodajWarnRed(altstring);
}
else if(vrsta==3)
{
PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(981, pozx,pozy,pozz-0.7, 0, 0, poza);
GameTextForPlayer( playerid,"~w~Velika prepreka ~b~postavljena!",1500,1);
format(altstring,sizeof(altstring),"~r~ (AC) - ~w~ Policajac %s je postavio veliku prepreku",GetName(playerid));
DodajWarnRed(altstring);
}
else if(vrsta==4)
{
PreprekaInfo[playerid][PreprekaId] = CreateDynamicObject(1238, pozx,pozy,pozz-0.7, 0, 0, poza);
GameTextForPlayer( playerid,"~w~Cunj ~b~postavljen!",1500,1);
format(altstring,sizeof(altstring),"~r~ (AC) - ~w~ Policajac %s je postavio cunj",GetName(playerid));
DodajWarnRed(altstring);
}
}
}
else return SendClientMessage(playerid,-1,"Niste clan Policije");
return 1;
}[/pawn]
Es ist nicht alles Gold, was glänzt