SA-MP Forums Archive
Why not working? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Why not working? (/showthread.php?tid=445382)



Why not working? - Tuntun - 21.06.2013

I made a mission system and it have no errors but its not working in the game
Код:
//~~~~~~~~~~~~~~~Pizza Missions By Tuntun~~~~~~~~~~~~~~~
//Do Not remove his credits!

#include <a_samp>
#include <zcmd>

new PizzaJob[300];

new IsPlayerInMission[MAX_PLAYERS];

public OnFilterScriptInit()
{
    CreateVehicle(448, 2098.7107, -1821.3761, 12.8967, 0.0000, -1, -1, 100);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
	if(!strcmp("/pwork", cmdtext, true))
	{
		new pvehiclemodel = GetVehicleModel(GetPlayerVehicleID(playerid));
		if(IsPlayerInMission[playerid] >= 1)return SendClientMessage(playerid,-1,"You already have a mission!");
		if (pvehiclemodel == 448)
		{
			PizzaJob[playerid] = 1;
			SetPlayerCheckpoint(playerid, 2099.0190,-1806.6707,13.5551,3.5);
			SendClientMessage(playerid, -1,"~g~Info: ~w~Mission started You have to go at 2 houses! Please follow the check point!");
			GameTextForPlayer(playerid,"~w~Mission~g~Started!", 3000, 3);
			return 1;
		}
		SendClientMessage(playerid, -1,"You have to be on a pizza bike to start pizza boy mission!");
	}
	return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 448)
	{
		SendClientMessage(playerid,-1,"Must use /pwork to start the mission");
	}
	return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 448)
	{
		if(PizzaJob[playerid] == 1){
			PizzaJob[playerid] = 2;
			SetPlayerCheckpoint(playerid, 1936.2399,-1923.8591,13.5469, 3.5 );
			GameTextForPlayer(playerid,"~w~Mission ~g~ Started!", 3000, 3);
			return 1;
		}
		if(PizzaJob[playerid] == 2){
   		   	PizzaJob[playerid] = 3;
			SetPlayerCheckpoint(playerid,1921.4567,-1992.3204,13.5469, 3.5 );
			GameTextForPlayer(playerid,"~w~Go to Another House!", 3000, 3);
			return 1;
		}
		if(PizzaJob[playerid] == 3){
			PizzaJob[playerid] = 0;
			DisablePlayerCheckpoint(playerid);
			SendClientMessage(playerid, -1,"Info: Mission Completed! Earned 20,000$ & 5 score");
			GivePlayerMoney(playerid,20000);
			GameTextForPlayer(playerid,"~w~ Mission ~g~ Completed!", 3000, 3);
			SetPlayerScore(playerid,5);
		}
	}
	return 1;
}
CMD:pizza(playerid,params[])
{
	SetPlayerPos(playerid,2021.6563, -1810.7266, 18.6016);
	return 1;
}



Re: Why not working? - park4bmx - 21.06.2013

Use elseif
For the bottoms checks in the OnPlayerEnterCheckpoint


Re: Why not working? - Tuntun - 21.06.2013

Explain?


Re: Why not working? - Goldilox - 21.06.2013

Like this!
pawn Код:
if(PizzaJob[playerid] == 1){
            PizzaJob[playerid] = 2;
            SetPlayerCheckpoint(playerid, 1936.2399,-1923.8591,13.5469, 3.5 );
            GameTextForPlayer(playerid,"~w~Mission ~g~ Started!", 3000, 3);
            return 1;
        }
        else if(PizzaJob[playerid] == 2){
            PizzaJob[playerid] = 3;
            SetPlayerCheckpoint(playerid,1921.4567,-1992.3204,13.5469, 3.5 );
            GameTextForPlayer(playerid,"~w~Go to Another House!", 3000, 3);
            return 1;
        }
        else if(PizzaJob[playerid] == 3){
            PizzaJob[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, -1,"Info: Mission Completed! Earned 20,000$ & 5 score");
            GivePlayerMoney(playerid,20000);
            GameTextForPlayer(playerid,"~w~ Mission ~g~ Completed!", 3000, 3);
            SetPlayerScore(playerid,5);
        }



