Advertisement
Guest User

Todessystem 2.0 by ErikSon

a guest
Mar 2nd, 2014
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.13 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3.  
  4. ///////////////////////////////////////
  5.  
  6. //Farben
  7. #define Schwarz         0x000000FF
  8. #define Rot             0xE10000FF
  9. #define Gelb            0xFFE600FF
  10. #define HBlau           0x00FFFFFF
  11. #define DBlau           0x0000FFFF
  12. #define Blau            0x2E9AFEFF
  13. #define HGruen          0x00FF00FF
  14. #define Orange          0xFFAB00FF
  15. #define Weiss           0xFFFFFFFF
  16. #define Grau            0xDCDCDCFF
  17. #define Gold            0xD4A017AA
  18. #define Lila            0x7800FFFF
  19. #define Pink            0xFF00CDFF
  20. #define Gruen           0x009F32FF
  21.  
  22.  
  23. //Funks
  24. new tot[MAX_PLAYERS],
  25.     tott[MAX_PLAYERS],
  26.     Float:tx[MAX_PLAYERS],
  27.     Float:ty[MAX_PLAYERS],
  28.     Float:tz[MAX_PLAYERS],
  29.     toticon[MAX_PLAYERS],
  30.     reanimierer[MAX_PLAYERS],
  31.     timer[MAX_PLAYERS],
  32.     tzeit[MAX_PLAYERS],
  33.     oskin[MAX_PLAYERS];
  34.    
  35. forward tottimer(playerid);
  36. forward reanimation(playerid);
  37.  
  38. //////////////////////////////////////
  39.  
  40. public OnFilterScriptInit()
  41. {
  42.     print("\n--------------------------------------");
  43.     print(" Todessystem 2.0 by ©ErikSon");
  44.     print("--------------------------------------\n");
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerDisconnect(playerid, reason)
  49. {
  50.     tot[playerid] = 0;
  51.     DestroyPickup(toticon[playerid]);
  52.     return 1;
  53. }
  54.  
  55. public OnPlayerSpawn(playerid)
  56. {
  57.     if(tot[playerid] != 0)
  58.     {
  59.         oskin[playerid] = GetPlayerSkin(playerid);
  60.         SetPlayerPos(playerid,815.3320,-1103.0319,25.7898);
  61.         SetPlayerVirtualWorld(playerid,playerid+1);
  62.         SetPlayerHealth(playerid,10000000000);
  63.         SetPlayerSkin(playerid,162);
  64.         SendClientMessage(playerid,Rot,"Du bist gestorben. Warte 2 Minuten oder warte, bis ein Arzt dich reanimiert.");
  65.         timer[playerid] = SetTimerEx("tottimer",888,true,"i",playerid);
  66.     }
  67.     return 1;
  68. }
  69.  
  70. public OnPlayerDeath(playerid, killerid, reason)
  71. {
  72.     if(tot[playerid] == 1)return 1;
  73.     tot[playerid] = 1; tzeit[playerid] = 120;
  74.     GetPlayerPos(playerid,tx[playerid],ty[playerid],tz[playerid]);
  75.     toticon[playerid] = CreatePickup(1254,1,tx[playerid],ty[playerid],tz[playerid],-1);
  76.     return 1;
  77. }
  78.  
  79. public OnPlayerCommandText(playerid, cmdtext[])
  80. {
  81.     if (strcmp("/reanimieren", cmdtext, true, 10) == 0)
  82.     {
  83.         for(new i = 0; i<MAX_PLAYERS; i++)
  84.         {
  85.             if(!IsPlayerConnected(i))continue;
  86.             if(tot[i] == 0)continue;
  87.             if(!IsPlayerInRangeOfPoint(playerid,5,tx[i],ty[i],tz[i]))return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe einer Leiche!");
  88.             if(tot[playerid] == 1)return 1;
  89.             new string[144]; format(string,144,"'%s' begint mit deiner Reanimation.",Name(playerid));
  90.             SendClientMessage(i,Blau,string);
  91.             ApplyAnimation(playerid,"MEDIC","CPR",1,1,1,1,0,888*10,1);
  92.             SetTimerEx("reanimation",888*10,false,"i",playerid);
  93.         }
  94.         return 1;
  95.     }
  96.     else if(strcmp("/friedhof", cmdtext, true, 10) == 0)
  97.     {
  98.         new string[144]; format(string,144,"Friedhof: Du musst noch '%d' Sekunden auf dem Friedhof sein.",tzeit[playerid]);
  99.         SendClientMessage(playerid,Rot,string);
  100.         return 1;
  101.     }
  102.     return 0;
  103. }
  104.  
  105. public tottimer(playerid)
  106. {
  107.     if(tot[playerid] == 0)return KillTimer(tott[playerid]);
  108.     tzeit[playerid] --;
  109.     if(tzeit[playerid] == 0)
  110.     {
  111.         SetPlayerPos(playerid,954.3651,-1101.4143,23.8072);
  112.         SetPlayerVirtualWorld(playerid,0);
  113.         KillTimer(tott[playerid]);
  114.         DestroyPickup(toticon[playerid]);
  115.         TogglePlayerControllable(playerid,1);
  116.         tot[playerid] = 0;
  117.         tzeit[playerid] = -1;
  118.         SetPlayerSkin(playerid,oskin[playerid]);
  119.     }
  120.     return 1;
  121. }
  122.  
  123.  
  124. public reanimation(playerid)
  125. {
  126.     new Float:x,Float:y,Float:z,string[144];
  127.     GetPlayerPos(playerid,x,y,z);
  128.     for(new i = 0; i<MAX_PLAYERS; i++)
  129.     {
  130.         if(!IsPlayerConnected(i))continue;
  131.         if(tot[i] == 0)continue;
  132.         if(!IsPlayerInRangeOfPoint(playerid,5,tx[i],ty[i],tz[i]))continue;
  133.         format(string,144,"Du hast den Spieler '%s' erfolgreich reanimiert.",Name(i));
  134.         SendClientMessage(playerid,Blau,string);
  135.         format(string,144,"'%s' hat die erfolgreich reanimiert.",Name(playerid));
  136.         SendClientMessage(i,Blau,string);
  137.         SetPlayerPos(i,x,y,z);
  138.         KillTimer(tott[playerid]);
  139.         DestroyPickup(toticon[playerid]);
  140.         tzeit[playerid] = -1;
  141.         tot[playerid] = 0;
  142.         SetPlayerVirtualWorld(i,0);
  143.         TogglePlayerControllable(i,1);
  144.         SetPlayerSkin(i,oskin[playerid]);
  145.     }
  146.     return 1;
  147. }
  148.  
  149.  
  150. stock Name(playerid)
  151. {
  152.     new name[MAX_PLAYERS];
  153.     GetPlayerName(playerid,name,sizeof(name));
  154.     return name;
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement