Komanda /quitjob


Započeo rOLDen, Jun 08, 2019, 20:31:06 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Kada ukucam komandu /quitjob, izbaci mi da ne mogu dati otkaz jer nisam ispunio ugovor a preostalo mi je još 0 sati ugovora, pa reko ko koga pravi manitim.
Deo skripte:
if(strcmp(cmd, "/quitjob", true) == 0)
		{
		if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
		{
		if(PlayerInfo[playerid][pJob] >= 1)
		{
		if(PlayerInfo[playerid][pJobTime] <= 0)
		{
		if(Jober[playerid] == 1)
		{
		PlayerInfo[playerid][pJob] = 0;
		Jober[playerid] = 0;
		PlayerInfo[playerid][pJobTime] = 0;
		Delator[playerid] = 0;
		DelTiming[playerid] = 0;
		Delator[playerid] = 0;
		Bolator[playerid] = 0;
		Grotor[playerid] = 0;
		Bustor[playerid] = 0;
		Piztor[playerid] = 0;
		Zastor[playerid] = 0;
		SCM(playerid, COLOR_GOLD, "POSAO: Uspjesno ste dali otkaz na poslu - sada se mozete opet zaposliti.");
		UpdateDynamic3DTextLabelText(Drugshit, COLOR_BFUSION,
  }
		}
		else
		{
		format(string, 128, "ERROR: Niste ispunili svoj ugovor posla - morate raditi jos %d sati da bi mogli dati otkaz.", PlayerInfo[playerid][pJobTime]/3600);
		SCM(playerid, COLOR_LIGHTRED, string);
		}
		}
		else
		{
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete dati otkaz jer niste zaposleni.");
		}
		}
		return 1;
		}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nije potrebno.
Slika/video ingame problema(obavezno ako je ingame problem): Nije potrebno.
Poslednja Izmena: Jun 09, 2019, 23:28:46 POSLE PODNE od Bašovski

Zar ne treba biti -1 ?




Give Honor To The One Who Deserve It





Citat: Mister Naithan poslato Jun 08, 2019, 20:44:42 POSLE PODNE
Zar ne treba biti -1 ?
Definirao sam 1 kao neispunjen a 0 kao ispunjen što se tiče pJobTime, ako misliš na to


Nesto dobro nisi napravio/podesio :]
skazy42O

Reborn - Developer & Owner
- www.reborn-ogc.com

Vasic

*

Usus est magister optimus.

 Evo ti... ::)
