Pawno Compiler crashes
#1

I didn't even add anything, just got the script.
It just came with the .pwn, so I installed all the includes.
I've tried commenting different parts of the script, and when I commented a large portion it worked again, but when I narrowed down to the only possibility it crashed again.
May there be a missing plugin?

I have Streamer, and sscanf.
Reply
#2

Okay, give us the code which when you narrowed down, it crashes.
Reply
#3

Check if there is any missing bracket.
Reply
#4

Quote:
Originally Posted by Red_Dragon.
Посмотреть сообщение
Okay, give us the code which when you narrowed down, it crashes.
I have discovered there are multiple errors, I've only found 1 so far.

Код:
CMD:payhelp(playerid, params[])
{
	ShowPlayerDialogEx(playerid,INFO_DIALOG,DIALOG_STYLE_MSGBOX,"Paycheck information","Paychecks come in every hour and require you to sign them with /signcheck.\n\nThe longer you play in the hour, the bigger your paycheck.\n\nThe higher your level, the bigger your paycheck.\n\nPaychecks go directly to your bank account rather than your on-hand cash.\n\nIf you miss a paycheck, then the missed amount will be added to your next paycheck.","Close","");
	return 1;
}
Maybe because the "ShowPlayerDialogEx" is too long? that's all one line.
Reply
#5

Quote:
Originally Posted by Red_Dragon.
Посмотреть сообщение
Okay, give us the code which when you narrowed down, it crashes.
It seems that "ShowPlayerDialogEx" is the cause of crashing. It's defined as this;
Код:
// Anti Dialog ID spoofing
#define         ShowPlayerDialogEx(%0, %1, %2, %3, %4, %5, %6)              ShowPlayerDialog(%0, %1, %2, %3, %4, %5, %6) \
	SetPVarInt(%0, "dialog", %1)
stock ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[]) {
	SetPVarInt(playerid, "dialog", dialogid);
	ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);

	return 1;
}
So I'm hesitant to change it to just "ShowPlayerDialog". Should I?
Reply
#6

Quote:
Originally Posted by Red_Dragon.
Посмотреть сообщение
Okay, give us the code which when you narrowed down, it crashes.
Found the snippet problems in the crash!

Here they are!
Код:
// Timer Name: EMSUpdate()
// TickRate: 5 secs.
Timer:EMSUpdate[5000]()
{
	foreach(Player, i)
	{
		new Float:posX, Float:posY, Float:posZ;
 		GetPlayerPos(i, posX, posY, posZ);
		if(GetPlayerInterior(i) == 0 && !IsPlayerInAnyVehicle(i) && MP3Station[i] == 0)
		{
	    	StopAudioStreamForPlayer(i);
		}

		new Float:iArmor;
		GetPlayerArmour(i, iArmor);
		if(iArmor > ValidArmor[i] && AdminDuty[i] == 0)
		{
		    new string[128];
			format(string, sizeof(string), "%s may have hacked their armor.", GetPlayerNameEx(i));
			AddAutomatedFlag(i, string);
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may possibly be armor hacking.", GetPlayerNameEx(i), i);
			ABroadCast(COLOR_YELLOW, string, 2);
		}

	    if(GetPVarType(i, "Injured"))
	    {
	        if(GetPVarInt(i, "EMSAttempt") != 0)
			{

				new Float:health;
 				GetPlayerHealth(i,health);
				SetPlayerHealth(i, health-1);
				if(GetPVarInt(i, "EMSAttempt") == -1)
				{
    				if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
	    			{
	        			SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
	        			KillEMSQueue(i);
						SpawnPlayer(i);
	    			}
					GameTextForPlayer(i, "~r~Injured~n~~w~/accept death or /service ems", 5000, 3);
				}
				if(GetPVarInt(i, "EMSAttempt") == 1)
				{
	    			if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
	    			{
	        			SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
	        			KillEMSQueue(i);
						SpawnPlayer(i);
	    			}
					GameTextForPlayer(i, "~r~Injured~n~~w~Waiting for EMS to Arrive...", 5000, 3);
				}
				if(GetPVarInt(i, "EMSAttempt") == 2)
				{
	    			if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
	    			{
	        			SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
	        			KillEMSQueue(i);
						SpawnPlayer(i);
	    			}
	    			GameTextForPlayer(i, "~g~Rescued~n~~w~Awaiting Treatment...", 5000, 3);
				}
				if(GetPVarInt(i, "EMSAttempt") == 3)
				{
	    			if(IsPlayerInAnyVehicle(i))
	    			{
	        			new ambmodel = GetPlayerVehicleID(i);
	        			if(IsAnAmbulance(ambmodel))
	        			{
	    					GameTextForPlayer(i, "~g~Rescued~n~~w~Waiting for EMS to take to Hospital...", 5000, 3);
						}
						else
						{
		    				SendClientMessage(i, COLOR_WHITE, "You fell unconscious due to no life support, you were immediately sent to the hospital.");
	        				KillEMSQueue(i);
							SpawnPlayer(i);
						}
					}
					else
					{
		    			SendClientMessage(i, COLOR_WHITE, "You fell out of the vehicle, you were immediately sent to the hospital.");
	        			KillEMSQueue(i);
						SpawnPlayer(i);
					}
				}

				GetPlayerHealth(i, health);
				if(health <= 5)
				{
	    			SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
	    			KillEMSQueue(i);
					SpawnPlayer(i);
				}
	        }
	    }
	}
}
AND


Код:
// Timer Name: NOPCheck(playerid)
Delay:NOPCheck[5000, i](playerid)
{
	if(GetPlayerState(playerid) != 2) NOPTrigger[playerid] = 0;
	new newcar = GetPlayerVehicleID(playerid);
	if(PlayerInfo[playerid][pAdmin] > 4 || GetPlayerState(playerid) != 2) return 1;
	else if(IsACopCar(newcar) && PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1) ExecuteNOPAction(playerid);
	else if(IsAFBICar(newcar) && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2) ExecuteNOPAction(playerid);
	else if(IsAnAmbulance(newcar) && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3) ExecuteNOPAction(playerid);
    else if(IsAGovCar(newcar) && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pLeader] != 5) ExecuteNOPAction(playerid);
    else if(IsANewsVeh(newcar) && PlayerInfo[playerid][pFaction] != 9 && PlayerInfo[playerid][pLeader] != 9) ExecuteNOPAction(playerid);
	else if(IsATruckerCar(newcar) && PlayerInfo[playerid][pJob] != 20 && PlayerInfo[playerid][pJob2] != 20) ExecuteNOPAction(playerid);
	else if(IsAPizzaCar(newcar) && PlayerInfo[playerid][pJob] != 21 && PlayerInfo[playerid][pJob2] != 21) ExecuteNOPAction(playerid);
	else if(IsAPlane(newcar) && (PlayerInfo[playerid][pFlyLic] != 1)) ExecuteNOPAction(playerid);
	return 1;
}
What are the problems?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)