Jump to content
  • 0

problema checkpoints


GEORGIKAA

Question

salut. am modificat recent jobul arms dealer si l am facut asemanator ruby si am problema asta cand modific la onplayerentercheckpoint

aici este problema, daca sterg asta nu mai am erorile.

D:\server\pawno\include\fly.inc(58) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\pawno\include\fly.inc(58) : warning 219: local variable "y" shadows a variable at a preceding level
D:\server\pawno\include\fly.inc(106) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\pawno\include\fly.inc(106) : warning 219: local variable "y" shadows a variable at a preceding level
D:\server\pawno\include\firework.inc(68) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\pawno\include\progress2.inc(381) : error 017: undefined symbol "ppb_OnGameModeInit"
D:\server\pawno\include\progress2.inc(465) : error 017: undefined symbol "ppb_OnGameModeExit"
D:\server\gamemodes\ExtremeGame.pwn(31) : error 017: undefined symbol "AntiDeAMX"
D:\server\gamemodes\ExtremeGame.pwn(2321) : warning 219: local variable "vehicleid" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(3943) : error 017: undefined symbol "SetPlayerPosEx"
D:\server\gamemodes\ExtremeGame.pwn(3958) : warning 219: local variable "health" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(3965) : error 017: undefined symbol "SetPlayerHealthEx"
D:\server\gamemodes\ExtremeGame.pwn(3969) : error 017: undefined symbol "SetPlayerHealthEx"
D:\server\gamemodes\ExtremeGame.pwn(4044) : error 017: undefined symbol "SetPlayerHealthEx"
D:\server\gamemodes\ExtremeGame.pwn(4049) : error 017: undefined symbol "ProxDetector"
D:\server\gamemodes\ExtremeGame.pwn(4696) : warning 219: local variable "health" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(4704) : error 017: undefined symbol "Carspeed"
D:\server\gamemodes\ExtremeGame.pwn(4770) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(4773) : warning 219: local variable "health" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5056) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5069) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5082) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5095) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5108) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5121) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5134) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5147) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5160) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5172) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5182) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5197) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5210) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5223) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5236) : warning 219: local variable "x" shadows a variable at a preceding level
D:\server\gamemodes\ExtremeGame.pwn(5474) : error 017: undefined symbol "NumIp"
D:\server\gamemodes\ExtremeGame.pwn(5493) : error 017: undefined symbol "ABroadCast"
D:\server\gamemodes\ExtremeGame.pwn(5703) : error 017: undefined symbol "SS"
D:\server\gamemodes\ExtremeGame.pwn(5716) : error 017: undefined symbol "ClearWanted"
D:\server\gamemodes\ExtremeGame.pwn(5744) : error 017: undefined symbol "BanCheck"
D:\server\gamemodes\ExtremeGame.pwn(5894) : error 017: undefined symbol "CrimInRange"
D:\server\gamemodes\ExtremeGame.pwn(5928) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5929) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5930) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5931) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5938) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5939) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5940) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5941) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5981) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5982) : error 017: undefined symbol "SendTeamMessage"
D:\server\gamemodes\ExtremeGame.pwn(5983) : error 017: undefined symbol "SendTeamMessage"

 

aici este problema, daca sterg asta nu mai am erorile.


   

	else if(CP[playerid] == 6901)
	{
		if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}Get out of the vehicle and press 'H' to take the package and deliver it.");
		if(GetPVarInt(playerid, "InHand") == 0) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}You don't have the package in arms.");
		{
			new strings[64];
			new materiale = 1000 + random(5000);
			format(strings, sizeof strings, "{008080}JOB >> {ffffff}You received %s materials.", FormatNumber(materiale));
			SendClientMessage(playerid, -1, strings);
			DisablePlayerCheckpoint(playerid);
			facemateriale[playerid] = 0;
			CP[playerid] = 0;
			SetPVarInt(playerid, "InHand", 0);
			SetPlayerSpecialAction(playerid, 0);
			RemovePlayerAttachedObject(playerid, 6);
			ClearAnimations(playerid);
			PlayerInfo[playerid][pMats] += materiale;
			PlayerInfo[playerid][pArmsTimes] ++;
			Update(playerid,pMatsx);
			Update(playerid,pArmsTimesx);
		}
	}

care i buba aici?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Problema ta e faptul ca ai un set de acolade care nu au nici un fel sens care cel mai probabil iti blocau o alta eroare

