Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Hook Edit İsteği

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
serkan ebcin
Mesajlar: 2480
Kayıt: Çrş Oca 18, 2017 1:15 pm
Konum: İstanbul

Hook Edit İsteği

Mesaj gönderen serkan ebcin »

Merhaba Arkadaşlar Ekteki .Sma Dosyasını Veya Kendi Yapıcağı Dosyayı Atabilen Olursa Memnun Olurum
İsteğim Şudur ; L Harfine Sahip Olan Herkes Takım Farketmeksizin Hook Atabiliceği Bir Eklenti Arıyorum Yardımcı Olucaklara Şimdiden Teşekkürler

NOT : EKTE VERDİĞİM DOSYADA SADECE CT GOD ALDIĞINDA HOOK ATABİLİYOR YANİ LAZIM OLUR DİYE KOYUYORUM İSTEĞİMDE HER İKİ TAKIMDA L HARFİ OLAN HERKES ATABİLSİN GEÇİYOR
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Hook Edit İsteği

Mesaj gönderen Taha Demirbaş »

buyrun

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "ProKreedz Hook"
#define VERSION "v2.3"
#define AUTHOR "vato loco [GE-S] & p4ddY"

#define KZ_ACCESS  ADMIN_RCON
#define RANDOM_NUM random_num(0,255)
#define RED        255
#define GREEN      99
#define   BLUE      71

enum color {normal = 1, green, team}
enum {HOOK_OFF, HOOK_RELEASE, HOOK_ON}

new is_plr_connected[33]
new bool:g_bCanUseHook[33]
new g_bIsHooked[33]
new g_iHookOrigin[33][3]
new g_bPlayerIsAdmin[33]
new g_SpriteBeam
new g_SpriteLaser
new g_SayText
new g_iMaxPlayers
new g_kz_tag

public plugin_init() 
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   register_forward(FM_Think, "fw_ThinkEnt")
   register_clcmd("+hook", "HookOn", KZ_ACCESS)
   register_clcmd("-hook", "HookOff", KZ_ACCESS)
   register_clcmd("kz_hook", "cmd_give_hook", KZ_ACCESS ,"<name|#userid|steamid|@ALL> <on/off>")
   
   register_dictionary("prokreedz_v2.3.txt")
   g_kz_tag = register_cvar("kz_tag", "[ProKreedz]")
   
   new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString , "info_target"))
   set_pev(iEnt, pev_classname, "hook_think")
   set_pev(iEnt, pev_nextthink, get_gametime() + 0.1)
   
   g_SayText = get_user_msgid("SayText")
   g_iMaxPlayers = get_maxplayers()
}

public plugin_precache() 
{
   precache_sound("weapons/ric2.wav")
   g_SpriteBeam = engfunc(EngFunc_PrecacheModel, "sprites/zbeam1.spr")
   g_SpriteLaser = engfunc(EngFunc_PrecacheModel,"sprites/zbeam1.spr")
}

public client_putinserver(id) 
{
   is_plr_connected[id] = true
   g_bIsHooked[id] = HOOK_OFF
   if(get_user_flags(id) & KZ_ACCESS) 
      g_bPlayerIsAdmin[id] = true
}

public client_disconnect(id) 
{
   is_plr_connected[id] = false
   g_bIsHooked[id] = HOOK_OFF
   if(g_bPlayerIsAdmin[id]) 
      g_bPlayerIsAdmin[id] = false
}

public kz_prize_hook(id, status[])
{
   switch(status[0])
   {
      case '0': g_bCanUseHook[id] = false
         
      case '1': 
      {
         g_bCanUseHook[id] = true
         kz_colorchat(id, green, "%L", id, "PKU_PRIZE_HOOK")
      }
   }
}

public cmd_give_hook(id,level,cid) 
{
   if(!cmd_access(id,level,cid,3))
      return PLUGIN_HANDLED
   
   new name[32]
   get_user_name(id,name,31)
   
   new szarg1[32], szarg2[8], bool:mode
   read_argv(1,szarg1,31)
   read_argv(2,szarg2,7)
   if(equal(szarg2,"on"))
      mode = true
   
   if(equal(szarg1,"@ALL")) 
   {
      for(new i = 1; i <= g_iMaxPlayers; i++) 
      {
         if(is_plr_connected[i] && is_user_alive(i)) 
         {
            g_bCanUseHook[i] = mode
            if(mode) 
               kz_colorchat(i, green, "%L", i, "PKU_HOOK_AT_ALL", name)
            else 
               kz_colorchat(i, green, "%L", i, "PKU_HOOK_TAKE_ALL", name)
         }
      }
   }
   else 
   {
      new pid = cmd_target(id,szarg1,2)
      if(pid > 0) 
      {
         g_bCanUseHook[pid] = mode
         if(mode) 
            kz_colorchat(pid, green, "%L", pid, "PKU_HOOK_AT_TARGET", name)
         else 
            kz_colorchat(pid, green, "%L", pid, "PKU_HOOK_TAKE_TARGET", name)
      }
   }
   return PLUGIN_HANDLED
}

