sasaa86

Untitled

Oct 23rd, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.67 KB | None | 0 0
  1. /* https://www.reddit.com/r/dayz/comments/9km0rd/how_can_i_enable_death_message_on_my_server/?utm_term=30912599598&utm_medium=comment_embed&utm_source=embed&utm_name=dc91e9ae-d68d-11e8-84e7-0ed22f9f36da&utm_content=footer */
  2.  
  3. private string PlayerIdentityName = "empty";
  4.  
  5. string GetPlayerIdentityName()
  6. {
  7.     return this.PlayerIdentityName;
  8. }
  9.  
  10. void SetPlayerIdentityName(string name)
  11. {
  12.     this.PlayerIdentityName = name;
  13. }
  14.  
  15. Then added in PlayerBase -> EEKilled
  16.  
  17. SurvivorBase sbKilled = this;
  18.  
  19. if (killer.IsMan()) {
  20.     Man manKiller = Man.Cast(killer);
  21.     GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By " + manKiller.GetIdentity().GetName());
  22. } else {
  23.     GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed by zombie/bleedout/fall?");
  24. }
  25.  
  26.  
  27.    
  28.     // Admins
  29.     // Sasaa    76561198015080948
  30.     // Rene             76561197973590083
  31.     // Mauss            76561198015299671
  32.     // stefan           76561198021971615
  33.  
  34. SurvivorBase sbKilled = this;
  35.  
  36. if (killer.IsMan()) {
  37.     Man manKiller = Man.Cast(killer);
  38.     float distance = vector.Distance(manKiller.GetPosition(),sbKilled.GetPosition());
  39.     switch(player.GetIdentity().GetPlainId()) {
  40.         // Admin Sasaa
  41.         case "76561198015080948":
  42.             GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By Admin SaSaa from " + distance );
  43.         break;
  44.        
  45.         // Admin Rene
  46.         case "76561197973590083":
  47.             GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By Admin Rene from " + distance );
  48.         break;
  49.        
  50.         // Admin Mauss
  51.         case "76561198015299671":
  52.             GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By Admin Mauss from " + distance );
  53.         break;
  54.        
  55.         // Admin Stefan
  56.         case "76561198021971615":
  57.             GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By Admin Stefan from " + distance );
  58.         break;
  59.        
  60.         // Normal players
  61.         default:
  62.             GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed By " + manKiller.GetIdentity().GetName() + " from " + distance );
  63.         break;
  64.     }
  65. } else {
  66.     GetGame().ChatPlayer( 0, sbKilled.GetPlayerIdentityName() + " Killed by zombie/bleedout/fall?");
  67. }
  68.  
  69.  
  70. static vector zonepvp_pos1 = {5231.25, 0, 9820.31};// point1
  71. static vector zonepvp_pos2 = {2321.25, 0, 8452.31};// point2
  72.    
  73.     override void OnInit()
  74.     {
  75.  
  76.         GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(NumPLayersOnServer, 60000, true);      // 10 min
  77.        
  78.         super.OnInit();
  79.        
  80.         GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(CheckPVPZone, 1000, true); //pvp
  81.        
  82.     }
  83.    
  84.     void CheckPVPZone()//pvp
  85.     {
  86.         bool in_zone1 = true;
  87.         bool in_zone2 = true;
  88.         ref array<Man> players = new array<Man>;
  89.         GetGame().GetPlayers( players );
  90.         if ( players.Count() > 0 )
  91.         {
  92.             for ( int i = 0; i < players.Count(); i++ )
  93.             {
  94.                 PlayerBase player;
  95.                 Class.CastTo(player, players.Get(i));
  96.                 float dist1 = vector.Distance(player.GetPosition(),zonepvp_pos1);
  97.                 float dist2 = vector.Distance(player.GetPosition(),zonepvp_pos2);
  98.                 if (dist1 > 346) in_zone1 = false;
  99.                 if (dist2 > 346) in_zone2 = false;
  100.                 if(!in_zone1 && !in_zone2) //дистанция от центра к игроку, откуда игрок будет получать предупреждения и урон
  101.                 {
  102.                     float newHeal = player.GetHealth("", "") - 1; //1 - это урон для игрока
  103.                     player.SetHealth("", "", newHeal);
  104.                     string messPlayers = "эй ты (" + player.GetIdentity().GetName() + ") пиздуй обратно, а то здохнеш!";
  105.                     Param1<string> m_MessageParam = new Param1<string>(messPlayers);
  106.                     GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity());
  107.                 }
  108.             }
  109.         }
  110.     }
Add Comment
Please, Sign In to add comment