else if(CP[playerid] == 6901)
	{
		if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}Get out of the vehicle and press 'H' to take the package and deliver it.");
		if(GetPVarInt(playerid, "InHand") == 0) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}You don't have the package in arms.");
		
		new strings[64];
		new materiale = 1000 + random(5000);
		format(strings, sizeof strings, "{008080}JOB >> {ffffff}You received %s materials.", FormatNumber(materiale));
		SendClientMessage(playerid, -1, strings);
		DisablePlayerCheckpoint(playerid);
		facemateriale[playerid] = 0;
		CP[playerid] = 0;
		SetPVarInt(playerid, "InHand", 0);
		SetPlayerSpecialAction(playerid, 0);
		RemovePlayerAttachedObject(playerid, 6);
		ClearAnimations(playerid);
		PlayerInfo[playerid][pMats] += materiale;
		PlayerInfo[playerid][pArmsTimes] ++;
		Update(playerid,pMatsx);
		Update(playerid,pArmsTimesx);
		
	}

Avand in vedere ca if de aici are deja un return, acoladele sunt doar de decor pentru ca orice se afla intre ele era executat oricum deoarece if-ul s-a finalizat odata cu return

if(GetPVarInt(playerid, "InHand") == 0)

Si din cauza acestor acolade(poate si mai multe in codul tau) puse degeaba mascau erori/lipsuri in codul tau sau cine stie ce altceva

Practic codul tau postat pentru compilator arata ceva de genul

if(GetPVarInt(playerid, "InHand") == 0) // Daca e true executa urmatoarea instructiune
	return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}You don't have the package in arms."); // Instructiunea se termina aici
    
{
  // Nu conteaza ce valoarea are if deoarece if-ul nu se mai aplica fiind deja executat (fie true sau false)
  // Se executa mereu
}

 

  • Like 1
Link to comment
Share on other sites

  • 0
Acum 5 minute, Banditul a spus:

Problema ta e faptul ca ai un set de acolade care nu au nici un fel sens care cel mai probabil iti blocau o alta eroare


else if(CP[playerid] == 6901)
	{
		if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}Get out of the vehicle and press 'H' to take the package and deliver it.");
		if(GetPVarInt(playerid, "InHand") == 0) return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}You don't have the package in arms.");
		
		new strings[64];
		new materiale = 1000 + random(5000);
		format(strings, sizeof strings, "{008080}JOB >> {ffffff}You received %s materials.", FormatNumber(materiale));
		SendClientMessage(playerid, -1, strings);
		DisablePlayerCheckpoint(playerid);
		facemateriale[playerid] = 0;
		CP[playerid] = 0;
		SetPVarInt(playerid, "InHand", 0);
		SetPlayerSpecialAction(playerid, 0);
		RemovePlayerAttachedObject(playerid, 6);
		ClearAnimations(playerid);
		PlayerInfo[playerid][pMats] += materiale;
		PlayerInfo[playerid][pArmsTimes] ++;
		Update(playerid,pMatsx);
		Update(playerid,pArmsTimesx);
		
	}

Avand in vedere ca if de aici are deja un return, acoladele sunt doar de decor pentru ca orice se afla intre ele era executat oricum deoarece if-ul s-a finalizat odata cu return


if(GetPVarInt(playerid, "InHand") == 0)

Si din cauza acestor acolade(poate si mai multe in codul tau) puse degeaba mascau erori/lipsuri in codul tau sau cine stie ce altceva

Practic codul tau postat pentru compilator arata ceva de genul


if(GetPVarInt(playerid, "InHand") == 0) // Daca e true executa urmatoarea instructiune
	return SendClientMessage(playerid, -1, "{008080}JOB >> {ffffff}You don't have the package in arms."); // Instructiunea se termina aici
    
{
  // Nu conteaza ce valoarea are if deoarece if-ul nu se mai aplica fiind deja executat (fie true sau false)
  // Se executa mereu
}

 

multumesc frumos

am gasit, eram o acolada lipsa putin mai sus in gamemode

Link to comment
Share on other sites

  • 0

Uhm, in principal este din prima incercare callback-ul fiind chemat chiar in momentul in care player intra in checkpoint(folosind un gm de trucking care era bazat pe checkpoint-uri nu am avut probleme cu asta doar cand server-ul/player-ul aveau lag (ping etc)), imi vin in minte 2 idei dar nu sunt sigur

1. Exista o posibilitatea ca ceva cod aflat in OnPlayerEnterCheckpoint care este executat indifierent de situatie sa ingreuneze executia codului pentru finzaliarea cursei (putin probabil daca ma gandesc)

2. Sa existe alt cod undeva in gamemode care dureaza mult sa se execute (care ingreuneaza in mare parte executarea in parametri a altor functii) si oarecum sa intarzie executarea OnPlayerEnterCheckpoint

Sunt doar niste teori totusi pentru ca functia in sine nu are delay implicit deci altceva ii blocheaza executia

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.