public HookOn(id)  
{      
   if(!g_bCanUseHook[id] && !g_bPlayerIsAdmin[id])
      return PLUGIN_HANDLED
   if(get_user_team(id) == 1 && get_user_flags(id) & ADMIN_KICK){
      
      if(is_plr_connected[id] && is_user_alive(id))
      {
         get_user_origin(id, g_iHookOrigin[id], 3)
         
         if(callfunc_begin("DetectCheat","ProKreedz_v2.3.amxx") == 1) 
         {
            callfunc_push_int(id)
            callfunc_push_str("Hook")
            callfunc_end()
         }
         g_bIsHooked[id] = HOOK_ON
         emit_sound(id, CHAN_STATIC, "weapons/ric2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
      }
   }
   return PLUGIN_HANDLED
}

public HookOff(id) 
{
   g_bIsHooked[id] = HOOK_RELEASE
   return PLUGIN_HANDLED
}

public fw_ThinkEnt(iEnt)
{
   if (pev_valid(iEnt)) 
   { 
      static ClassName[33]
      pev(iEnt, pev_classname, ClassName, 32)
      
      if(equal(ClassName, "hook_think"))
      {
         fw_HookThink()
         set_pev(iEnt, pev_nextthink, get_gametime() + 0.1)
      }
   }
}

public fw_HookThink()
{
   static id, origin[3], Float:velocity[3], distance
   for(id = 1 ; id <= g_iMaxPlayers ; id++) 
   {
      if(g_bIsHooked[id] == HOOK_ON)
      {
         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
         write_byte(1)           // TE_BEAMENTPOINT
         write_short(id)           // entid
         write_coord(g_iHookOrigin[id][0]) // origin
         write_coord(g_iHookOrigin[id][1]) // origin
         write_coord(g_iHookOrigin[id][2]) // origin
         if(g_bPlayerIsAdmin[id])
         {
            write_short(g_SpriteBeam)     // sprite index
            write_byte(0)           // start frame
            write_byte(0)           // framerate
            write_byte(2)           // life
            write_byte(30)           // width
            write_byte(0)
            write_byte(RANDOM_NUM) // r
            write_byte(RANDOM_NUM) // g
            write_byte(RANDOM_NUM) // b
         }
         else 
         {
            write_short(g_SpriteLaser)     // sprite index
            write_byte(0)           // start frame
            write_byte(0)           // framerate
            write_byte(2)           // life
            write_byte(30)           // width
            write_byte(0)
            write_byte(RED)          // r
            write_byte(GREEN)      // g
            write_byte(BLUE)       // b
         }
         write_byte(500)                // brightness
         write_byte(0)                // speed
         message_end()
         
         get_user_origin(id, origin)
         distance = get_distance(g_iHookOrigin[id], origin)
         if(distance > 25)  
         { 
            velocity[0] = (g_iHookOrigin[id][0] - origin[0]) * (2.0 * 350 / distance)
            velocity[1] = (g_iHookOrigin[id][1] - origin[1]) * (2.0 * 350 / distance)
            velocity[2] = (g_iHookOrigin[id][2] - origin[2]) * (2.0 * 350 / distance)
            set_pev(id, pev_velocity, velocity)
         }
      }
      else if(g_bIsHooked[id] == HOOK_RELEASE)
      {
         g_bIsHooked[id] = HOOK_OFF
      }
   }
}

kz_colorchat(id, color:type, const msg[], {Float,Sql,Result,_}:...) {
   
   static message[256], pkmsg[180], changed[8], argscount,j
   argscount = numargs()
   
   switch(type) 
   {
      case normal: message[0] = 0x01
         
      case green: message[0] = 0x04
         
      default: message[0] = 0x03
      
   }
   new pktag[32]
   get_pcvar_string(g_kz_tag, pktag, 31)
   
   if(id)
   {
      if(is_plr_connected[id])
      {
         vformat(pkmsg, 179, msg, 4)
         formatex(message[1], 255, "%s %s", pktag, pkmsg)
         message[192] = '^0'
         
         replace_all(message, 191, "!g", "^x04")
         replace_all(message, 191, "!n", "^x01")
         replace_all(message, 191, "!t", "^x03")
         kz_print_msg(id, message)
      }
   } 
   else 
   {
      for(new i = 1; i <= g_iMaxPlayers; i++)
      {
         if(is_plr_connected[i])
         {
            new changedcount = 0
            
            for(j = 2; j < argscount; j++)
            {
               if(getarg(j) == LANG_PLAYER)
               {
                  setarg(j, 0, i);
                  changed[changedcount++] = j;
               }
            }
            vformat(pkmsg, 179, msg, 4)
            formatex(message[1], 255, "%s %s", pktag, pkmsg)
            message[192] = '^0'
            
            replace_all(message, 191, "!g", "^x04")
            replace_all(message, 191, "!n", "^x01")
            replace_all(message, 191, "!t", "^x03")
            kz_print_msg(i, message)
            
            for(j = 0; j < changedcount; j++)
            {
               setarg(changed[j], 0, LANG_PLAYER)
            }
         }
      }
   }
}

stock kz_print_msg(id, const msg[])
{
   message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
   write_byte(id)      
   write_string(msg)
   message_end()
}

 

Link:
Linklerini gizle
Linki Kopyala
Cevapla