Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- #
- #-------------------------------------
- # Race Boat version v1.2 by HavingGood
- #-------------------------------------
- #
- # Commands:
- # /sbrace - Start race Only Admin
- # /resrace - Reset race Only Admin
- # /brace - Signup for the race for players
- # /fix - Fix car for players
- #
- */
- //------Include------
- #include <a_samp>
- #include <zcmd>
- //---definitions---
- #define COLOR_GREEN 0x339966
- //---New---
- new
- RBoats,
- SaveBoat[MAX_PLAYERS],
- BoatPeople = 6,
- TimeBoats,
- TimerBoat,
- BoatsStarted,
- sh3,
- Boat1,
- Boat2,
- Boat3,
- Boat4,
- Boat5,
- Boat6,
- SaBoat2,
- Float:x3, Float:y3, Float:z3,
- PlayerObject[9];
- public OnPlayerConnect(playerid)
- {
- SaveBoat[playerid] = 0;
- return 1;}
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- if(strfind(cmdtext, "/fix") == -1)
- if(SaveBoat[playerid] == 1) return SendClientMessage(playerid, 0xff0000ff, "You cannot use the command!");
- return 0;}
- CMD:brace(playerid, params[])
- {
- #pragma unused params
- if(BoatPeople > 0)
- {
- if(RBoats == 1)
- {
- if(SaveBoat[playerid] == 0)
- {
- GetPlayerPos(playerid, x3, y3, z3);
- SendClientMessage(playerid, 0xff0000ff, "You joined in RaceBoat");
- SaveBoat[playerid] = 1;
- BoatPeople--;
- SaBoat2++;
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "Already you signed up on race");
- }
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "No ongoing subscription for race!");
- }
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "No place for race!");
- }
- return 1;}
- CMD:resrace(playerid, params[])
- {
- #pragma unused params
- if(IsPlayerAdmin(playerid)){
- new string[28];
- if(RBoats == 0){
- SaveBoat[playerid] = 0;
- BoatsStarted = 0;
- Deleteq(playerid);
- KillTimer(TimerBoat);
- format(string, sizeof(string), "~r~Admin %s ~y~Has been reset race", Player(playerid));}
- }
- return 1;}
- CMD:fix(playerid, params[])
- {
- #pragma unused params
- if(IsPlayerInAnyVehicle(playerid))
- SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
- RepairVehicle(GetPlayerVehicleID(playerid));
- SendClientMessage(playerid, COLOR_GREEN, "You repair boat");
- return 1;}
- CMD:sbrace(playerid, params[])
- {
- #pragma unused params
- if(RBoats == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(BoatsStarted == 0)
- {
- RBoats = 1;
- TimerBoat = SetTimer("Startbrace", 1000, 1);
- TimeBoats = 30;
- BoatPeople = 6;
- sh3 = 0;
- SaBoat2 = 0;
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "Race on!");
- }
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "No permission");
- }
- }
- else
- {
- SendClientMessage(playerid, 0xff0000ff, "One race is already underway!");
- }
- return 1;}
- forward Startbrace();
- public Startbrace()
- {
- TimeBoats--;
- new string[256];
- format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~w~Race boats!~n~To subscribe write /brace~n~~g~Free places: %d ~n~~p~Will start in %d sec.", BoatPeople, TimeBoats);
- GameTextForAll(string, 1000, 3);
- if(TimeBoats == 0)
- {
- KillTimer(TimerBoat);
- RBoats = 0;
- BoatsStarted = 1;
- }
- if(TimeBoats == 0)
- {
- if(SaBoat2 <=0)
- {
- SendClientMessageToAll(0xff0000ff, "No people in race!");
- BoatsStarted = 0;
- }
- }
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- if(TimeBoats == 0)
- {
- if(SaveBoat[i] == 1)
- {
- SetPlayerCheckpoint(i, -41.8892,-598.3351,-0.1207, 15.0);
- sh3 = random(6);
- if(sh3 == 0)
- {
- Boat1 = AddStaticVehicle(493,1942.417,-251.958,1.366,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat1, 0);
- }
- else if(sh3 == 1)
- {
- Boat2 = AddStaticVehicle(493,1951.182,-253.128,1.388,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat2, 0);
- }
- else if(sh3 == 2)
- {
- Boat3 = AddStaticVehicle(493,1955.429,-230.359,1.426,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat3, 0);
- }
- else if(sh3 == 3)
- {
- Boat4 = AddStaticVehicle(493,1946.536,-228.397,1.402,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat4, 0);
- }
- else if(sh3 == 4)
- {
- Boat5 = AddStaticVehicle(493,1961.798,-254.666,1.335,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat5, 0);
- }
- else if(sh3 == 5)
- {
- Boat6 = AddStaticVehicle(493,1964.774,-231.862,1.401,349.0,-1,-1);
- PutPlayerInVehicle(i, Boat6, 0);
- }
- if(PlayerOnTele(i))
- PlayerObject[0] = CreatePlayerObject(i,1655, 1933.348, -158.0981, 1.2938, 0, 0, 11.25);
- PlayerObject[1] = CreatePlayerObject(i,1655, 1941.9407, -156.4904, 1.2853, 0, 0, 11.25);
- PlayerObject[2] = CreatePlayerObject(i,1655, 1825.3428, -44.8284, 1.2946, 0, 0, 67.5);
- PlayerObject[3] = CreatePlayerObject(i,1655, 1685.3217, -16.1496, 1.285, 0, 0, 78.75);
- PlayerObject[4] = CreatePlayerObject(i,1655, 1603.8607, -102.9386, 1.2732, 0, 0, 180);
- PlayerObject[5] = CreatePlayerObject(i,1634, 1399.4585, -254.9023, 1.2896, 0, 0, 90);
- PlayerObject[6] = CreatePlayerObject(i,1634, 1399.4789, -250.7029, 1.3193, 0, 0, 90);
- PlayerObject[7] = CreatePlayerObject(i,1655, 1098.5001, -111.0342, 1.3009, 0, 0, 98.5943);
- PlayerObject[8] = CreatePlayerObject(i,1655, 676.477, -226.1338, 0.9883, 0, 0, 90);
- }
- }
- }
- return 1;}
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(BoatsStarted == 1)
- {
- if(SaveBoat[playerid] == 1)
- {
- new string[128];
- format(string, sizeof(string), "{CCFF99}Player {CCFFCC}%s{CCFF99} won the race, He receives{FF66CC} 100000$!", Player(playerid));
- GivePlayerMoney(playerid, 100000);
- SendClientMessageToAll(0xff0000ff, string);
- BoatsStarted = 0;
- ResetRBoats(playerid);
- Deleteq(playerid);
- }
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- SetPlayerPos(i, x3, y3, z3);
- SaveBoat[i] = 0;
- DisablePlayerCheckpoint(i);
- }
- }
- return 1;}
- PlayerOnTele(PlayerId)
- {
- TogglePlayerControllable(PlayerId, 0);
- SetTimerEx("UnfreezePlayer", 2999, false, "d", PlayerId);
- return true;}
- forward UnfreezePlayer(PlayerId);
- public UnfreezePlayer(PlayerId)
- {
- TogglePlayerControllable(PlayerId, 1);
- GameTextForPlayer(PlayerId, "~r~Go~p~-Go!", 2499, 3);
- return 1;}
- forward ResetRBoats(playerid);
- public ResetRBoats(playerid)
- {
- DestroyVehicle(Boat1);
- DestroyVehicle(Boat2);
- DestroyVehicle(Boat3);
- DestroyVehicle(Boat4);
- DestroyVehicle(Boat5);
- DestroyVehicle(Boat6);
- return 1;}
- stock Deleteq(playerid)
- {
- for(new o; o != 9; o++)
- DestroyPlayerObject(playerid, PlayerObject[o]);}
- Player(playerid)
- {
- new player[MAX_PLAYER_NAME];
- GetPlayerName(playerid, player, sizeof(player));
- return player;}
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_DRIVER && SaveBoat[playerid] != -1)
- {
- BoatPeople--;
- SaveBoat[playerid] = 0;
- DisablePlayerCheckpoint(playerid);
- Deleteq(playerid);
- }
- return 1;}
Advertisement
Add Comment
Please, Sign In to add comment