hlmod.hu
https://hlmod.hu/

Camperek ellen
https://hlmod.hu/viewtopic.php?f=10&t=2776
Oldal: 1 / 1

Szerző:  digitation [2011.11.26. 16:44 ]
Hozzászólás témája:  Camperek ellen

Sziasztok mivel még mindíg ámusz hülye vagyok a script íráshoz ezért csináljátok már meg nekem azta plugintami a következőket tudja:

Ha 20mp-ig egy helyben állsz akkor 4* megüt téged 5hp minusszal [és persze arrébdobá

Előre is thx.

Szerző:  bidebidi [2011.11.26. 17:03 ]
Hozzászólás témája:  Re: Camperek ellen

digitation írta:
Sziasztok mivel még mindíg ámusz hülye vagyok a script íráshoz ezért csináljátok már meg nekem azta plugintami a következőket tudja:

Ha 20mp-ig egy helyben állsz akkor 4* megüt téged 5hp minusszal [és persze arrébdobá

Előre is thx.


bad campert átkell irni persze nem én mivel nem értek hozzá de abból már könnyü gondlom :)

Szerző:  digitation [2011.11.26. 17:05 ]
Hozzászólás témája:  Re: Camperek ellen

TE sem érted meg, hogy azzal kezdtem hogy megnézzem a badcamper-rel mit kezdhetek.

Nagy kalap sz*rt.

Ezért kérek valkit aki hozzáértő pls írja meg.

Szerző:  VirTuaL ~` [2011.11.26. 17:14 ]
Hozzászólás témája:  Re: Camperek ellen

Hát ez pontosan azt csinálja,csak ha 20 mp-ig állsz akkor folyamatosan üt nem csak 4*
Kód:
#include <amxmodx>
#include <fun>

#define SND_STOP (1<<5)

new playercoord0[33][3]
new playercoord1[33][3]
new playercoord2[33][3]
new playercoord3[33][3]
new playercoord4[33][3]
new campmeter[33]
new bool:pausecounter[33]
new bool:bombplanted
new bool:de_map
new camptolerancedefending = 180
new camptoleranceattacking = 200



public sqrt(num) {
   new div = num;
   new result = 1;
   while (div > result) {   // end when div == result, or just below
      div = (div + result) / 2   // take mean value as new divisor
      result = num / div
   }
   return div;
}

public unpausecounter(parm[]) {
   new id = parm[0]
   pausecounter[id] = false
   return PLUGIN_CONTINUE
}

public displaymeter(id) {
   if (get_cvar_num("anticamping_meter") != 0) {
      if (campmeter[id] > 100) {
         set_hudmessage(255, 0, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 90) {
         set_hudmessage(255, 0, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 80){
         set_hudmessage(255, 100, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 50 ) {
         set_hudmessage(255, 255, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 20 ) {
         set_hudmessage(0, 255, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else {
         set_hudmessage(0, 0, 255, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      }
   }
   return PLUGIN_HANDLED
}

public checkcamping(){
   if (get_cvar_num("anticamping") == 0){
      set_task(1.0,"checkcamping",1)
      return PLUGIN_CONTINUE
   }
   new players[32]
   new numberofplayers
   new variance[3]
   new average[3]
   new variancetotal
   new standarddeviation
   new id
   new team
   new i
   new j
   get_players(players, numberofplayers, "a")
   for (i = 0; i < numberofplayers; ++i) {
      while (i < numberofplayers && pausecounter[players[i]]) {
         ++i
      }
      if (i >= numberofplayers){
         set_task(1.0,"checkcamping",1)
         return PLUGIN_CONTINUE
      }
      id = players[i]
      for (j = 0; j < 3; ++j) {
         playercoord4[id][j] = playercoord3[id][j]
         playercoord3[id][j] = playercoord2[id][j]
         playercoord2[id][j] = playercoord1[id][j]
         playercoord1[id][j] = playercoord0[id][j]
      }
      get_user_origin(id, playercoord0[id], 0)
      for (j = 0; j < 3; ++j) {
         average[j] = (playercoord0[id][j] +
                     playercoord1[id][j] +
                     playercoord2[id][j] +
                     playercoord3[id][j] +
                     playercoord4[id][j]) / 5
         variance[j] = (((playercoord0[id][j] - average[j]) * (playercoord0[id][j] - average[j]) +
                       (playercoord1[id][j] - average[j]) * (playercoord1[id][j] - average[j]) +
                       (playercoord2[id][j] - average[j]) * (playercoord2[id][j] - average[j]) +
                       (playercoord3[id][j] - average[j]) * (playercoord3[id][j] - average[j]) +
                       (playercoord4[id][j] - average[j]) * (playercoord4[id][j] - average[j])) / 4)
      }
      variancetotal=variance[0]+variance[1]+variance[2]
      standarddeviation=sqrt(variancetotal)
      team = get_user_team(id)
      if (!de_map){
         if (team==2)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] += (camptoleranceattacking - standarddeviation) / get_cvar_num("anticamping_camptime")
         else
            campmeter[id] += (camptoleranceattacking - standarddeviation) / get_cvar_num("anticamping_camptime")
      }
      else if (bombplanted){
         if (team == 1)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] = 0
         else
            campmeter[id] += (camptoleranceattacking-standarddeviation)/get_cvar_num("anticamping_camptime")
      }
      else{
         if (team==2)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] += (camptolerancedefending-standarddeviation)/get_cvar_num("anticamping_camptime")
         else
            campmeter[id] += (camptoleranceattacking-standarddeviation)/get_cvar_num("anticamping_camptime")
      }
      if (campmeter[id] < 80 ) {
         emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.0, ATTN_NORM, SND_STOP, PITCH_NORM)
      }
      if (campmeter[id] < 0) {
         campmeter[id] = 0
      } else if (campmeter[id]>100) {
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish"))
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish"))
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            }
         }
         campmeter[id] = 100
      } else if (campmeter[id] > 90) {
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish") / 5)
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish") / 5)
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.5, ATTN_NORM, 0, PITCH_NORM)
            }
         }
      } else if (campmeter[id]>80){
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish") / 10)
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish") / 10)
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.1, ATTN_NORM, 0, PITCH_NORM)
            }
         }
      }
      displaymeter(id)
   }
   set_task(2.0,"checkcamping",1)
   return PLUGIN_CONTINUE
}

public damage_event(id) {
   if (get_cvar_num("anticamping") != 0) {
      new enemy = get_user_attacker(id)
      if (get_user_team(id)!=get_user_team(enemy)) {
         campmeter[id]=0
         campmeter[enemy]=0
      }
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public new_round(id) {
   if (get_cvar_num("anticamping") != 0) {
      bombplanted=false
      pausecounter[id]=true
      campmeter[id]=0
      new Float:freezetime = get_cvar_float("mp_freezetime")+1.0
      new parm[1]
      parm[0]=id
      set_task(freezetime,"unpausecounter",0,parm,1)
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public bartime_event(id) {
   if (get_cvar_num("anticamping") != 0) {
      pausecounter[id]=true
      campmeter[id]=0
      new Float:bar_time=float(read_data(1)+1)
      new parm[1]
      parm[0]=id
      set_task(bar_time,"unpausecounter",0,parm,1)
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public bomb_planted() {
   if (get_cvar_num("anticamping") != 0) {
      bombplanted=true
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public got_bomb(id) {
   if (get_cvar_num("anticamping") != 0) {
      de_map=true
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public round_end() {
   if (get_cvar_num("anticamping") != 0) {
      new players[32]
      new numberofplayers
      new id
      new i
      get_players(players, numberofplayers, "a")
      for (i = 0; i < numberofplayers; ++i) {
         id=players[i]
         pausecounter[id]=true
         return PLUGIN_CONTINUE
      }
   }
   return PLUGIN_CONTINUE
}

public plugin_precache() {
   precache_sound("player/heartbeat1.wav")
   return PLUGIN_CONTINUE
}
public plugin_init() {
   register_plugin("Ultimate AntiCamping","1.01","SAMURAI")
   register_event("Damage", "damage_event", "b", "2!0")
   register_event("BarTime","bartime_event","b")
   register_event("ResetHUD", "new_round", "b")
   register_event("SendAudio", "bomb_planted", "a", "2&%!MRAD_BOMBPL")
   register_event("SendAudio", "round_end", "a", "2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
   register_event("StatusIcon", "got_bomb", "be", "1=1", "1=2", "2=c4")
   register_cvar("anticamping","1",0)  //0=Disabled, 1=Slap, 2=Health Reduction, 3=Heartbeat
   register_cvar("anticamping_camptime","20",0)  //Amount of time allowed to camp
   register_cvar("anticamping_healthpunish","5",0)  //Amount of health taken due to punishment
   register_cvar("anticamping_meter","1",0) //Display 'campmeter' to each cilent
   set_task(1.0,"checkcamping",1)
   return PLUGIN_CONTINUE
}

Szerző:  digitation [2011.11.26. 17:36 ]
Hozzászólás témája:  Re: Camperek ellen

THX

Szerző:  VirTuaL ~` [2011.11.27. 01:10 ]
Hozzászólás témája:  Re: Camperek ellen

Nm

Szerző:  fuck604 [2012.01.04. 20:38 ]
Hozzászólás témája:  Re: Camperek ellen

És ha csak Terroristákra vonatkozik akkor hogy kell? Pls vki írja le :D

Szerző:  KiSlAgUnA [2012.01.04. 20:58 ]
Hozzászólás témája:  Re: Camperek ellen

fuck604 írta:
És ha csak Terroristákra vonatkozik akkor hogy kell? Pls vki írja le :D

holnapra megcsinálom :)
Akkor már tudom melyik szerverre gondoltál
majd felnézek

