All pastes #261292 Raw Edit

Someone

public cpp v1 · immutable
#261292 ·published 2006-11-29 02:23 UTC
rendered paste body
#include <a_samp>#define COLOR_BLUE 0x000ecaAA#define COLOR_GREY 0xAFAFAFAA#define COLOR_YELLOW 0xFFFF00AAnew gProgress1[MAX_PLAYERS];new once[MAX_PLAYERS];new gPosition1;new gCountdowntimer1;new gCountdown1;new gTime1;new gTimer1;new gRaceStillInProgress1;new gCheckTime1;#define MAX_CHECKPOINTS 14new Float:gRaceCheckpoints1[MAX_CHECKPOINTS][4] ={{-2800.2744,-476.5320,6.7535,25.0},  // 1{-2704.7192,-531.5262,11.6127,15.0}, // 2{-2673.6926,-416.8130,31.7350,15.0}, // 3{-2376.2341,-379.4245,76.0757,15.0}, // 4{-2321.7109,-450.2548,79.4628,15.0}, // 5{-2412.8970,-416.6096,84.6654,15.0}, // 6{-2628.7920,-494.4859,69.6950,15.0}, // 7{-2474.5840,-485.6265,100.4489,15.0},// 8{-2376.2234,-647.8525,126.2174,15.0},// 9{-2348.6492,-788.2272,93.7642,15.0}, // 10{-2223.4160,-744.8737,63.8450,15.0}, // 11{-2206.1416,-987.7772,36.7893,15.0}, // 12{-1917.4015,-1365.4313,39.8735,15.0},// 13{-1903.7386,-815.5905,44.5231,30.0} // 14};main(){	print("\n----------------------------------");	print("4wD rally race By small 4");	print("-------------------------------------\n");}public OnGameModeInit(){	print("GameModeInit()");	SetGameModeText("4wD rally");		gTime1 = 0;	return 1;}public OnPlayerRequestClass(playerid, classid){	printf("OnPlayerRequestClass(%d, %d)", 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){	GameTextForPlayer(playerid,"4WD rally ~r~by small 4",2500,5);	GivePlayerMoney(playerid, 1250);	once[playerid] = 0;		return 1;}public OnPlayerDisconnect(playerid){	printf("OnPlayerDisconnect(%d)", playerid);	return 1;}public OnPlayerEnterCheckpoint(playerid) {DisablePlayerCheckpoint(playerid);	if (gProgress1[playerid] == MAX_CHECKPOINTS-1){						gPosition1++;						new playername1[MAX_PLAYER_NAME];			  			new finishmessage1[256];  					    new finishtime1[256];  					    new Float:fMinutes1;  					    new Minutes1;  					    new Seconds1;						if (gTime1 != 0) {	  					    fMinutes1 = gTime1/60;	  					    Minutes1 = floatround(fMinutes1, floatround_floor);	  					    Seconds1 = gTime1-(Minutes1*60);							format(finishtime1, sizeof(finishtime1),"You finished in %d min(s) %d sec(s).", Minutes1, Seconds1);							SendClientMessage(playerid, COLOR_GREY, finishtime1);			  			}			  			GetPlayerName(playerid, playername1, MAX_PLAYER_NAME);			  			switch (gPosition1){						  case 1:						  {						  	format(finishmessage1, sizeof(finishmessage1),"%s has won the race!", playername1);							GameTextForAll(finishmessage1, 3000, 5);							SetPlayerScore(playerid,GetPlayerScore(playerid)+5);						  }			  			case 2:						  {						  	format(finishmessage1, sizeof(finishmessage1),"%s finished %d nd", playername1, gPosition1);							GameTextForAll(finishmessage1, 3000, 5);							SetPlayerScore(playerid,GetPlayerScore(playerid)+4);						  }					    case 3:						  {						  	format(finishmessage1, sizeof(finishmessage1),"%s finished %d rd", playername1, gPosition1);							GameTextForAll(finishmessage1, 3000, 5);							SetPlayerScore(playerid,GetPlayerScore(playerid)+3);						  }					    default:						  {						  	format(finishmessage1, sizeof(finishmessage1),"%s finished %d th", playername1, gPosition1);							GameTextForAll(finishmessage1, 3000, 5);							SetPlayerScore(playerid,GetPlayerScore(playerid)+1);						  }						}	}if (gProgress1[playerid] == 0){	if (once[playerid] == 0){	SendClientMessage(playerid, COLOR_YELLOW, "This is the starting line. Once all race members are ready type /STARTRACE to start the countdown.");	once[playerid] = 1;	}	gProgress1[playerid]=0;}else{gProgress1[playerid]++;SetPlayerCheckpoint(playerid,gRaceCheckpoints1[gProgress1[playerid]][0],gRaceCheckpoints1[gProgress1[playerid]][1],gRaceCheckpoints1[gProgress1[playerid]][2],gRaceCheckpoints1[gProgress1[playerid]][3]); // ml	if (gCheckTime1 > 10 || gCheckTime1 == 0){	KillTimer(gRaceStillInProgress1);	gCheckTime1=1;	gRaceStillInProgress1=SetTimer("CheckpointTimer", 1000, 1);	}}return 1;}public Gettimer() {	gCountdown1--;	if (gCountdown1 >= 1){	new message1[256];	format(message1, sizeof(message1),"%d", gCountdown1);	GameTextForAll(message1, 750, 5);	}	else {	KillTimer(gCountdowntimer1); 		for (new i = 0; i < MAX_PLAYERS; i++)	    {	    TogglePlayerControllable(i, 1);	    }	GameTextForAll("~W~GO", 2000, 5);	gTime1=0;	KillTimer(gTimer1);	gTimer1=SetTimer("RaceTimer", 1000, 1);		}return 1;	}	public RaceTimer1() {gTime1++;}public CheckpointTimer1() {gCheckTime1++;}public EndGame(){GameModeExit();}public OnPlayerCommandText(playerid, cmdtext[]){	if (strcmp(cmdtext, "/startrace1", true)==0)	{	    	    if (gCheckTime1 > 30 || gCheckTime1 == 0 || IsPlayerAdmin(playerid) == 1)		{			gCountdown1=6;   			gPosition1 = 0;		    gTime1 = 0;			SendClientMessageToAll(COLOR_GREY, "The race is starting...");				    for (new i = 0; i < MAX_PLAYERS; i++)				    {				    gProgress1[i] = 1;				    SetPlayerCheckpoint(i,gRaceCheckpoints1[1][0],gRaceCheckpoints1[1][1],gRaceCheckpoints1[1][2],gRaceCheckpoints1[1][3]);				    TogglePlayerControllable(i, 0);				    }				    KillTimer(gCountdowntimer1);				    gCountdowntimer1=SetTimer("Gettimer", 1000, 1);				    }			else {		//race in progress msg            SendClientMessage(playerid, COLOR_YELLOW, "Sorry but a race is already in progress. Please wait for it to finish.");	            }	    return 1;	}	if (strcmp(cmdtext, "/rescueme1", true)==0)	{		gProgress1[playerid] = 1;		SetPlayerCheckpoint(playerid,gRaceCheckpoints1[1][0],gRaceCheckpoints1[1][1],gRaceCheckpoints1[1][2],gRaceCheckpoints1[1][3]);		SetPlayerPos(playerid,gRaceCheckpoints1[0][0],gRaceCheckpoints1[0][1],gRaceCheckpoints1[0][2]);	}	if (strcmp(cmdtext, "/help1", true)==0)	{		SendClientMessage(playerid, COLOR_YELLOW, "Type /STARTRACE to start the race. Type /RESCUEME if you become stuck/lost.");		SendClientMessage(playerid, COLOR_YELLOW, "Follow the checkpoints on your minimap to finish the race.");}if(strcmp(cmdtext, "/race1", true) == 0) {gProgress1[playerid] = 0;SetPlayerCheckpoint(playerid,gRaceCheckpoints1[0][0],gRaceCheckpoints1[0][1],gRaceCheckpoints1[0][2],gRaceCheckpoints1[0][3]);return 1;}return 0;}