Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ocmd>
- #include <sscanf>
- #define cRed 0xFF000FFF
- #define cBlue 0x0087FFFF
- new bool:HasOITCStarted;
- new bool:HasOITCJoinStarted;
- new bool:IsInOITC[MAX_PLAYERS];
- new PlayersWaiting;
- new bool:IsPlayerWaiting[MAX_PLAYERS];
- new CDTimer;
- new StartCDTimer;
- new Lives[MAX_PLAYERS];
- forward StartTimer();
- forward SpawnTimer();
- forward Countdown();
- forward StartCountdown();
- enum Area51 {
- Float:SpawnX,
- Float:SpawnY,
- Float:SpawnZ,
- Float:Facing
- }
- new Area51Spawns[8][Area51] = {
- {202.2020, 1858.5676, 13.1406, 314.9288},
- {249.0178, 1858.2908, 14.0840, 33.7224},
- {239.7782, 1843.6123, 8.7578, 314.9287},
- {254.7797, 1807.8236, 4.7109, 42.8509},
- {280.2506, 1839.4673, 11.5348, 270.1033},
- {271.7534, 1873.7627, 8.7578, 186.3616},
- {274.3785, 1889.5531, 3.3828, 144.7061},
- {220.1442, 1822.6493, 7.5302, 271.6884}
- };
- main()
- {
- print("Eine im Lauf v1.0 - by PoTTii");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Eine im Lauf");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- ocmd:join(playerid, params[]){
- if(!HasOITCJoinStarted)
- return SendClientMessage(playerid, cRed, "[Fehler] Es wurde keine Runde gestartet!");
- if(PlayersWaiting == 8)
- return SendClientMessage(playerid, cRed, "[Fehler] Die aktuelle Runde ist bereits voll!");
- if(IsInOITC[playerid])
- return SendClientMessage(playerid, cRed, "[Fehler] Du bist bereits im Spiel!");
- if(IsPlayerWaiting[playerid])
- return SendClientMessage(playerid, cRed, "[Fehler] Du bist bereits in der Warteschlange!");
- IsPlayerWaiting[playerid] = true;
- PlayersWaiting++;
- new str[120];
- format(str, sizeof str, "[EVENT] %s ist dem Event beigetreten. Noch %i Plätze frei! [%i/8]", PlayerName(playerid), 8 - PlayersWaiting, PlayersWaiting);
- SendClientMessageToAll(cBlue, str);
- return 1;
- }
- new CDStart = 44;
- ocmd:start(playerid, params[]){
- if(HasOITCJoinStarted)
- return SendClientMessage(playerid, cRed, "[Fehler] Eine im Lauf läuft bereits!");
- HasOITCJoinStarted = true;
- SendClientMessageToAll(cBlue, "[EVENT] Eine Im Lauf startet in 45 Sekunden! /join zum beitreten! [EVENT]");
- SetTimer("StartTimer", 45000, 0);
- GameTextForAll("~r~45 S. - [0/8]", 1000, 3);
- SetTimer("StartCountdown", 1000, 0);
- return 1;
- }
- new CD = 14;
- public StartTimer(){
- new sp = 0;
- for(new i=0; i<MAX_PLAYERS; i++)
- if(IsPlayerWaiting[i]){
- SetPlayerPos(i, Area51Spawns[sp][SpawnX], Area51Spawns[sp][SpawnY], Area51Spawns[sp][SpawnZ]);
- SetPlayerFacingAngle(i, Area51Spawns[sp][Facing]);
- SetCameraBehindPlayer(i);
- GivePlayerWeapon(i, 23, 1);
- GivePlayerWeapon(i, 4, 1);
- TogglePlayerControllable(i, 0);
- GameTextForPlayer(i, "~w~Noch ~r~15 ~w~Sekunden!", 1000, 3);
- IsInOITC[i] = true;
- sp++;
- Lives[i] = 3;
- }
- CDTimer = SetTimer("Countdown", 1000, 0);
- SetTimer("SpawnTimer", 15000, 0);
- SendClientMessageToAll(cBlue, "[EVENT] Teilnehmer zur Arena teleportiert. Beginn in 15 Sekunden! [EVENT]");
- return 1;
- }
- public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
- {
- if(IsInOITC[playerid] && IsInOITC[damagedid] && playerid != INVALID_PLAYER_ID){
- SetPlayerHealth(damagedid, 0.0);
- GivePlayerWeapon(playerid, 23, 1);
- Lives[damagedid] = Lives[damagedid] - 1;
- if(Lives[damagedid] == 0){
- IsInOITC[damagedid] = false;
- SendClientMessage(playerid, cRed, "[EVENT] Du hast alle deine 3 Leben verloren! [EVENT]");
- SpawnPlayer(damagedid);
- }
- else {
- new sp = random(7);
- SetPlayerPos(damagedid, Area51Spawns[sp][SpawnX], Area51Spawns[sp][SpawnY], Area51Spawns[sp][SpawnZ]);
- SetPlayerFacingAngle(damagedid, Area51Spawns[sp][Facing]);
- SetCameraBehindPlayer(damagedid);
- GivePlayerWeapon(damagedid, 23, 1);
- GivePlayerWeapon(damagedid, 4, 1);
- }
- }
- return 1;
- }
- public StartCountdown(){
- new rest[60];
- format(rest, sizeof rest, "~r~%i S.~w~ - [%i/8]", CDStart, PlayersWaiting);
- GameTextForAll(rest, 1000, 3);
- if(CDStart == 1)
- KillTimer(StartCDTimer);
- else{
- CDStart = CDStart-1;
- SetTimer("StartCountdown", 1000, 0);
- }
- return 1;
- }
- public Countdown(){
- new rest[40];
- format(rest, sizeof rest, "~w~Noch ~r~%i ~w~Sekunden!", CD);
- for(new i=0; i<MAX_PLAYERS; i++){
- if(IsInOITC[i]){
- GameTextForPlayer(i, rest, 1000, 3);
- }
- }
- if(CD == 1)
- KillTimer(CDTimer);
- else{
- CD = CD-1;
- SetTimer("Countdown", 1000, 0);
- }
- return 1;
- }
- public SpawnTimer(){
- for(new i=0; i<MAX_PLAYERS; i++){
- if(IsInOITC[i]){
- TogglePlayerControllable(i, 1);
- }
- }
- SendClientMessageToAll(cBlue, "[EVENT] Eine im Lauf hat begonnen! Leben: 3, Anfangskugeln: 1 [EVENT]");
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYERS];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement