09.09.2009, 10:47
hi all,
i use yrace for racing on my server. And i want to make an auto teleport to first checkpoint. i mean if a player types /join, he will teleport to first cp automaticly. Here is the /join command:
and SetRaceCheckpoint public:
any help?
i use yrace for racing on my server. And i want to make an auto teleport to first checkpoint. i mean if a player types /join, he will teleport to first cp automaticly. Here is the /join command:
Код:
dcmd_join(playerid,params[]) { #pragma unused params if(RaceBuilders[playerid] != 0) { SendClientMessage(playerid, COLOR_YELLOW, "You are currently building a race, can't join. Use /clearrace to exit build mode."); return 1; } if(RaceParticipant[playerid]>0) { SendClientMessage(playerid, COLOR_YELLOW, "You've already joined the race!"); } else if(RaceActive==1 && RaceStart==0) { if(PrizeMode >= 2 && GetPlayerMoney(playerid) < JoinFee) { format(ystring,sizeof(ystring),"You don't have enough money to join the race! (Join fee: %d$)",JoinFee); SendClientMessage(playerid, COLOR_YELLOW, ystring); return 1; } else if (PrizeMode >= 2) { new tempval; tempval=(-1)*JoinFee; GivePlayerMoney(playerid,tempval); Pot+=JoinFee; } CurrentCheckpoint[playerid]=0; if(Racemode == 3) { SetRaceCheckpoint(playerid,LCurrentCheckpoint,LCurrentCheckpoint-1); CurrentCheckpoint[playerid]=LCurrentCheckpoint; } else SetRaceCheckpoint(playerid,0,1); RaceParticipant[playerid]=1; CurrentLap[playerid]=0; SendClientMessage(playerid, COLOR_GREEN, "You have joined the race, go to the start!"); Participants++; inmenu[playerid]=1; } else if(RaceActive==1 && RaceStart==1) { SendClientMessage(playerid, COLOR_YELLOW, "The race has already started, can't join."); } else { SendClientMessage(playerid, COLOR_YELLOW, "There is no race you can join."); } return 1; }
Код:
public SetRaceCheckpoint(playerid,target,next) { if(next == -1 && Airrace == 0) SetPlayerRaceCheckpoint(playerid,1,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],0.0,0.0,0.0,CPsize); else if(next == -1 && Airrace == 1) SetPlayerRaceCheckpoint(playerid,4,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],0.0,0.0,0.0,CPsize); else if(Airrace == 1) SetPlayerRaceCheckpoint(playerid,3,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],RaceCheckpoints[next][0], RaceCheckpoints[next][1],RaceCheckpoints[next][2],CPsize); else SetPlayerRaceCheckpoint(playerid,0,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2],RaceCheckpoints[next][0],RaceCheckpoints[next][1], RaceCheckpoints[next][2],CPsize); }