All pastes #202836 Raw Edit

Untitled

public text v1 · immutable
#202836 ·published 2006-10-14 19:45 UTC
rendered paste body
public OnPlayerEnterCheckpoint(playerid)
{
	new string[256];
	new ownplayer[MAX_PLAYER_NAME];
	
	playercheck[playerid] = playercheck[playerid] + 1;
    if (raceon == 0){
	if (playercheck[playerid] >= 1 && playercheck[playerid] <=MAXCP-2){
	    DisablePlayerCheckpoint(playerid);
	    SetPlayerCheckpoint(playerid,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2],7.0);
	    PlayerPlaySound(playerid,1053,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2]);
		format(msg,sizeof(msg),"~r~cp %d of %d",playercheck[playerid],MAXCP-1);
		GameTextForPlayer(playerid,msg,2000,6);
		if (playercp[playercheck[playerid]] == 999)
		    {
			playercp[playercheck[playerid]] = playerid;
		    }
	    }
	if (playercheck[playerid] == MAXCP-1)
	    {
	    DisablePlayerCheckpoint(playerid);
		timeend[playerid] = tickcount();
		timetotal[playerid] = timeend[playerid] - timestart[playerid];
		timeconvert(playerid);
		PlayerPlaySound(playerid,1132,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2]);
		finished = finished + 1;
        playerposition[playerid] = finished;
		GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
		new pos[] = "th";
		if (playerposition[playerid] == 1 || playerposition[playerid] == 21 || playerposition[playerid] == 31 || playerposition[playerid] == 41 || playerposition[playerid] == 51 || playerposition[playerid] == 61 || playerposition[playerid] == 71 || playerposition[playerid] == 81 || playerposition[playerid] == 91)
			{
			pos = "st";
			}
		if (playerposition[playerid] == 2 || playerposition[playerid] == 22 || playerposition[playerid] == 32 || playerposition[playerid] == 42 || playerposition[playerid] == 52 || playerposition[playerid] == 62 || playerposition[playerid] == 72 || playerposition[playerid] == 82 || playerposition[playerid] == 92)
			{
			pos = "nd";
			}
		if (playerposition[playerid] == 3 || playerposition[playerid] == 23 || playerposition[playerid] == 33 || playerposition[playerid] == 43 || playerposition[playerid] == 53 || playerposition[playerid] == 63 || playerposition[playerid] == 73 || playerposition[playerid] == 83 || playerposition[playerid] == 93)
			{
			pos = "rd";
			}
		format(msg,sizeof(msg),"you finished %d%s in %dmin %d.%dsec",playerposition[playerid],pos,minutes[playerid],seconds[playerid],mseconds[playerid]);
		GameTextForPlayer(playerid,msg,3000,3);
		format(msg,sizeof(msg),"%s finished %d%s in %dmin %d.%dsec",pname,playerposition[playerid],pos,minutes[playerid],seconds[playerid],mseconds[playerid]);
		SendClientMessageToAll(0x00FF00FF,msg);
		if (fexist(RECORDFILE))
		    {
	        new dataname[50];
	        new dataminutes[10];
	        new dataseconds[10];
	        new datamseconds[10];
	   		fileh = fopen(RECORDFILE);
	   		new filedata[100];
	   		new n[] = " ";
	   		new j;
	   		new k;
			fread(fileh,filedata,100);
				for (new i=0; i<100; i++)
				    {
				    j=i;
				    if (filedata[i] == n[0])
				    {
				    break;
				    }
				    dataname[i] = filedata[i];
				    }
				k=j+1;
				for (new i=k; i<100; i++)
				    {
				    j=i;
				    if (filedata[i] == n[0])
				    {
				    break;
				    }
				    dataminutes[i-k] = filedata[i];
				    }
				k=j+1;
				for (new i=k; i<100; i++)
				    {
				    j=i;
				    if (filedata[i] == n[0])
				    {
				    break;
				    }
				    dataseconds[i-k] = filedata[i];
				    }
				k=j+1;
				for (new i=k; i<100; i++)
				    {
				    j=i;
				    if (filedata[i] == n[0])
				    {
				    break;
				    }
				    datamseconds[i-k] = filedata[i];
				    }
			fclose(fileh);
			new old = 1;
			if (minutes[playerid] < strval(dataminutes))
			    {
			    old = 0;
			    }
			else if (minutes[playerid] == strval(dataminutes) && seconds[playerid] < strval(dataseconds))
			    {
			    old = 0;
			    }
			else if (minutes[playerid] == strval(dataminutes) && seconds[playerid] == strval(dataseconds) && mseconds[playerid] < strval(datamseconds))
			    {
			    old = 0;
			    }
			if (old == 0)
			    {
	   			fileh = fopen(RECORDFILE);
				format(msg,sizeof(msg),"%s %d %d %d ",pname,minutes[playerid],seconds[playerid],mseconds[playerid]);
				fwrite(fileh,msg);
				fclose(fileh);
				format(msg,sizeof(msg),"new best time");
				SendClientMessageToAll(0x00FF00FF,msg);
			    }
			else if (old == 1)
			    {
				format(msg,sizeof(msg),"%s holds the best time of %smin and %s:%ssec ",dataname,dataminutes,dataseconds,datamseconds);
				SendClientMessageToAll(0x00FF00FF,msg);
			    }
		    }
  		else
  		    {
    		fileh = fopen(RECORDFILE);
			format(msg,sizeof(msg),"%s %d %d %d ",pname,minutes[playerid],seconds[playerid],mseconds[playerid]);
			fwrite(fileh,msg);
			fclose(fileh);
			format(msg,sizeof(msg),"new best time");
			SendClientMessageToAll(0x00FF00FF,msg);
  		    }
		playerinrace[playerid] = 0;
		if (trigg == 0)
		{
		trigg = 1;
//		GameTextForAll("Race will begin in 20 seconds",3000,3);
//		SendClientMessageToAll(0x00FF00FF,"you have 20 seconds to get a car");
//		SendClientMessageToAll(0x00FF00FF,"and type /joinrace");
		SetTimer("WaitBeforeRaceEnd",20000,0);
		}
//		raceon = 0;
//		racers = 0;
//		rcount = 0;
	    }
    	}

	if (raceon == 1){
	switch (getCheckpointType(playerid)) {
		case CP_BANK: {
			SendClientMessage(playerid, COLOR_GREEN, "* You are at an ATM. To store money use '/bank amount', to withdraw");
			SendClientMessage(playerid, COLOR_GREEN, "* money use '/get amount', and '/balance' to see your balance.");
		}
		case CP_PIRATE: {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You can hold the pirate ship area to gain money.");
		}
		case CP_AMMU: {
			SendClientMessage(playerid, COLOR_GREEN, "* Spawn Weapons Can Be Purchased At Weapon Shops. (in bars)");
		}
        case CP_BAR: {
            GameTextForPlayer(playerid,"~r~Welcome To The ~g~Weapon Shop",5000,5);
			SendClientMessage(playerid, COLOR_GREEN, "* You can purchase weapons here so that you have them every time you spawn.");
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Type /b(melee,pistol,shotgun,smg,rifle) (weaponid) (ammo)");
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "* /weaplist for a list of weapons.");
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "* EXAMPLE: /bsmg 2 400");
		}
		/*case CP_WANGEXPORTS: {
			SellWangExportVehicle(playerid);
		}*/
	}
	
	if (getCheckpointType(playerid) >= P_OFFSET) {
		format(string, sizeof(string), "* You can buy the %s for $%d with /buy.", propertyNames[playerCheckpoint[playerid]-P_OFFSET], propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		format(string, sizeof(string), "* You will earn $%d regularly.", propertyEarnings[playerCheckpoint[playerid]-P_OFFSET]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		if (propertyOwner[playerCheckpoint[playerid]-P_OFFSET] < 999) {
			GetPlayerName(propertyOwner[playerCheckpoint[playerid]-P_OFFSET], ownplayer, sizeof(ownplayer));
			format(string, sizeof(string), "* This property is currently owned by %s.", ownplayer);
			SendClientMessage(playerid, COLOR_RED, string);
		}
		}
		}
		}