All pastes #128644 Raw Edit

Something

public text v1 · immutable
#128644 ·published 2006-08-13 03:45 UTC
rendered paste body
/*
Checktest - bug testing 
by switch
*/
#include <a_samp>
#define COLOR_YELLOW 0xFFFF00AA

//Time to switch to new checkpoint, has to be bigger than 25.
#define CHECKTIME 1000

new gSize = 0;

main()
{
	print("\n----------------------------------");
	print("checktest");
	print("----------------------------------\n");
}

public OnGameModeInit()
{
	print("GameModeInit()");
	SetGameModeText("checktest");
	
	//PLAYER SPAWNS
	AddPlayerClass(0,1556.0880,-899.4401,48.2526,181.6974,0,0,0,0,0,0); //

	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,2682.7673,-1680.1404,9.4193);
	SetPlayerFacingAngle(playerid, 352.2312);
	SetPlayerCameraPos(playerid,2683.1050,-1674.7749,9.4287);
	SetPlayerCameraLookAt(playerid,2682.0964,-1691.6710,9.4207);
	
	return 1;
}

public OnGameModeExit()
{
	print("GameModeExit()");
	return 1;
}

public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid, COLOR_YELLOW, "Hi!");
	return 1;
}


public OnPlayerSpawn(playerid)
{
    SetPlayerInterior(playerid,0);
	SendClientMessage(playerid, COLOR_YELLOW, "Commands:");
	SendClientMessage(playerid, COLOR_YELLOW, "/instacheck SIZE (or /ic SIZE)");
	SendClientMessage(playerid, COLOR_YELLOW, "/timedcheck SIZE (or /tc SIZE)");
	SendClientMessage(playerid, COLOR_YELLOW, "/removecheck (or /rc)");
	return 1;
}


public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public SetCheckpoint()
{
		SetPlayerCheckpoint(0,1544.7168,-920.5952,43.6180, gSize);

		new msg[128];
		format(msg,sizeof(msg),"Checkpoint Set, Size:%d",gSize);
		SendClientMessage(0, COLOR_YELLOW, msg);
}

public EndGame()
{
GameModeExit();
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256], idx, cmd2[256], size;
	cmd = strtok(cmdtext, idx);

	if (strcmp(cmd, "/timedcheck", true)==0 || strcmp(cmd, "/tc", true)==0)
	{
		cmd2 = strtok(cmdtext, idx);
		size = strval(cmd2);

		if (size >= 1 && size <= 1000)
		{
		    gSize = size;
			DisablePlayerCheckpoint(playerid);
			SetTimer("SetCheckpoint",CHECKTIME,0);
			SendClientMessage(playerid,COLOR_YELLOW,"Check Removed, Setting new one in 1 second...");
		} else {
			SendClientMessage(playerid,COLOR_YELLOW,"Enter a size from 1 - 1000");
		}

		return 1;
	}
	
	if (strcmp(cmd, "/instacheck", true)==0 || strcmp(cmd, "/ic", true)==0)
	{
		cmd2 = strtok(cmdtext, idx);
		size = strval(cmd2);
		if (size >= 1 && size <= 1000)
		{
		    gSize = size;
			DisablePlayerCheckpoint(playerid);
			SendClientMessage(playerid,COLOR_YELLOW,"Check Removed...");
			SetCheckpoint();
		} else {
			SendClientMessage(playerid,COLOR_YELLOW,"Enter a size from 1 - 1000");
		}


		return 1;
	}

	if (strcmp(cmd, "/removecheck", true)==0 || strcmp(cmd, "/rc", true)==0)
	{
			DisablePlayerCheckpoint(playerid);
			SendClientMessage(playerid,COLOR_YELLOW,"Check Removed...");

		return 1;
	}
	
return 0;
 }
 
 
 
	public strtok(const string[], &index)
	{
		new length = strlen(string);
		while ((index < length) && (string[index] <= ' '))
		{
			index++;
		}

		new offset = index;
		new result[20];
		while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
		{
			result[index - offset] = string[index];
			index++;
		}
		result[index - offset] = EOS;
		return result;
	}