Advertisement
Guest User

Untitled

a guest
Nov 25th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.38 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ocmd>
  3. #include <sscanf>
  4.  
  5. #define cRed 0xFF000FFF
  6. #define cBlue 0x0087FFFF
  7.  
  8. new bool:HasOITCStarted;
  9. new bool:HasOITCJoinStarted;
  10. new bool:IsInOITC[MAX_PLAYERS];
  11.  
  12. new PlayersWaiting;
  13. new bool:IsPlayerWaiting[MAX_PLAYERS];
  14.  
  15. new CDTimer;
  16. new StartCDTimer;
  17.  
  18. new Lives[MAX_PLAYERS];
  19.  
  20. forward StartTimer();
  21. forward SpawnTimer();
  22. forward Countdown();
  23. forward StartCountdown();
  24.  
  25. enum Area51 {
  26.     Float:SpawnX,
  27.     Float:SpawnY,
  28.     Float:SpawnZ,
  29.     Float:Facing
  30. }
  31.  
  32. new Area51Spawns[8][Area51] = {
  33.     {202.2020, 1858.5676, 13.1406, 314.9288},
  34.     {249.0178, 1858.2908, 14.0840, 33.7224},
  35.     {239.7782, 1843.6123, 8.7578, 314.9287},
  36.     {254.7797, 1807.8236, 4.7109, 42.8509},
  37.     {280.2506, 1839.4673, 11.5348, 270.1033},
  38.     {271.7534, 1873.7627, 8.7578, 186.3616},
  39.     {274.3785, 1889.5531, 3.3828, 144.7061},
  40.     {220.1442, 1822.6493, 7.5302, 271.6884}
  41. };
  42.  
  43.  
  44. main()
  45. {
  46.     print("Eine im Lauf v1.0 - by PoTTii");
  47. }
  48.  
  49. public OnGameModeInit()
  50. {
  51.     SetGameModeText("Eine im Lauf");
  52.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  53.     return 1;
  54. }
  55.  
  56. ocmd:join(playerid, params[]){
  57.     if(!HasOITCJoinStarted)
  58.         return SendClientMessage(playerid, cRed, "[Fehler] Es wurde keine Runde gestartet!");
  59.     if(PlayersWaiting == 8)
  60.         return SendClientMessage(playerid, cRed, "[Fehler] Die aktuelle Runde ist bereits voll!");
  61.     if(IsInOITC[playerid])
  62.         return SendClientMessage(playerid, cRed, "[Fehler] Du bist bereits im Spiel!");
  63.     if(IsPlayerWaiting[playerid])
  64.         return SendClientMessage(playerid, cRed, "[Fehler] Du bist bereits in der Warteschlange!");
  65.     IsPlayerWaiting[playerid] = true;
  66.     PlayersWaiting++;
  67.     new str[120];
  68.     format(str, sizeof str, "[EVENT] %s ist dem Event beigetreten. Noch %i Plätze frei! [%i/8]", PlayerName(playerid), 8 - PlayersWaiting, PlayersWaiting);
  69.     SendClientMessageToAll(cBlue, str);
  70.     return 1;
  71. }
  72. new CDStart = 44;
  73. ocmd:start(playerid, params[]){
  74.     if(HasOITCJoinStarted)
  75.         return SendClientMessage(playerid, cRed, "[Fehler] Eine im Lauf läuft bereits!");
  76.     HasOITCJoinStarted = true;
  77.     SendClientMessageToAll(cBlue, "[EVENT] Eine Im Lauf startet in 45 Sekunden! /join zum beitreten! [EVENT]");
  78.     SetTimer("StartTimer", 45000, 0);
  79.     GameTextForAll("~r~45 S. - [0/8]", 1000, 3);
  80.     SetTimer("StartCountdown", 1000, 0);
  81.     return 1;
  82. }
  83.  
  84. new CD = 14;
  85. public StartTimer(){
  86.     new sp = 0;
  87.     for(new i=0; i<MAX_PLAYERS; i++)
  88.         if(IsPlayerWaiting[i]){
  89.             SetPlayerPos(i, Area51Spawns[sp][SpawnX], Area51Spawns[sp][SpawnY], Area51Spawns[sp][SpawnZ]);
  90.             SetPlayerFacingAngle(i, Area51Spawns[sp][Facing]);
  91.             SetCameraBehindPlayer(i);
  92.             GivePlayerWeapon(i, 23, 1);
  93.             GivePlayerWeapon(i, 4, 1);
  94.             TogglePlayerControllable(i, 0);
  95.             GameTextForPlayer(i, "~w~Noch ~r~15 ~w~Sekunden!", 1000, 3);
  96.             IsInOITC[i] = true;
  97.             sp++;
  98.             Lives[i] = 3;
  99.         }
  100.     CDTimer = SetTimer("Countdown", 1000, 0);
  101.     SetTimer("SpawnTimer", 15000, 0);
  102.     SendClientMessageToAll(cBlue, "[EVENT] Teilnehmer zur Arena teleportiert. Beginn in 15 Sekunden! [EVENT]");
  103.     return 1;
  104. }
  105.  
  106. public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
  107. {
  108.     if(IsInOITC[playerid] && IsInOITC[damagedid] && playerid != INVALID_PLAYER_ID){
  109.         SetPlayerHealth(damagedid, 0.0);
  110.         GivePlayerWeapon(playerid, 23, 1);
  111.         Lives[damagedid] = Lives[damagedid] - 1;
  112.        
  113.         if(Lives[damagedid] == 0){
  114.             IsInOITC[damagedid] = false;
  115.             SendClientMessage(playerid, cRed, "[EVENT] Du hast alle deine 3 Leben verloren! [EVENT]");
  116.             SpawnPlayer(damagedid);
  117.         }
  118.         else {
  119.             new sp = random(7);
  120.             SetPlayerPos(damagedid, Area51Spawns[sp][SpawnX], Area51Spawns[sp][SpawnY], Area51Spawns[sp][SpawnZ]);
  121.             SetPlayerFacingAngle(damagedid, Area51Spawns[sp][Facing]);
  122.             SetCameraBehindPlayer(damagedid);
  123.             GivePlayerWeapon(damagedid, 23, 1);
  124.             GivePlayerWeapon(damagedid, 4, 1);
  125.         }
  126.     }
  127.     return 1;
  128. }
  129.  
  130. public StartCountdown(){
  131.     new rest[60];
  132.     format(rest, sizeof rest, "~r~%i S.~w~ - [%i/8]", CDStart, PlayersWaiting);
  133.     GameTextForAll(rest, 1000, 3);
  134.     if(CDStart == 1)
  135.         KillTimer(StartCDTimer);
  136.     else{
  137.         CDStart = CDStart-1;
  138.         SetTimer("StartCountdown", 1000, 0);
  139.     }
  140.     return 1;
  141. }
  142.  
  143. public Countdown(){
  144.     new rest[40];
  145.     format(rest, sizeof rest, "~w~Noch ~r~%i ~w~Sekunden!", CD);
  146.     for(new i=0; i<MAX_PLAYERS; i++){
  147.         if(IsInOITC[i]){
  148.             GameTextForPlayer(i, rest, 1000, 3);
  149.         }  
  150.     }
  151.     if(CD == 1)
  152.         KillTimer(CDTimer);
  153.     else{
  154.         CD = CD-1;
  155.         SetTimer("Countdown", 1000, 0);
  156.     }
  157.     return 1;
  158. }
  159.  
  160. public SpawnTimer(){
  161.     for(new i=0; i<MAX_PLAYERS; i++){
  162.         if(IsInOITC[i]){
  163.             TogglePlayerControllable(i, 1);
  164.         }  
  165.     }
  166.     SendClientMessageToAll(cBlue, "[EVENT] Eine im Lauf hat begonnen! Leben: 3, Anfangskugeln: 1 [EVENT]");
  167.     return 1;
  168. }
  169.  
  170.  
  171. public OnGameModeExit()
  172. {
  173.     return 1;
  174. }
  175.  
  176. public OnPlayerRequestClass(playerid, classid)
  177. {
  178.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  179.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  180.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  181.     return 1;
  182. }
  183.  
  184. public OnPlayerConnect(playerid)
  185. {
  186.     return 1;
  187. }
  188.  
  189.  
  190. public OnPlayerDisconnect(playerid, reason)
  191. {
  192.     return 1;
  193. }
  194.  
  195. public OnPlayerSpawn(playerid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnPlayerDeath(playerid, killerid, reason)
  201. {
  202.     return 1;
  203. }
  204.  
  205. public OnVehicleSpawn(vehicleid)
  206. {
  207.     return 1;
  208. }
  209.  
  210. public OnVehicleDeath(vehicleid, killerid)
  211. {
  212.     return 1;
  213. }
  214.  
  215. public OnPlayerText(playerid, text[])
  216. {
  217.     return 1;
  218. }
  219.  
  220. public OnPlayerCommandText(playerid, cmdtext[])
  221. {
  222.    
  223.     return 0;
  224. }
  225.  
  226. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  227. {
  228.     return 1;
  229. }
  230.  
  231. public OnPlayerExitVehicle(playerid, vehicleid)
  232. {
  233.     return 1;
  234. }
  235.  
  236. public OnPlayerStateChange(playerid, newstate, oldstate)
  237. {
  238.     return 1;
  239. }
  240.  
  241. public OnPlayerEnterCheckpoint(playerid)
  242. {
  243.     return 1;
  244. }
  245.  
  246. public OnPlayerLeaveCheckpoint(playerid)
  247. {
  248.     return 1;
  249. }
  250.  
  251. public OnPlayerEnterRaceCheckpoint(playerid)
  252. {
  253.     return 1;
  254. }
  255.  
  256. public OnPlayerLeaveRaceCheckpoint(playerid)
  257. {
  258.     return 1;
  259. }
  260.  
  261. public OnRconCommand(cmd[])
  262. {
  263.     return 1;
  264. }
  265.  
  266. public OnPlayerRequestSpawn(playerid)
  267. {
  268.     return 1;
  269. }
  270.  
  271. public OnObjectMoved(objectid)
  272. {
  273.     return 1;
  274. }
  275.  
  276. public OnPlayerObjectMoved(playerid, objectid)
  277. {
  278.     return 1;
  279. }
  280.  
  281. public OnPlayerPickUpPickup(playerid, pickupid)
  282. {
  283.     return 1;
  284. }
  285.  
  286. public OnVehicleMod(playerid, vehicleid, componentid)
  287. {
  288.     return 1;
  289. }
  290.  
  291. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  292. {
  293.     return 1;
  294. }
  295.  
  296. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  297. {
  298.     return 1;
  299. }
  300.  
  301. public OnPlayerSelectedMenuRow(playerid, row)
  302. {
  303.     return 1;
  304. }
  305.  
  306. public OnPlayerExitedMenu(playerid)
  307. {
  308.     return 1;
  309. }
  310.  
  311. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  312. {
  313.     return 1;
  314. }
  315.  
  316. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  317. {
  318.     return 1;
  319. }
  320.  
  321. public OnRconLoginAttempt(ip[], password[], success)
  322. {
  323.     return 1;
  324. }
  325.  
  326. public OnPlayerUpdate(playerid)
  327. {
  328.     return 1;
  329. }
  330.  
  331. public OnPlayerStreamIn(playerid, forplayerid)
  332. {
  333.     return 1;
  334. }
  335.  
  336. public OnPlayerStreamOut(playerid, forplayerid)
  337. {
  338.     return 1;
  339. }
  340.  
  341. public OnVehicleStreamIn(vehicleid, forplayerid)
  342. {
  343.     return 1;
  344. }
  345.  
  346. public OnVehicleStreamOut(vehicleid, forplayerid)
  347. {
  348.     return 1;
  349. }
  350.  
  351. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  352. {
  353.     return 1;
  354. }
  355.  
  356. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  357. {
  358.     return 1;
  359. }
  360.  
  361.  
  362. stock PlayerName(playerid)
  363. {
  364.    new name[MAX_PLAYERS];
  365.    GetPlayerName(playerid,name,sizeof(name));
  366.    return name;
  367. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement