SA-MP Forums Archive
Checkpoint problem - 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: Checkpoint problem (/showthread.php?tid=307346)



Checkpoint problem - Min - 30.12.2011

Hello guys!
I wanted to make something like this. A player has entered the checkpoint, then if another player enter it, it will automaticly send a message to the second player like "Another player is already in the checkpoint!".
Well, can you guys tell me what should I do? I already searched for it on ****** and found nothing.
Help plox, thanks.


Re: Checkpoint problem - coole210 - 30.12.2011

pawn Код:
//Top of script:
new InCheckpoint[MAX_PLAYERS]=0;
//...
public OnPlayerEnterCheckpoint(playerid)
{
    if(InCheckpoint[playerid] == 0)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(InCheckpoint[i] == 1)
            {
                SendClientMessage(playerid,-1,"Someone has already entered the checkpoint !");
                return 1;
            }
        }
        InCheckpoint[playerid] = 1;
    }
    return 1;
}



Re: Checkpoint problem - Min - 30.12.2011

Thanks


Re: Checkpoint problem - Min - 31.12.2011

Oh btw, I'm trying to make something like this. There are 2 teams, Player 1 & Player 2 is in Red team. The objective of the Red team is to rob the bank. It takes 6 seconds for the Red team members to be in the checkpoint for the rob to be success.

This is the situation, if player 1 is in the checkpoint, the robbing timer will run like normal , and if player 2 enter the checkpoint, it will automaticly send Player 2 a message, "Another player is already robbing the bank!" and Player 2 can't rob the bank(kill the timer for player 2 only) unless Player 1 leave the checkpoint.

This is my some of script:

Код:
public OnPlayerEnterCheckpoint(playerid)
{
	new playername [MAX_PLAYER_NAME];
	GetPlayerName (playerid, playername, sizeof(playername));
  	if(gTeam[playerid] == TEAM_RED)
 	{
	new newtext[60], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(newtext, sizeof(newtext), "%s is now robbing the bank.", playername);
        SendClientMessageToAll(RED, newtext);
        BlowTimer = SetTimerEx("bombcountupdate", 6000, false, "i", playerid);
	}
    return 1;
}
/* ----------------------------------------------------------------------------------- */
public OnPlayerLeaveCheckpoint(playerid)
{
	new playername [MAX_PLAYER_NAME];
	GetPlayerName (playerid, playername, sizeof(playername));
  	if(gTeam[playerid] == TEAM_RED)
 	{
	new newtext[60], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(newtext, sizeof(newtext), "%s has stopped robbing the bank.", playername);
        SendClientMessageToAll(RED, newtext);
	KillTimer(BlowTimer);
	}
    return 1;
}
Hope that someone will help me with this thing.