All pastes #163361 Raw Edit

Someone

public text v1 · immutable
·published 2006-09-07 13:45 UTC
rendered paste body
#include <a_samp>
#include <colors>

new Float:checkpoints[5][30];//new Float:checkpoints[5][maxcheckpoints];
new Float:startpoints[5][MAX_PLAYERS];//new Float:spawn[1][maxplayersstartposition];
new spn;//startpoint number
new cpn;//checkpoint number
new ccp[3][MAX_PLAYERS];//curent checkpoints per player
new vehiculeid;

main()
{
	print("\n");
	print("|--------------------------------------------|");
	print("|       race mode                            |");
	print("|                                            |");
	print("|              created with SA-MP Editor 0.2 |");
	print("|--------------------------------------------|");
	print("\n\n");
	

}



public OnGameModeInit()
{


	SetGameModeText("[ALPHA] Race Mode by Abatonime");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

//printf("Max players : %d",GetMaxPlayers());
	LoadRace("file.txt");
	
	new count;
	new xposs = 1270;
	for(count = 0; count < GetMaxPlayers(); count++) {
		AddStaticVehicle(vehiculeid,2077,xposs,10,111,random(127),random(127));
		xposs = xposs+5;
	}

	xposs=1371;
		for(count = 00; count <= 40; count++) {
		AddStaticVehicle(random(212)+400,1476.9103,xposs,10.6537,231.1827,random(127),random(127));
		xposs = xposs+7;
	}
	
	
/*	new count2;
	new countstr[256];
	for(count = 1; count <= cpn; count++) {
	for(count2 = 1; count2 <= 4; count2++){
format(countstr, sizeof(countstr), "%f", checkpoints[count2][count]);
printf(countstr);
		       	}
		}
		
			for(count = 1; count <= spn; count++) {
	for(count2 = 1; count2 <= 4; count2++){
	format(countstr, sizeof(countstr), "%f", startpoints[count2][count]);
printf(countstr);
		       	}
		}
	
*/	

  

	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	//printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
	SetPlayerPos(playerid, 2111.6255,1258.6199,10.8203);
	SetPlayerCameraPos(playerid, 2104.8396,1256.1538,10.8203);
	SetPlayerCameraLookAt(playerid,2111.6255,1258.6199,10.8203);
	


	return 1;
}

public OnGameModeExit()
{
//MessageTextForAll(COLOR_RED,"CHANGEMENT DE MODE")
//MessageTextForAll(COLOR_RED,"Merci d'avoir jouer a RM")
	print("GameModeExit()");
	return 1;
}

public OnPlayerConnect(playerid)
{


	
//	(playerid,team,skin,Float:x,Float:y,Float:z,Float:rotation,weapon1,weapon1_ammo,weapon2,weapon2_ammo,weapon3,weapon3_ammo)
//	SetSpawnInfo(playerid, 0, 121, 2016.5950, 1545.0306, 10.8308, 90.5, 26, 250, 28, 250, 0, 0);
	
	return 1;
}

public OnPlayerDisconnect(playerid)
{
	
	return 1;
}

public OnPlayerSpawn(playerid)
{
	//printf("OnPlayerSpawn(%d)", playerid);
	PlayerOnStartPos(playerid);
	
	return 1;
	
}

public OnPlayerDeath(playerid, killerid, reason)
{
	printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
	return 1;
}


public OnPlayerText(playerid)
{

	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp(cmdtext, "/start", true)==0)
	{
	    PlayerOnStartPos(playerid);
	    return 1;
	}
	else if (strcmp(cmdtext, "/wh", true)==0)
	{
	new playerVehicle = GetPlayerVehicleID(playerid);
new message[265];
	format(message, sizeof(message), "%d : %d", playerid,playerVehicle);
	SendClientMessageToAll(0xFFFF00AA, message);
	}
		else if (strcmp(cmdtext, "/vh", true)==0)
	{
	SetVehicleParamsForPlayer(playerid+1, playerid, 0, 0);
	}
	

	return 0;
}



public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
SendClientMessageToAll(0xFFFF00AA, "enter a vehic");
if((playerid+1)==vehicleid){
new err=SetVehicleParamsForPlayer(vehicleid, playerid, 0, 0);//obj / loked
	printf("obj : %d",err);
	}
	else{
//	GetPlayerPos(playerid, x, y, z);
	SetPlayerPos(playerid, 2076.9675,1263.6416,10.6719 );
	}
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	SetVehicleParamsForPlayer(playerid+1, playerid, 1, 0);//obj / loked

	return 1;
}


public OnPlayerEnterCheckpoint(playerid)
{
	
	SendClientMessage(playerid, 0xFFFF00AA, "you are in check point");
	DisablePlayerCheckpoint(playerid);
/*	new hahihu[256];
	format(hahihu, sizeof(hahihu), "172 : %d", ccp[1][playerid]);
	SendClientMessage(playerid, 0xFFFF00AA, hahihu);*/
	if (cpn<ccp[1][playerid]){
	
		SendClientMessage(playerid, 0xFFFF00AA, "you finish the race");
	new message[256];
	new playername[256];
	GetPlayerName(playerid, playername,sizeof(playername));
	format(message, sizeof(message), "%s just finish the race",playername);
	
	SendClientMessageToAll(0xFFFF00AA, message);
	
	}
else{
SetPlayerCheckpoint(playerid, checkpoints[1][ccp[1][playerid]], checkpoints[2][ccp[1][playerid]], checkpoints[3][ccp[1][playerid]], checkpoints[4][ccp[1][playerid]]);
ccp[1][playerid]++;

}
	return 0;
	}





PlayerOnStartPos(playerid)
{
SetCameraBehindPlayer(playerid);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, checkpoints[1][1], checkpoints[2][1], checkpoints[3][1], checkpoints[4][1]);//on charge le 1er
ccp[1][playerid]=2;//le prochain a charger sera le 2eme


//normalement on tp ici le joueur sur une place libre



new err=PutPlayerInVehicle(playerid,playerid + 1 , 0);//playerid+1
printf("la:%d",err);
if(err==1)
{
SetPlayerPos(playerid, 2049.9541,1404.3904,10.6719)
	SetVehicleParamsForPlayer(playerid+1, playerid, 1, 0);//obj / loked
	}

	
	new count2;

	for(count2 = 0; count2 <=  GetMaxPlayers(); count2++){//toute les voitures
	if(playerid!=count2){//sauf celle du joueur  vehicleid
SetVehicleParamsForPlayer(count2+1, playerid, 0, 1);//obj / loked	
  	}}

//SetVehiclePos et SetVehicleZAngle
}