Re: Why not working? - Tuntun - 21.06.2013

Код:
D:\Trucking\filterscripts\pizza.pwn(63) : error 030: compound statement not closed at the end of file (started at line 43)
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.



Re: Why not working? - Affan - 21.06.2013

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 448)
    {
        if(PizzaJob[playerid] == 1){
            PizzaJob[playerid] = 2;
            SetPlayerCheckpoint(playerid, 1936.2399,-1923.8591,13.5469, 3.5 );
            GameTextForPlayer(playerid,"~w~Mission ~g~ Started!", 3000, 3);
            return 1;
        }
        else if(PizzaJob[playerid] == 2){
            PizzaJob[playerid] = 3;
            SetPlayerCheckpoint(playerid,1921.4567,-1992.3204,13.5469, 3.5 );
            GameTextForPlayer(playerid,"~w~Go to Another House!", 3000, 3);
            return 1;
        }
        else if(PizzaJob[playerid] == 3){
            PizzaJob[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, -1,"Info: Mission Completed! Earned 20,000$ & 5 score");
            GivePlayerMoney(playerid,20000);
            GameTextForPlayer(playerid,"~w~ Mission ~g~ Completed!", 3000, 3);
            SetPlayerScore(playerid,5);
        }
    }
    return 1;
}
And why are you using both ZCMD and onplayercommandtext.
Use 1. Maybe that's the problem.


Re: Why not working? - Sasino97 - 21.06.2013

pawn Код:
public OnFilterScriptInit()
{
    CreateVehicle(448, 2098.7107, -1821.3761, 12.8967, 0.0000, -1, -1, 100);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp("/pwork", cmdtext, true))
    {
        new pvehiclemodel = GetVehicleModel(GetPlayerVehicleID(playerid));
        if(IsPlayerInMission[playerid] >= 1) return SendClientMessage(playerid,-1,"You already have a mission!");
        if (pvehiclemodel == 448)
        {
            PizzaJob[playerid] = 1;
            SetPlayerCheckpoint(playerid, 2099.0190,-1806.6707,13.5551,3.5);
            SendClientMessage(playerid, -1,"~g~Info: ~w~Mission started You have to go at 2 houses! Please follow the check point!");
            GameTextForPlayer(playerid,"~w~Mission~g~Started!", 3000, 3);
            return 1;
        }
        SendClientMessage(playerid, -1,"You have to be on a pizza bike to start pizza boy mission!");
    }
    return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 448)
    {
        SendClientMessage(playerid,-1,"Must use /pwork to start the mission");
    }
    return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 448)
    {
        if(PizzaJob[playerid] == 1){ // When he enters the first checkpoint and pizzajob is 1, it should set another checkpoint and say "Go to another house", not "mission started", because it was already started by the command...
            PizzaJob[playerid] = 2;
            SetPlayerCheckpoint(playerid, 1936.2399,-1923.8591,13.5469, 3.5 );
            GameTextForPlayer(playerid,"~w~Go to Another House!", 3000, 3);
        }
        else if(PizzaJob[playerid] == 2){
            PizzaJob[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, -1,"Info: Mission Completed! Earned 20,000$ & 5 score");
            GivePlayerMoney(playerid,20000);
            GameTextForPlayer(playerid,"~w~ Mission ~g~ Completed!", 3000, 3);
            SetPlayerScore(playerid,GetPlayerScore(playerid)+5); // Edited here
            IsPlayerInMission[playerid] = 0; // Added this
        }
    }
    return 1;
}
CMD:pizza(playerid,params[])
{
    SetPlayerPos(playerid,2021.6563, -1810.7266, 18.6016);
    return 1;
}
Try now, it should work...


Re: Why not working? - Tuntun - 21.06.2013

Still not working... maybe because i have another job? i made my another job... its pilot... that why that job is not working? help..