Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void Init() {
  2. }
  3.  
  4. string displayText;
  5. string changeToChar;
  6. string changeTeam;
  7. string newTeamName;
  8. string recoverHealth;
  9. string recoverAll;
  10. float changeRunSpeedAmt;
  11. float changeDmgResistanceAmt;
  12. float changeAttackSpeedAmt;
  13. float changeAttackDmgAmt;
  14.  
  15. void SetParameters() {
  16.        
  17.     params.AddString("Display Text","false");
  18.     displayText = params.GetString("Display Text");
  19.  
  20.     params.AddString("Change to Character(Path)","false");
  21.     changeToChar = params.GetString("Change to Character(Path)");
  22.    
  23.     params.AddString("Change Team","false");
  24.     changeTeam = params.GetString("Change Team");
  25.    
  26.     params.AddString("New Team Name","guard");
  27.     newTeamName = params.GetString("New Team Name");
  28.  
  29.     params.AddString("Recover Health","false");
  30.     recoverHealth = params.GetString("Recover Health");
  31.  
  32.     params.AddString("Recover All","false");
  33.  
  34.    
  35. }
  36.  
  37. void HandleEvent(string event, MovementObject @mo){
  38.     if(event == "enter"){
  39.         OnEnter(mo);
  40.     } else if(event == "exit"){
  41.         OnExit(mo);
  42.     }
  43. }
  44.  
  45. void OnEnter(MovementObject @mo) {
  46.     if(mo.controlled){
  47.      
  48.         //Display Text
  49.         if (displayText != "false")
  50.             level.Execute("ReceiveMessage2(\"displaytext\",\""+displayText+"\")");
  51.          
  52.         //Change to character
  53.         if (changeToChar != "false")
  54.             mo.Execute("SwitchCharacter(\""+changeToChar+"\");");
  55.          
  56.         //Change team
  57.         if (changeTeam != "false"){
  58.             Object@ mo_obj = ReadObjectFromID(mo.GetID());
  59.             ScriptParams@ mo_params = mo_obj.GetScriptParams();
  60.             mo_params.SetString("Teams", newTeamName);
  61.         }
  62.            
  63.         //Recover Health
  64.         if (recoverHealth == "true")
  65.             mo.Execute("RecoverHealth();");
  66.          
  67.         //Recover All
  68.         if (recoverAll == "true")
  69.             mo.Execute("Recover();");
  70.          
  71.         //Change Player Run Speed
  72.         if (changeRunSpeedAmt > 0.0f){
  73.             mo.Execute("run_speed = 8*"+changeRunSpeedAmt+";");
  74.             mo.Execute("true_max_speed = 12*"+changeRunSpeedAmt+";");
  75.         }
  76.          
  77.         //Change Damage Resistance
  78.         if (changeDmgResistanceAmt != 0.0f){
  79.             float damageResistance = 1.0f / changeDmgResistanceAmt;
  80.             mo.Execute("p_damage_multiplier = "+damageResistance+";");
  81.         }
  82.          
  83.         //Change Attack Speed
  84.         if (changeAttackSpeedAmt != 0.0f){
  85.             mo.Execute("p_attack_speed_mult = min(2.0f, max(0.1f, "+changeAttackDmgAmt+"));");
  86.         }
  87.          
  88.         //Change Attack Damage
  89.         if (changeAttackDmgAmt != 0.0f){
  90.             mo.Execute("p_attack_damage_mult = max(0.0f, "+changeAttackDmgAmt+");");
  91.         }
  92.  
  93.     }
  94.     else{
  95.     //NPCs
  96.      
  97.     }
  98. }
  99.  
  100. void OnExit(MovementObject @mo) {
  101.     if(mo.controlled){
  102.         level.Execute("ReceiveMessage(\"cleartext\")");
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement