All pastes #758024 Raw Edit

New Code

public cpp v1 · immutable
·published 2007-11-01 20:57 UTC
rendered paste body
public LoadDrift(driftid){    IsDriftOn[driftid] = true;	Winner[driftid] = 0;    for (new i=0; i<MAX_PLAYERS; i++) {		if (IsPlayerConnected(i)) {			DisablePlayerCheckpoint(i);			JoinedDrift[i][driftid] = 0;			CurrentCheckpoint[i] = 0;			InDrift[i][driftid] = 0;		}	}	SendClientMessageToAll(COLOR_GREEN, "A drift has started! Type /joindrift to join.");	return 1;}///////////////////////////////////////////public OnPlayerCommandText(playerid, cmdtext[]){	new cmd[256], idx;	cmd = strtok(cmdtext, idx);	if (!strcmp(cmd, "/startdrift", true))	{		new tmp[256];		tmp = strtok(cmdtext, idx);		for (new i=0; i<MAX_DRIFTS; i++) if (IsDriftOn[i]) return SendClientMessage(playerid, COLOR_RED, "ERROR: There is already a drift on.");		if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /startdrift <driftid>");		if (!IsNumeric(tmp)) return SendClientMessage(playerid, COLOR_RED, "ERROR: Drift ID must be a number.");		if (strval(tmp) > MAX_DRIFTS) return SendClientMessage(playerid, COLOR_RED, "ERROR: This drift does not exists.");		LoadDrift(strval(tmp));		return 1;	}	if (!strcmp(cmd, "/joindrift", true))	{	    new thedrift = GetCurrentDrift();		new c; for (new i=0;i<MAX_DRIFTS;i++) { if (IsDriftOn[i]) c++; }		if (c == 0) return SendClientMessage(playerid, COLOR_RED, "ERROR: There is no drift right now.");		if (InDrift[playerid][thedrift]) return SendClientMessage(playerid, COLOR_RED, "ERROR: You are already in a drift.");		if (JoinedDrift[playerid][thedrift]) return SendClientMessage(playerid, COLOR_RED, "ERROR: You are already in a drift.");		if (GetPlayerState(playerid) != 2) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be in a vehicle.");		if (Drifters[thedrift] > D1_MAX_SPS) return SendClientMessage(playerid, COLOR_RED, "ERROR: This drift is full.");		if (thedrift == 1) {			if (DriftersDrift1[player1] == 0) DriftersDrift1[player1] = playerid;			else if (DriftersDrift1[player2] == 0) DriftersDrift1[player2] = playerid;			else return SendClientMessage(playerid, COLOR_RED, "ERROR: The drift is full.");		}		new player;		if (StartPosition[thedrift][player1] == 0) StartPosition[thedrift][player1] = 1, player = 1;		else if (StartPosition[thedrift][player2] == 0) StartPosition[thedrift][player2] = 1, player = 2;		JoinedDrift[playerid][thedrift] = 1;		Drifters[thedrift]++;		new playervehicle = GetPlayerVehicleID(player);		new pos;		if (player == 1) pos = StartPosition[thedrift][player1];		else if (player == 2) pos = StartPosition[thedrift][player2];		SetVehiclePos(playervehicle, Drift1SP[pos][0], Drift1SP[pos][1], Drift1SP[pos][2]);		SetVehicleZAngle(playervehicle, Drift1SP[pos][3]);		TogglePlayerControllable(playerid, 0);		SetCameraBehindPlayer(playerid);		new s[256]; format(s, 256, "%s (%d) has joined the drift!", ReturnPlayerName(playerid), playerid);		for (new i=0; i<MAX_PLAYERS; i++) {			if (IsPlayerConnected(i)) {				if (i != playerid) SendClientMessage(playerid, COLOR_GREEN, s);				else SendClientMessage(playerid, COLOR_GREEN, "Thank you for joining the drift!");			}		}		if (Drifters[thedrift] == D1_MAX_SPS) StartDrift(thedrift, DriftersDrift1[player1], DriftersDrift1[player2]);		return 1;	}	return 0;}