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:
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;
}

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 ?

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;
}

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 ?

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;
}

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

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


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;
}

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

na vrhu skripte

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


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;
}

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...