Szerző:  rericsi8 [2012.01.20. 18:23 ]
Hozzászólás témája:  Re: Camperek ellen

Jan 04:
KiSlAgUnA írta:
fuck604 írta:
És ha csak Terroristákra vonatkozik akkor hogy kell? Pls vki írja le :D

holnapra megcsinálom :)
Akkor már tudom melyik szerverre gondoltál
majd felnézek

Jan 20
A Plugin soha nem készült el

Szerző:  VirTuaL ~` [2012.01.21. 08:23 ]
Hozzászólás témája:  Re: Camperek ellen

Tessék próbáld ki.

Kód:
#include <amxmodx>
#include <fun>

#define SND_STOP (1<<5)

new playercoord0[33][3]
new playercoord1[33][3]
new playercoord2[33][3]
new playercoord3[33][3]
new playercoord4[33][3]
new campmeter[33]
new bool:pausecounter[33]
new bool:bombplanted
new bool:de_map
new camptolerancedefending = 180
new camptoleranceattacking = 200



public sqrt(num) {
   new div = num;
   new result = 1;
   while (div > result) {   // end when div == result, or just below
      div = (div + result) / 2   // take mean value as new divisor
      result = num / div
   }
   return div;
}

public unpausecounter(parm[]) {
   new id = parm[0]
   pausecounter[id] = false
   return PLUGIN_CONTINUE
}

public displaymeter(id) {
   if (get_cvar_num("anticamping_meter") != 0) {
      if (campmeter[id] > 100) {
         set_hudmessage(255, 0, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 90) {
         set_hudmessage(255, 0, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 80){
         set_hudmessage(255, 100, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 50 ) {
         set_hudmessage(255, 255, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else if (campmeter[id] > 20 ) {
         set_hudmessage(0, 255, 0, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      } else {
         set_hudmessage(0, 0, 255, -1.0, 0.85, 0, 1.0, 2.0, 0.1, 0.1, 4)
         show_hudmessage(id,"KempmA©ter: %i%",campmeter[id])
      }
   }
   return PLUGIN_HANDLED
}

public checkcamping(){
   if (get_cvar_num("anticamping") == 0){
      set_task(1.0,"checkcamping",1)
      return PLUGIN_CONTINUE
   }
   new players[32]
   new numberofplayers
   new variance[3]
   new average[3]
   new variancetotal
   new standarddeviation
   new id
   new team
   new i
   new j
   get_players(players, numberofplayers, "a")
   for (i = 0; i < numberofplayers; ++i) {
      while (i < numberofplayers && pausecounter[players[i]]) {
         ++i
      }
      if (i >= numberofplayers){
         set_task(1.0,"checkcamping",1)
         return PLUGIN_CONTINUE
      }
      id = players[i]
      for (j = 0; j < 3; ++j) {
         playercoord4[id][j] = playercoord3[id][j]
         playercoord3[id][j] = playercoord2[id][j]
         playercoord2[id][j] = playercoord1[id][j]
         playercoord1[id][j] = playercoord0[id][j]
      }
      get_user_origin(id, playercoord0[id], 0)
      for (j = 0; j < 3; ++j) {
         average[j] = (playercoord0[id][j] +
                     playercoord1[id][j] +
                     playercoord2[id][j] +
                     playercoord3[id][j] +
                     playercoord4[id][j]) / 5
         variance[j] = (((playercoord0[id][j] - average[j]) * (playercoord0[id][j] - average[j]) +
                       (playercoord1[id][j] - average[j]) * (playercoord1[id][j] - average[j]) +
                       (playercoord2[id][j] - average[j]) * (playercoord2[id][j] - average[j]) +
                       (playercoord3[id][j] - average[j]) * (playercoord3[id][j] - average[j]) +
                       (playercoord4[id][j] - average[j]) * (playercoord4[id][j] - average[j])) / 4)
      }
      variancetotal=variance[0]+variance[1]+variance[2]
      standarddeviation=sqrt(variancetotal)
      team = get_user_team(id)
      if (!de_map){
         if (team==0)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] += (camptoleranceattacking - standarddeviation) / get_cvar_num("anticamping_camptime")
         else
            campmeter[id] += (camptoleranceattacking - standarddeviation) / get_cvar_num("anticamping_camptime")
      }
      else if (bombplanted){
         if (team == 1)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] = 0
         else
            campmeter[id] += (camptoleranceattacking-standarddeviation)/get_cvar_num("anticamping_camptime")
      }
      else{
         if (team==2)   // Team 1 = Terro, Team 2 = CT
            campmeter[id] += (camptolerancedefending-standarddeviation)/get_cvar_num("anticamping_camptime")
         else
            campmeter[id] += (camptoleranceattacking-standarddeviation)/get_cvar_num("anticamping_camptime")
      }
      if (campmeter[id] < 80 ) {
         emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.0, ATTN_NORM, SND_STOP, PITCH_NORM)
      }
      if (campmeter[id] < 0) {
         campmeter[id] = 0
      } else if (campmeter[id]>100) {
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish"))
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish"))
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            }
         }
         campmeter[id] = 100
      } else if (campmeter[id] > 90) {
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish") / 5)
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish") / 5)
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.5, ATTN_NORM, 0, PITCH_NORM)
            }
         }
      } else if (campmeter[id]>80){
         switch(get_cvar_num("anticamping")) {
            case 1: {
               user_slap(id,get_cvar_num("anticamping_healthpunish") / 10)
            }
            case 2: {
               set_user_health(id, get_user_health(id) - get_cvar_num("anticamping_healthpunish") / 10)
            }
            case 3: {
               emit_sound(id,CHAN_VOICE,"player/heartbeat1.wav", 0.1, ATTN_NORM, 0, PITCH_NORM)
            }
         }
      }
      displaymeter(id)
   }
   set_task(2.0,"checkcamping",1)
   return PLUGIN_CONTINUE
}

public damage_event(id) {
   if (get_cvar_num("anticamping") != 0) {
      new enemy = get_user_attacker(id)
      if (get_user_team(id)!=get_user_team(enemy)) {
         campmeter[id]=0
         campmeter[enemy]=0
      }
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public new_round(id) {
   if (get_cvar_num("anticamping") != 0) {
      bombplanted=false
      pausecounter[id]=true
      campmeter[id]=0
      new Float:freezetime = get_cvar_float("mp_freezetime")+1.0
      new parm[1]
      parm[0]=id
      set_task(freezetime,"unpausecounter",0,parm,1)
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public bartime_event(id) {
   if (get_cvar_num("anticamping") != 0) {
      pausecounter[id]=true
      campmeter[id]=0
      new Float:bar_time=float(read_data(1)+1)
      new parm[1]
      parm[0]=id
      set_task(bar_time,"unpausecounter",0,parm,1)
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public bomb_planted() {
   if (get_cvar_num("anticamping") != 0) {
      bombplanted=true
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public got_bomb(id) {
   if (get_cvar_num("anticamping") != 0) {
      de_map=true
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public round_end() {
   if (get_cvar_num("anticamping") != 0) {
      new players[32]
      new numberofplayers
      new id
      new i
      get_players(players, numberofplayers, "a")
      for (i = 0; i < numberofplayers; ++i) {
         id=players[i]
         pausecounter[id]=true
         return PLUGIN_CONTINUE
      }
   }
   return PLUGIN_CONTINUE
}

public plugin_precache() {
   precache_sound("player/heartbeat1.wav")
   return PLUGIN_CONTINUE
}
public plugin_init() {
   register_plugin("Ultimate AntiCamping","1.01","SAMURAI")
   register_event("Damage", "damage_event", "b", "2!0")
   register_event("BarTime","bartime_event","b")
   register_event("ResetHUD", "new_round", "b")
   register_event("SendAudio", "bomb_planted", "a", "2&%!MRAD_BOMBPL")
   register_event("SendAudio", "round_end", "a", "2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
   register_event("StatusIcon", "got_bomb", "be", "1=1", "1=2", "2=c4")
   register_cvar("anticamping","1",0)  //0=Disabled, 1=Slap, 2=Health Reduction, 3=Heartbeat
   register_cvar("anticamping_camptime","20",0)  //Amount of time allowed to camp
   register_cvar("anticamping_healthpunish","5",0)  //Amount of health taken due to punishment
   register_cvar("anticamping_meter","1",0) //Display 'campmeter' to each cilent
   set_task(1.0,"checkcamping",1)
   return PLUGIN_CONTINUE
}

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/