Bug sa komandom JPACK!

Započeo Luka_Scripting, Maj 19, 2020, 18:41:07 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): imam ig bug da kad stvorim jpack nemogu da ga unistim pa ako neko moze da mi da onaj deo de se unistava jpack istimenoj komande
Dio skripte:
[pawn]CMD:jpack(cmdid, playerid, params[])
{
   #pragma unused params
   if(UlogovanProvera[playerid] == 0) return GRESKA(playerid, "Morate biti ulogovani da bi koristili komande!");
   if(PLAYER_ENUM[playerid][pAdmin] < 1) return GRESKA(playerid, "Nemate dozvolu da koristite ovu komandu!");
   if(aduty[playerid] == 0) return GRESKA(playerid, "Morate biti na duznosti da bi koristili ovu komandu!");
   new string[128];
   format(string,sizeof(string),""SRV"BG: "BELA"ADMIN %s je uzeo Jet Pack!",GetName(playerid));
   ADMINPoruka(-1,string); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
   format(string,sizeof(string), "JP | ADMIN %s | Uzeo JetPack", GetName(playerid));
   UpisiLog(LOG_AGKOMANDE, string); SCM(playerid,-1,""SRV"BG: "BELA"Uzeli ste Jet Pack!");
   return 1;
}[/pawn]
Debug iz server_log:

Slika/video ingame problema: //
Poslednja Izmena: Maj 19, 2020, 18:46:24 POSLE PODNE od Luka_Scripting

Ti si napravio ovde samo da se stvori jetpack, kako mislis da ga unistis ?

[pawn]CMD:jetpack(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Niste u mogucnosti da koristite ovu komandu.");
   
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
    {
   new Float:X, Float:Y, Float:Z;
   GetPlayerPos(playerid, X, Y, Z);
   SetPlayerPos(playerid, X, Y, Z+1);
    }
    else
    {
   SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
    }
    return 1;
}[/pawn]

Citat: Ljubisa poslato Maj 19, 2020, 19:00:37 POSLE PODNE
Ti si napravio ovde samo da se stvori jetpack, kako mislis da ga unistis ?

[pawn]CMD:jetpack(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Niste u mogucnosti da koristite ovu komandu.");
   
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
    {
   new Float:X, Float:Y, Float:Z;
   GetPlayerPos(playerid, X, Y, Z);
   SetPlayerPos(playerid, X, Y, Z+1);
    }
    else
    {
   SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
    }
    return 1;
}[/pawn]
neznam jer sam uzeo iz drugog moda ali koliko se secam nasao sam u jednom modu liniju gde se jpack unistava al nemogu da se setim koji je mod upitanju

Mozes da napravis CMD: /unistijetpack(/ujp), a mozes i ovako

na vrhu skripte

[pawn]
#include <YSI/y_timers>
new JP[MAX_PLAYERS];
[/pawn]

[pawn]
CMD:jp(playerid,params[])
{
   new string[128];
   if(PlayerInfo[playerid][pAdmin] == 1 )
   {
      if(JP[playerid] == 1)
        {
          SetPlayerSpecialAction(playerid, 0);
         SCM(playerid,COL_BLUE,"[V:RP] Unistio si jetpack!");
         format(string, sizeof(string),"|O-WARN| Admin: %s je unistio JP",GetName(playerid));
         SendMessageToOwner(string);
         defer JPTimer1(playerid);
      }
       if(JP[playerid] == 0)
       {
          SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
         SCM(playerid,COL_BLUE,"[V:RP] Uzeo si jetpack!");
         format(string, sizeof(string),"|O-WARN| Admin: %s je stvorio JP",GetName(playerid));
         SendMessageToOwner(string);
         defer JPTimer2(playerid);
      }
   }
   else
   {
      SCM(playerid,-1,"{FFFFFF}[V:RP]: {F81414}Niste autorizovani za koriscenje ove naredbe");
   }
   return 1;
}
//
timer JPTimer1[1000](playerid)
{
   JP[playerid] = 0;
}
//
timer JPTimer2[1000](playerid)
{
   JP[playerid] = 1;
}
[/pawn]

Citat: Teodor poslato Maj 19, 2020, 19:16:55 POSLE PODNE
Mozes da napravis CMD: /unistijetpack(/ujp), a mozes i ovako

na vrhu skripte

[pawn]
#include <YSI/y_timers>
new JP[MAX_PLAYERS];
[/pawn]

[pawn]
CMD:jp(playerid,params[])
{
   new string[128];
   if(PlayerInfo[playerid][pAdmin] == 1 )
   {
      if(JP[playerid] == 1)
        {
          SetPlayerSpecialAction(playerid, 0);
         SCM(playerid,COL_BLUE,"[V:RP] Unistio si jetpack!");
         format(string, sizeof(string),"|O-WARN| Admin: %s je unistio JP",GetName(playerid));
         SendMessageToOwner(string);
         defer JPTimer1(playerid);
      }
       if(JP[playerid] == 0)
       {
          SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
         SCM(playerid,COL_BLUE,"[V:RP] Uzeo si jetpack!");
         format(string, sizeof(string),"|O-WARN| Admin: %s je stvorio JP",GetName(playerid));
         SendMessageToOwner(string);
         defer JPTimer2(playerid);
      }
   }
   else
   {
      SCM(playerid,-1,"{FFFFFF}[V:RP]: {F81414}Niste autorizovani za koriscenje ove naredbe");
   }
   return 1;
}
//
timer JPTimer1[1000](playerid)
{
   JP[playerid] = 0;
}
//
timer JPTimer2[1000](playerid)
{
   JP[playerid] = 1;
}
[/pawn]
Z a s t o o o o o o o o o
Sto bi pravio varijablu ako ti ne treba uopste kao i timeri ?
Ono gore je puno bolje nego ovo...