if(strcmp(cmd, "/quitjob", true) == 0)
		{
		if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
		{
		if(PlayerInfo[playerid][pJob] >= 1)
		{
		if(PlayerInfo[playerid][pJobTime] <= 0)
		{
		if(Jober[playerid] == 1)
		{
		PlayerInfo[playerid][pJob] = 0;
		Jober[playerid] = 0;
		PlayerInfo[playerid][pJobTime] = 0;
		Delator[playerid] = 0;
		DelTiming[playerid] = 0;
		Delator[playerid] = 0;
		Bolator[playerid] = 0;
		Grotor[playerid] = 0;
		Bustor[playerid] = 0;
		Piztor[playerid] = 0;
		Zastor[playerid] = 0;
		SCM(playerid, COLOR_GOLD, "POSAO: Uspjesno ste dali otkaz na poslu - sada se mozete opet zaposliti.");
		UpdateDynamic3DTextLabelText(Drugshit, COLOR_BFUSION,
  }
		}
		else
		{ 
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete dati otkaz jer niste zaposleni.");
		}
		}
		else
		{
		format(string, 128, "ERROR: Niste ispunili svoj ugovor posla - morate raditi jos %d sati da bi mogli dati otkaz.", PlayerInfo[playerid][pJobTime]/3600);
		SCM(playerid, COLOR_LIGHTRED, string);
		}
		}
		return 1;
		}
• Website: www.vasic.dev
Web Development & Cyber Security

Citat: Vasic poslato Jun 09, 2019, 00:05:45 PRE PODNE
Evo ti... ::)
if(strcmp(cmd, "/quitjob", true) == 0)
		{
		if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
		{
		if(PlayerInfo[playerid][pJob] >= 1)
		{
		if(PlayerInfo[playerid][pJobTime] <= 0)
		{
		if(Jober[playerid] == 1)
		{
		PlayerInfo[playerid][pJob] = 0;
		Jober[playerid] = 0;
		PlayerInfo[playerid][pJobTime] = 0;
		Delator[playerid] = 0;
		DelTiming[playerid] = 0;
		Delator[playerid] = 0;
		Bolator[playerid] = 0;
		Grotor[playerid] = 0;
		Bustor[playerid] = 0;
		Piztor[playerid] = 0;
		Zastor[playerid] = 0;
		SCM(playerid, COLOR_GOLD, "POSAO: Uspjesno ste dali otkaz na poslu - sada se mozete opet zaposliti.");
		UpdateDynamic3DTextLabelText(Drugshit, COLOR_BFUSION,
  }
		}
		else
		{ 
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete dati otkaz jer niste zaposleni.");
		}
		}
		else
		{
		format(string, 128, "ERROR: Niste ispunili svoj ugovor posla - morate raditi jos %d sati da bi mogli dati otkaz.", PlayerInfo[playerid][pJobTime]/3600);
		SCM(playerid, COLOR_LIGHTRED, string);
		}
		}
		return 1;
		}

Nije to riješenje problema jer s ovim kodom sto si poslo bi izbacivalo da nisam zaposlen. Mislim da nije problem u rasporedu nego u ocitavanju sati ugovora a ne kontam gdje sam pogriješio jer sam pokušavo sve i svašta. Hvala ti što si makar pokušao.

Vasic

*

Usus est magister optimus.

Probaj samo
• Website: www.vasic.dev
Web Development & Cyber Security


Citat: Vasic poslato Jun 09, 2019, 10:34:02 PRE PODNE
Probaj samo
Probao sam. Izbacuje kako sam i rekao.

Citat: .tayloR ãƒ,, poslato Jun 09, 2019, 10:40:08 PRE PODNE
https://pastebin.com/PxQw1c8C ??
Ovim kodom se samo promijeni tekst ništa više a do toga očito nije, kažem.

}
forward Posao(playerid);
public Posao(playerid)
{
if(PlayerInfo[playerid][pJob] >= 1)
{
if(Jober[playerid] == 0)
{
if(PlayerInfo[playerid][pJobTime] >= 1)
{
PlayerInfo[playerid][pJobTime]--;
}
else if(PlayerInfo[playerid][pJobTime] == 0)
{
Jober[playerid] == 1;
}
}
}
return 1;
}

Možda je ovdje problem?  Iako sam pokuÅ¡avao i ovdje ali bez uspjeha.

Ne znas ni ti sta hoces buraz.. Gdje si postavio da igracu daje Ugovor na 1. To stavis na payday funkcij i tjt? Ne znam sta komplikujes



if(strcmp(cmd, "/quitjob", true) == 0) 
{ 
	if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1) 
	{ 
		if(PlayerInfo[playerid][pJob] >= 1) 
		{ 
			if(PlayerInfo[playerid][pJobTime] < 1) 
			{ 
				PlayerInfo[playerid][pJob] = 0; 
				Jober[playerid] = 0; 
				PlayerInfo[playerid][pJobTime] = 0; 
				Delator[playerid] = 0; 
				DelTiming[playerid] = 0; 
				Delator[playerid] = 0; 
				Bolator[playerid] = 0;
				Grotor[playerid] = 0; 
				Bustor[playerid] = 0; 
				Piztor[playerid] = 0; 
				Zastor[playerid] = 0; 
				SCM(playerid, COLOR_GOLD, "POSAO: Uspjesno ste dali otkaz na poslu - sada se mozete opet zaposliti."); 
				UpdateDynamic3DTextLabelText(Drugshit, COLOR_BFUSION, 
			} 
			else 
			{ 
				format(string, 128, "ERROR: Niste ispunili svoj ugovor posla - morate raditi jos %d sati da bi mogli dati otkaz.", PlayerInfo[playerid][pJobTime]/3600); 
				SCM(playerid, COLOR_LIGHTRED, string); 
			} 
		} 
		else 
		{ 
			SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete dati otkaz jer niste zaposleni."); 
		} 
	} 
	return 1; 
}

@ 002 - Riješio si problem. Još jednom hvala.