⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🌐 www.furiazm.com ⏰ 7/24 aktif Yönetim 💬 Discord.gg/furiaclancs 💰Ücretsiz Adminlik/Vip alımı 🌟 Türkiye’nin yeni en gelişmiş Zombie Plague sunucusu
Sponsor Görsel 2
SponsorSponsor

Zm Admin Gui

Zm Admin Gui
Kod:
L 06/14/2020 - 00:45:34: [FAKEMETA] Invalid entity
L 06/14/2020 - 00:45:34: [AMXX] Run time error 10 (plugin "ze_admingui.amxx") (native "engfunc") - debug not enabled!
L 06/14/2020 - 00:45:34: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

böyle log basıp duruyor sebebini bilen varsa yaxzabilirmi sadece 1.30 saatte 20mb log basmış düşünün.

eklenti:

PHP Kod:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <zombieplague>

#define PLUGIN "Guillotine"
#define VERSION "1.3"
#define AUTHOR "m4m3ts/Edit:BengisuChase"

#define CSW_BDRIPPER CSW_KNIFE
#define weapon_guillotine "weapon_knife"
#define old_event "events/mac10.sc"
#define old_w_model "models/w_mac10.mdl"
#define WEAPON_SECRETCODE 1329419

const pev_catchedspeed = pev_iuser4
#define DEFAULT_AMMO 10
#define RELOAD_TIME 0.435
#define DAMAGE 30
#define BDRIP_CLASSNAME "Blood Dripper"
#define WEAPON_ANIMEXT "knife"

#define Get_Ent_Data(%1,%2) get_pdata_int(%1,%2,4)
#define Set_Ent_Data(%1,%2,%3) set_pdata_int(%1,%2,%3,4)

const PDATA_SAFE = 2
const OFFSET_LINUX_WEAPONS = 4
const OFFSET_WEAPONOWNER = 41
const m_flNextAttack = 83
const m_szAnimExtention = 492

new const v_model[] = "models/v_guillotine.mdl"
new const p_model[] = "models/p_guillotine.mdl"
new const w_model[] = "models/w_guillotine.mdl"
new const KNIFE_MODEL[] = "models/guillotine_projectile.mdl"
new const PECAH_MODEL[] = "models/gibs_guilotine.mdl"
new const hit_wall[] = "weapons/janus9_stone1.wav"
new const hit_wall2[] = "weapons/janus9_stone2.wav"
new const weapon_sound[6][] = 
{
"weapons/guillotine_catch2.wav",
"weapons/guillotine_draw.wav",
"weapons/guillotine_draw_empty.wav",
"weapons/guillotine_explode.wav",
"weapons/guillotine_red.wav",
"weapons/guillotine-1.wav"
}


new const 
WeaponResource[3][] = 
{
"sprites/weapon_guillotine.txt",
"sprites/640hud120.spr",
"sprites/guillotine_lost.spr"
}

enum
{
ANIM_IDLE = 0,
ANIM_IDLE_EMPTY,
ANIM_SHOOT,
ANIM_DRAW,
ANIM_DRAW_EMPTY,
ANIM_IDLE_SHOOT,
ANIM_IDLE_SHOOT2,
ANIM_CATCH,
ANIM_LOST
}

new 
g_MsgDeathMsg, g_endround

new g_had_guillotine[33], g_guillotine_ammo[33], shoot_mode[33], shoot_ent_mode[33], g_pecah, headshot_mode[33], ent_sentuh[33], ent_sentuh_balik[33]
new 
g_old_weapon[33], g_smokepuff_id, m_iBlood[2], guillotine_korban[33], headshot_korban[33], gmsgScoreInfo

const PRIMARY_WEAPONS_BIT_SUM = 
(
1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
//new TargetOrigin[3] 
new g_gui
public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Sg")
   register_forward(FM_CmdStart, "fw_CmdStart")
   register_forward(FM_SetModel, "fw_SetModel")
   register_think(BDRIP_CLASSNAME, "fw_Think")

   /*register_clcmd("say /gui","item_selected")
   register_clcmd("say .gui","item_selected")
   register_clcmd("say_team /gui","item_selected")
   register_clcmd("say_team .gui","item_selected")*/

   register_event("HLTV", "EventHLTV", "a", "1=0", "2=0")
   register_touch(BDRIP_CLASSNAME, "*", "fw_touch")
   register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
   register_forward(FM_TraceLine, "fw_traceline", 1)
   register_forward(FM_AddToFullPack, "fm_addtofullpack_post", 1)
   RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
   RegisterHam(Ham_Weapon_WeaponIdle, weapon_guillotine, "fw_guillotineidleanim", 1)
   RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
   RegisterHam(Ham_Item_AddToPlayer, weapon_guillotine, "fw_AddToPlayer_Post", 1)
   register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
   register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
   register_clcmd("weapon_guillotine", "hook_weapon")
   g_MsgDeathMsg = get_user_msgid("DeathMsg")
   gmsgScoreInfo = get_user_msgid("ScoreInfo") 

   register_logevent("logevent_round_end", 2, "1=Round_End")
   g_endround = 1
}

public 
plugin_natives()
{
    
register_native("gui_sil", "native_give_weapon_add", 1)
    
register_native("gui_ver", "native_give_weapon_add2", 1)
}
public 
native_give_weapon_add(id)
{
    
remove_guillotine(id)
} 

public 
native_give_weapon_add2(id)
{
    
remove_guillotine(id)
    
get_blood(id)
} 

public 
plugin_precache()
{
   precache_model(v_model)
   precache_model(p_model)
   precache_model(w_model)
   precache_model(KNIFE_MODEL)
   g_pecah = precache_model(PECAH_MODEL)
   precache_sound(hit_wall)
   precache_sound(hit_wall2)

   for(new i = 0; i < sizeof(weapon_sound); i++) 
   precache_sound(weapon_sound[i])

   for(new i = 1; i < sizeof(WeaponResource); i++)
   precache_model(WeaponResource[i])

   g_smokepuff_id = engfunc(EngFunc_PrecacheModel, WeaponResource[2])
   m_iBlood[0] = precache_model("sprites/blood.spr")
   m_iBlood[1] = precache_model("sprites/bloodspray.spr")   
}

public 
zp_user_infected_post(id)
{
   remove_guillotine(id)
   g_gui = 0
}

public 
EventHLTV()
{
g_endround = 0
g_gui 
= 1
}

public 
logevent_round_end() g_endround = 1

public Player_Spawn(id)
{
remove_guillotine(id)

if(
g_gui)
{
if(
get_user_flags(id) & ADMIN_LEVEL_B)get_blood(id)
}
   
}

public 
fw_PlayerKilled(id)
{
remove_guillotine(id)
}

public 
hook_weapon(id)
{
engclient_cmd(id, weapon_guillotine)
return
}

new 
g_itemid
public item_selected(id, itemid)
{
   
if (!is_user_alive(id)){
   client_print(id, print_chat, "[ZE]: Kafa Kopartan Alamabilmek Icin Hayatta Olmaniz Gereklidir.!")
   return
}
if (
zp_get_user_zombie(id)){
   client_print(id, print_chat, "[ZE]: Kafa Kopartan Silahini Alamabilmek Icin Zombi Olmamaniz Gereklidir.!")
   return
}
if(
itemid==g_itemid){
   new para = cs_get_user_money(id)
   
   
if (para >= 16000){
      cs_set_user_money(id, para - 16000)
      get_blood(id)
      client_print(id, print_chat, "[ZE]: Kafa Kopartan Silahini Satin Aldiniz.!")
   }
   else{
      client_print(id, print_chat, "[ZE]: Kafa Kopartan Silahini Satin Almak Icin Yeterli Paraniz Yok. Silahin Degeri: 16000 TL")
   }
}
}

public 
get_blood(id)
{
   if(!is_user_alive(id))
      return
   drop_weapons(id, 1)
   g_had_guillotine[id] = 1
   g_guillotine_ammo
[id] = DEFAULT_AMMO
   
   give_item
(id, weapon_guillotine)
   update_ammo(id)
   
   
//static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_guillotine, id)
   //if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1)
}

public 
remove_guillotine(id)
{
   g_had_guillotine[id] = 0
   
static Ent; Ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
   ancur(Ent)
}

public 
refill_guillotine(id)
{
   
   
if(g_had_guillotine[id]) g_guillotine_ammo[id] = 15
   
   
if(get_user_weapon(id) == CSW_BDRIPPER && g_had_guillotine[id]) update_ammo(id)
}

public 
fw_UpdateClientData_Post(id, sendweapons, cd_handle)
{
   if(!is_user_alive(id) || !is_user_connected(id))
      return FMRES_IGNORED   
   
if(get_user_weapon(id) == CSW_BDRIPPER && g_had_guillotine[id])
      set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001) 
   
   
return FMRES_HANDLED
}

public 
message_DeathMsg(msg_id, msg_dest, id)
{
   static szTruncatedWeapon[33], iAttacker, iVictim
   
   get_msg_arg_string
(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
   
   iAttacker 
= get_msg_arg_int(1)
   iVictim = get_msg_arg_int(2)
   
   
if(!is_user_connected(iAttacker) || iAttacker == iVictim) return PLUGIN_CONTINUE
   
   
if(get_user_weapon(iAttacker) == CSW_BDRIPPER)
   {
      if(g_had_guillotine[iAttacker])
         set_msg_arg_string(4, "knife")
   }
   
   
return PLUGIN_CONTINUE
}

public 
fw_TraceAttack_Sg(Victim, Attacker, Float:Damage, Float:Direction[3], TraceHandle, DamageBit, ptr)
{
         
   
return HAM_IGNORED
}

public 
Event_CurWeapon(id)
{
   
   
if(!is_user_alive(id))
      return 
   
   
if(get_user_weapon(id) == CSW_BDRIPPER && g_had_guillotine[id])
   {
      set_pev(id, pev_viewmodel2, v_model)
      set_pev(id, pev_weaponmodel2, p_model)
      set_pdata_string(id, m_szAnimExtention * 4, WEAPON_ANIMEXT, -1 , 20)
      if(g_old_weapon[id] != CSW_BDRIPPER && g_guillotine_ammo[id] >= 1) set_weapon_anim(id, ANIM_DRAW)
      
      
if(g_old_weapon[id] != CSW_BDRIPPER && g_guillotine_ammo[id] == 0 && headshot_mode[id] == 0) set_weapon_anim(id, ANIM_DRAW_EMPTY)
      else if(g_old_weapon[id] != CSW_BDRIPPER && shoot_mode[id] == 1) set_weapon_anim(id, ANIM_DRAW_EMPTY)
         
      update_ammo
(id)
   }
   
   g_old_weapon
[id] = get_user_weapon(id)
}

public 
fw_guillotineidleanim(Weapon)
{
   new id = get_pdata_cbase(Weapon, 41, 4)
   
   
if(!is_user_alive(id) || zp_get_user_zombie(id) || !g_had_guillotine[id] || get_user_weapon(id) != CSW_BDRIPPER)
      return HAM_IGNORED;
   
   
if(shoot_mode[id] == 0 && g_guillotine_ammo[id] >= 1) 
      return HAM_SUPERCEDE;
   
   
if(headshot_mode[id] == 0 && shoot_mode[id] == 1 && get_pdata_float(Weapon, 48, 4) <= 0.25) 
   {
      set_weapon_anim(id, ANIM_IDLE_SHOOT)
      set_pdata_float(Weapon, 48, 20.0, 4)
      return HAM_SUPERCEDE;
   }
   
   
if(headshot_mode[id] == 1 && shoot_mode[id] == 1 && get_pdata_float(Weapon, 48, 4) <= 0.25) 
   {
      set_weapon_anim(id, ANIM_IDLE_SHOOT2)
      set_pdata_float(Weapon, 48, 20.0, 4)
      return HAM_SUPERCEDE;
   }
   
   
if(g_guillotine_ammo[id] == 0 && get_pdata_float(Weapon, 48, 4) <= 0.25) 
   {
      set_weapon_anim(id, ANIM_IDLE_EMPTY)
      set_pdata_float(Weapon, 48, 20.0, 4)
      return HAM_SUPERCEDE;
   }
   
   
return HAM_IGNORED;
}

public 
fw_CmdStart(id, uc_handle, seed)
{
   if(!is_user_alive(id) || !is_user_connected(id))
      return
   if(get_user_weapon(id) != CSW_BDRIPPER || !g_had_guillotine[id])
      return
   
   
static ent; ent = fm_get_user_weapon_entity(id, CSW_BDRIPPER)
   //if(!pev_valid(ent))
   //   return
   if(get_pdata_float(ent, 46, OFFSET_LINUX_WEAPONS) > 0.0 || get_pdata_float(ent, 47, OFFSET_LINUX_WEAPONS) > 0.0) 
      return
   
   
static CurButton
   CurButton 
= get_uc(uc_handle, UC_Buttons)
   
   
if(CurButton & IN_ATTACK)
   {
      CurButton &= ~IN_ATTACK
      set_uc
(uc_handle, UC_Buttons, CurButton)
      
      
//if(g_guillotine_ammo[id] == 0)
      //   return
      if(shoot_mode[id] == 0 && get_pdata_float(id, 83, 5) <= 0.0)
      {
         //g_guillotine_ammo[id]--
         //update_ammo(id)
         shoot_mode[id] = 1                        
         set_task
(0.2, "FireKnife", id)
         set_weapon_anim(id, ANIM_SHOOT)
         emit_sound(id, CHAN_WEAPON, weapon_sound[5], 1.0, ATTN_NORM, 0, PITCH_NORM)
         set_weapons_timeidle(id, CSW_BDRIPPER, 0.7)
         set_player_nextattackx(id, 0.7)
      }
   }
}

public 
FireKnife(id)
{
   static Float:StartOrigin[3], Float:velocity[3], Float:angles[3], Float:anglestrue[3], Float:jarak_max[3]
   static Ent; Ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
   if(!pev_valid(Ent)) return
   get_position(id, 10.0, 0.0, -2.0, StartOrigin)     
   get_position
(id, 900.0, 0.0, 0.0, jarak_max)
   //static ent; ent = fm_get_user_weapon_entity(id, CSW_BDRIPPER)
   pev(id,pev_v_angle,angles)
   
   anglestrue
[0] = 360.0 - angles[0]
   anglestrue[1] = angles[1]
   anglestrue[2] = angles[2]
   
   
// Set info for ent
   set_pev(Ent, pev_movetype, MOVETYPE_FLY)
   set_pev(Ent, pev_owner, id)
   set_pev(Ent, pev_iuser1, id)
   set_pev(Ent, pev_fuser1, get_gametime() + 4.0)
   set_pev(Ent, pev_nextthink, halflife_time() + 0.01)
   
   entity_set_string
(Ent, EV_SZ_classname, BDRIP_CLASSNAME)
   engfunc(EngFunc_SetModel, Ent, KNIFE_MODEL)
   set_pev(Ent, pev_mins, Float:{-1.0, -1.0, -1.0})
   set_pev(Ent, pev_maxs, Float:{1.0, 1.0, 1.0})
   set_pev(Ent, pev_origin, StartOrigin)
   set_pev(Ent, pev_angles, anglestrue)
   set_pev(Ent, pev_gravity, 0.01)
   set_pev(Ent, pev_solid, SOLID_BBOX)
   set_pev(Ent, pev_frame, 1.0)
   set_pev(Ent, pev_framerate, 1.0)
   set_pev(Ent, pev_sequence, 0)
   //ExecuteHamB(Ham_Weapon_PrimaryAttack, ent)
   set_pev(Ent, pev_catchedspeed, 1100)
   velocity_by_aim( id, 1400, velocity )
   set_pev( Ent, pev_velocity, velocity )
   set_pev(Ent, pev_vuser1, velocity)
   set_pev(Ent, pev_vuser2, jarak_max)
   shoot_ent_mode[id] = 0
   set_pev
(Ent, pev_iuser4, 0)
   ent_sentuh[id] = 1
   ent_sentuh_balik
[id] = 0
}

public 
fm_addtofullpack_post(es, e, user, host, host_flags, player, p_set)
{
   if(!player)
      return FMRES_IGNORED
   
   
if(!is_user_connected(host) || !is_user_alive(user))
      return FMRES_IGNORED
   
   
if(!zp_get_user_zombie(user) || headshot_korban[user] != 1)
      return FMRES_IGNORED
   
   
if(host == user)
      return FMRES_IGNORED
   
   
new Float:PlayerOrigin[3]//, Float:anglesss[3]
   pev(user, pev_origin, PlayerOrigin)
   
   PlayerOrigin
[2] += 25.0
   
   
//engfunc(EngFunc_GetBonePosition, user, 8, PlayerOrigin, anglesss)
   
   engfunc
(EngFunc_SetOrigin, guillotine_korban[user], PlayerOrigin)
   
   
return FMRES_HANDLED
}

public 
fw_Think(Ent)
{
   if(!pev_valid(Ent)) 
      return
   
   
//new id; id = pev(Ent, pev_owner)
   static Float:pulang[3], Float:StartOriginz[3], pemilix, Float:brangkat[3], Float:jarak_max[3], Float:origin_asli[3], korban
   pemilix 
= pev(Ent, pev_iuser1)
   pev(Ent, pev_origin, StartOriginz)
   korban = pev(Ent, pev_iuser2)
   
   
if(headshot_korban[korban] == 1)
   {
      action_thanatos(Ent, korban, pemilix)
      if(get_gametime() - 0.15 > pev(Ent, pev_fuser3))
      {                         
         Damage_guillotine
(Ent, korban)     
      
}
   }
   
   
if(ent_sentuh_balik[pemilix] == 0 && shoot_ent_mode[pemilix] == 1)
   {
      ent_sentuh_balik[pemilix] = 1
      pev
(pemilix, pev_origin, origin_asli)
      origin_asli[2] += 0.1
   
}
   
   
if(ent_sentuh[pemilix] == 1)
   {
      ent_sentuh[pemilix] = 0
      pev
(Ent, pev_vuser2, jarak_max)
      pev(Ent, pev_vuser1, brangkat)               
      get_speed_vector
(StartOriginz, origin_asli, 1400.0, pulang)
      
      
if(shoot_ent_mode[pemilix] == 1) 
      {
         set_pev(Ent, pev_velocity, pulang)
      }            
      
else set_pev(Ent, pev_velocity, brangkat)
      
   
}
   
   
if(shoot_ent_mode[pemilix] == 0 && get_distance_f(StartOriginz, jarak_max) <= 40.0)
   {
      shoot_ent_mode[pemilix] = 1
      ent_sentuh
[pemilix] = 1
      set_pev
(Ent, pev_owner, 0)
   }
   
   
if(shoot_ent_mode[pemilix] == 1 && get_distance_f(StartOriginz, origin_asli) <= 40.0)
   {
      if(is_user_alive(pemilix) && is_user_connected(pemilix) && get_user_weapon(pemilix) == CSW_BDRIPPER && g_had_guillotine[pemilix]) balik(Ent)
      else ancur(Ent)
      //balik(Ent)
   }
   else if(headshot_korban[korban] == 1) set_pev(Ent, pev_nextthink, get_gametime() + 0.2)
      else set_pev(Ent, pev_nextthink, halflife_time() + 0.001)
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
   new_velocity[0] = origin2[0] - origin1[0]
   new_velocity[1] = origin2[1] - origin1[1]
   new_velocity[2] = origin2[2] - origin1[2]
   static Float:num; num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
   new_velocity[0] *= num
   new_velocity
[1] *= num
   new_velocity
[2] *= num
   
   
return 1;
}


stock hook_ent(victim, attacker, Float:speed)
{
   if(!pev_valid(victim) || !pev_valid(attacker))
      return
   
   
static Float:fl_Velocity[3]
   static Float:EntOrigin[3], Float:VicOrigin[3]
   
   pev
(victim, pev_origin, EntOrigin)
   pev(attacker, pev_origin, VicOrigin)
   
   
static Float:distance_f
   distance_f 
= get_distance_f(EntOrigin, VicOrigin)
   
   
if (distance_f > 60.0)
   {
      new Float:fl_Time = distance_f / speed
      
      fl_Velocity
[0] = (VicOrigin[0] - EntOrigin[0]) / fl_Time
      fl_Velocity
[1] = (VicOrigin[1] - EntOrigin[1]) / fl_Time
      fl_Velocity
[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time
      
} else {
      fl_Velocity[0] = 0.0
      fl_Velocity
[1] = 0.0
      fl_Velocity
[2] = 0.0
   
}
   
   entity_set_vector
(victim, EV_VEC_velocity, fl_Velocity)
}

stock hook_ent2(ent, Float:VicOrigin[3], Float:speed, type)
{
   static Float:fl_Velocity[3]
   static Float:EntOrigin[3]
   static Float:EntVelocity[3]
   
   pev
(ent, pev_velocity, EntVelocity)
   pev(ent, pev_origin, EntOrigin)
   static Float:distance_f
   distance_f 
= get_distance_f(EntOrigin, VicOrigin)
   
   
static Float:fl_Time; fl_Time = distance_f / speed
   
   
if(type == 1)
   {
      fl_Velocity[0] = ((VicOrigin[0] - EntOrigin[0]) / fl_Time) * 1.5
      fl_Velocity
[1] = ((VicOrigin[1] - EntOrigin[1]) / fl_Time)
      fl_Velocity[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time      
      
} else if(type == 2) {
      fl_Velocity[0] = ((EntOrigin[0] - VicOrigin[0]) / fl_Time) * 1.5
      fl_Velocity
[1] = ((EntOrigin[1] - VicOrigin[1]) / fl_Time) 
      fl_Velocity[2] = (EntOrigin[2] - VicOrigin[2]) / fl_Time
   
}
   
   xs_vec_add
(EntVelocity, fl_Velocity, fl_Velocity)
   set_pev(ent, pev_velocity, fl_Velocity)
}

public 
fw_touch(Ent, Id)
{
   // If ent is valid
   if(!pev_valid(Ent))
      return
   if(pev(Ent, pev_movetype) == MOVETYPE_NONE)
      return
   
   
/*static classnameptd[32]
   pev(Id, pev_classname, classnameptd, 31)
   if (equali(classnameptd, "func_breakable")) ExecuteHamB( Ham_TakeDamage, Id, 0, 0, 80.0, DMG_GENERIC )*/
   //static korban
   //korban = pev(Ent, pev_iuser2)
   
   
// Get it's origin
   new Float:originF[3], pemilix 
   
//static id2
   //id2 = pev(Ent, pev_owner)
   pemilix = pev(Ent, pev_iuser1)
   pev(Ent, pev_origin, originF)
   // Alive...
   //new id = read_data(2)
   if(is_user_alive(Id) && zp_get_user_zombie(Id))
   {
      fakedamage(Id, "Guillotine", 1.0, 256)
      Damage_guillotine(Ent, Id)  
      geri_tepme
(pemilix, Id)      
      set_pev
(Ent, pev_owner, Id)
      ent_sentuh[pemilix] = 1                  
      create_blood
(originF)
      //create_blood(originF)
   }
   
   
else if(shoot_ent_mode[pemilix] == 1 && Id == pemilix)
   {
      if(is_user_alive(pemilix) && is_user_connected(pemilix) && get_user_weapon(pemilix) == CSW_BDRIPPER && g_had_guillotine[pemilix]) balik(Ent)
      else ancur(Ent)
      //balik(Ent)
   }
   
   
else if(is_user_alive(Id) && !zp_get_user_zombie(Id))
   {
      set_pev(Ent, pev_owner, Id)
      ent_sentuh[pemilix] = 1
   
}
   
   
else
   {
      set_pev(Ent, pev_owner, 0)
      
      
if(shoot_ent_mode[pemilix] == 0)
      {
         shoot_ent_mode[pemilix] = 1
         engfunc
(EngFunc_EmitSound, Ent, CHAN_WEAPON, hit_wall, 1.0, ATTN_STATIC, 0, PITCH_NORM)
         ent_sentuh[pemilix] = 1
      
}
      else ancur(Ent)
   }
   
}

public 
ancur(Ent)
{
   if(!pev_valid(Ent))
      return
   static Float:origin2[3], pemilix, Float:origin3[3]
   pemilix = pev(Ent, pev_iuser1)
   entity_get_vector(Ent, EV_VEC_origin, origin2)
   pev(Ent, pev_origin, origin3)
   
   engfunc
(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin2, 0)
   write_byte(TE_BREAKMODEL)
   engfunc(EngFunc_WriteCoord, origin2[0])
   engfunc(EngFunc_WriteCoord, origin2[1])
   engfunc(EngFunc_WriteCoord, origin2[2])
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, random_num(-25, 25))
   engfunc(EngFunc_WriteCoord, random_num(-25, 25))
   engfunc(EngFunc_WriteCoord, 5)
   write_byte(5)
   write_short(g_pecah)
   write_byte(10)
   write_byte(17)
   write_byte(0x00)
   message_end()
   
   engfunc
(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin2, 0)
   write_byte(TE_BREAKMODEL)
   engfunc(EngFunc_WriteCoord, origin2[0])
   engfunc(EngFunc_WriteCoord, origin2[1])
   engfunc(EngFunc_WriteCoord, origin2[2])
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, 25)
   engfunc(EngFunc_WriteCoord, random_num(-25, 25))
   engfunc(EngFunc_WriteCoord, random_num(-25, 25))
   engfunc(EngFunc_WriteCoord, 5)
   write_byte(5)
   write_short(g_pecah)
   write_byte(10)
   write_byte(17)
   write_byte(0x00)
   message_end()
   
   
//fake_smokes(origin3)
   engfunc(EngFunc_EmitSound, Ent, CHAN_WEAPON, hit_wall2, 1.0, ATTN_STATIC, 0, PITCH_NORM)
   shoot_mode[pemilix] = 0
   remove_entity
(Ent)
   
   
if(!is_user_alive(pemilix) || !is_user_connected(pemilix) || get_user_weapon(pemilix) != CSW_BDRIPPER || !g_had_guillotine[pemilix])
      return
   
   set_weapon_anim
(pemilix, ANIM_LOST)
   set_weapons_timeidle(pemilix, CSW_BDRIPPER, 2.5)
   set_player_nextattackx(pemilix, 2.5)
   set_task(1.3, "reload2", pemilix)
   set_task(1.4, "reload", pemilix)
}

public 
geri_tepme2(Owner, Id)
{ 
   static Float:StartOrigin[3], Float:TargetOrigin[3]
   get_position(Owner, 0.0, 0.0, 0.0, StartOrigin)
   static Float:Velocity[3]
   fm_get_aim_origin(Owner, TargetOrigin)
   get_speed_vector(StartOrigin, TargetOrigin, 2000.0, Velocity)
   set_pev(Id, pev_velocity, Velocity)
}

public 
action_thanatos(Ent, victim, id)
{
         
   
if(!pev_valid(Ent))   
      
return
   
   
if(headshot_mode[id] == 1)
   {
      
      
//geri_tepme2(id, victim)
      
      set_task
(0.01, "action_thanatos", Ent)
   }
}

public 
reload(id)
{
   if(!is_user_alive(id) || !is_user_connected(id) || get_user_weapon(id) != CSW_BDRIPPER || !g_had_guillotine[id] || g_guillotine_ammo[id] == 0)
      return
   
   set_weapon_anim
(id, ANIM_DRAW)
}

public 
reload2(id)
{
   if(!is_user_alive(id) || !is_user_connected(id) || get_user_weapon(id) != CSW_BDRIPPER || !g_had_guillotine[id] || g_guillotine_ammo[id] == 0)
      return
   
   set_weapon_anim
(id, ANIM_IDLE_SHOOT2)
}

public 
balik(Ent)
{
   if(!pev_valid(Ent))
      return
   static id
   id 
= pev(Ent, pev_iuser1)
   
   set_weapons_timeidle
(id, CSW_BDRIPPER, 1.0)
   set_player_nextattackx(id, 1.0)
   shoot_mode[id] = 0
   g_guillotine_ammo
[id]++
   update_ammo(id)
   set_weapon_anim(id, ANIM_CATCH)
   emit_sound(id, CHAN_WEAPON, weapon_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM)    
   remove_entity
(Ent)
}

/*new Float:g_fDamageMulti[] = 
{
1.0,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7,
1.8,
1.9,
2.0,
2.1,
2.2,
2.3
}*/

public geri_tepme(Owner, Id)
{ 
   static Float:StartOrigin[3], Float:TargetOrigin[3]
   get_position(Owner, 0.0, 0.0, 0.0, StartOrigin)
   static Float:Velocity[3]
   fm_get_aim_origin(Owner, TargetOrigin)
   get_speed_vector(StartOrigin, TargetOrigin, 2000.0, Velocity)
   set_pev(Id, pev_velocity, Velocity)                    
}

public 
Damage_guillotine(Ent, Id)
{
   static Owner; Owner = pev(Ent, pev_iuser1)
   static Attacker; 
   if(!is_user_alive(Owner)) 
   {
      Attacker = 0
      
return
   } else Attacker = Owner

   
if(g_endround)
      return
   
   
new bool:bIsHeadShot; // never make that one static
   new Float:flAdjustedDamage, bool:death
   
switch( Get_MissileWeaponHitGroup(Ent) ) 
   {
      case HIT_GENERIC: flAdjustedDamage = DAMAGE * 1.0 
         
case HIT_STOMACH: flAdjustedDamage = DAMAGE * 1.5 
         
case HIT_LEFTLEG, HIT_RIGHTLEG: flAdjustedDamage = DAMAGE * 1.0
         
case HIT_LEFTARM, HIT_RIGHTARM: flAdjustedDamage = DAMAGE * 1.0
         
case HIT_HEAD, HIT_CHEST:
      {
         flAdjustedDamage = DAMAGE * 2.5
         bIsHeadShot 
= true;
         if(headshot_mode[Owner] == 0) set_task(2.0, "balik_bro", Ent+1858941 )
         headshot_mode[Owner] = 1
         headshot_korban
[Id] = 1 
         guillotine_korban
[Id] = Ent
         set_pev
(Ent, pev_iuser2, Id)              
         fakedamage
(Id, "Guillotine", 1.0, 256) 
         set_pev(Ent, pev_renderamt, 255)
         set_pev(Ent, pev_solid, SOLID_NOT)
         set_pev(Ent, pev_fuser3, 0.0)
      }
   }
   if(pev(Id, pev_health) <= flAdjustedDamage) death = true 
   
   
if(is_user_alive(Id))
   {
      if( bIsHeadShot && death)
      {
         if(task_exists( Ent+1858941 )) remove_task( Ent + 1858941 )
         set_pev(Ent, pev_sequence, 0)
         headshot_korban[pev(Ent, pev_iuser2)] = 0
         headshot_mode
[Owner] = 0
         shoot_ent_mode
[Owner] = 1
         ent_sentuh
[Owner] = 1
         ent_sentuh_balik
[Owner] = 0
         set_pev
(Ent, pev_solid, SOLID_BBOX)
         set_pev(Ent, pev_nextthink, halflife_time() + 0.01)
         
         kill
(Attacker, Id, 1)
         
         death 
= false         
      
}
      if(death)
      {
         kill(Attacker, Id, 0)
         
         death 
= false         
      
}
      else ExecuteHamB(Ham_TakeDamage, Id, Ent, Attacker, flAdjustedDamage, DMG_CLUB)
   }
}


stock turn_to_target(ent, Float:Ent_Origin[3], target, Float:Vic_Origin[3]) 
{
   if(target) 
   {
      new Float:newAngle[3]
      entity_get_vector(ent, EV_VEC_angles, newAngle)
      new Float:x = Vic_Origin[0] - Ent_Origin[0]
      new Float:z = Vic_Origin[1] - Ent_Origin[1]
      
      
new Float:radians = floatatan(z/x, radian)
      newAngle[1] = radians * (180 / 3.14)
      if (Vic_Origin[0] < Ent_Origin[0])
         newAngle[1] -= 180.0
      
      entity_set_vector
(ent, EV_VEC_angles, newAngle)
   }
}

public 
balik_bro(Ent)
{
   Ent -= 1858941
   
   
if(!pev_valid(Ent))
      return
   
   
static pemilix; pemilix = pev(Ent, pev_iuser1)
   set_pev(Ent, pev_sequence, 0)
   headshot_korban[pev(Ent, pev_iuser2)] = 0
   headshot_mode
[pemilix] = 0
   shoot_ent_mode
[pemilix] = 1
   ent_sentuh
[pemilix] = 1
   ent_sentuh_balik
[pemilix] = 0
   set_pev
(Ent, pev_solid, SOLID_BBOX)
   set_pev(Ent, pev_nextthink, halflife_time() + 0.01)
}

public 
fw_SetModel(entity, model[])
{
   if(!pev_valid(entity))
      return FMRES_IGNORED
   
   
static Classname[64]
   pev(entity, pev_classname, Classname, sizeof(Classname))
   
   
if(!equal(Classname, "weaponbox"))
      return FMRES_IGNORED
   
   
static id
   id 
= pev(entity, pev_owner)
   
   
if(equal(model, old_w_model))
   {
      static weapon
      weapon 
= fm_get_user_weapon_entity(entity, CSW_BDRIPPER)
      
      
if(!pev_valid(weapon))
         return FMRES_IGNORED
      
      
if(g_had_guillotine[id])
      {
         set_pev(weapon, pev_impulse, WEAPON_SECRETCODE)
         set_pev(weapon, pev_iuser4, g_guillotine_ammo[id])
         engfunc(EngFunc_SetModel, entity, w_model)
         
         g_had_guillotine
[id] = 0
         g_guillotine_ammo
[id] = 0
         
         
return FMRES_SUPERCEDE
      
}
   }
   
   
return FMRES_IGNORED;
}

public 
fw_AddToPlayer_Post(ent, id)
{
   if(pev(ent, pev_impulse) == WEAPON_SECRETCODE)
   {
      g_had_guillotine[id] = 1
      g_guillotine_ammo
[id] = pev(ent, pev_iuser4)
      
      set_pev
(ent, pev_impulse, 0)
   }         
   
/*
   message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id)
   write_string((g_had_guillotine[id] == 1 ? "weapon_guillotine" : "weapon_mac10"))
   write_byte(6)
   write_byte(100)
   write_byte(-1)
   write_byte(-1)
   write_byte(0)
   write_byte(13)
   write_byte(CSW_BDRIPPER)
   write_byte(0)*/
}

public 
update_ammo(id)
{
   if(!is_user_alive(id))
      return
   
   
static weapon_ent; weapon_ent = fm_get_user_weapon_entity(id, CSW_BDRIPPER)
   if(!pev_valid(weapon_ent)) return
   
   cs_set_weapon_ammo
(weapon_ent, g_guillotine_ammo[id])   
   
//cs_set_user_bpammo(id, CSW_BDRIPPER, g_guillotine_ammo[id])
   
   engfunc
(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), {0, 0, 0}, id)
   write_byte(1)
   write_byte(CSW_BDRIPPER)
   write_byte(-1)
   message_end()
   
   message_begin
(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id)
   write_byte(1)
   write_byte(g_guillotine_ammo[id])
   message_end()
}

public 
fw_traceline(Float:v1[3],Float:v2[3],noMonsters,id,ptr)
{
   if(!is_user_alive(id))
      return HAM_IGNORED   
   
if(get_user_weapon(id) != CSW_BDRIPPER || !g_had_guillotine[id])
      return HAM_IGNORED
   
   
// get crosshair aim
   static Float:aim[3];
   get_aim(id,v1,aim);
   
   
// do another trace to this spot
   new trace = create_tr2();
   engfunc(EngFunc_TraceLine,v1,aim,noMonsters,id,trace);
   
   
// copy ints
   set_tr2(ptr,TR_AllSolid,get_tr2(trace,TR_AllSolid));
   set_tr2(ptr,TR_StartSolid,get_tr2(trace,TR_StartSolid));
   set_tr2(ptr,TR_InOpen,get_tr2(trace,TR_InOpen));
   set_tr2(ptr,TR_InWater,get_tr2(trace,TR_InWater));
   set_tr2(ptr,TR_pHit,get_tr2(trace,TR_pHit));
   set_tr2(ptr,TR_iHitgroup,get_tr2(trace,TR_iHitgroup));
   
   
// copy floats
   get_tr2(trace,TR_flFraction,aim[0]);
   set_tr2(ptr,TR_flFraction,aim[0]);
   get_tr2(trace,TR_flPlaneDist,aim[0]);
   set_tr2(ptr,TR_flPlaneDist,aim[0]);
   
   
// copy vecs
   get_tr2(trace,TR_vecEndPos,aim);
   set_tr2(ptr,TR_vecEndPos,aim);
   get_tr2(trace,TR_vecPlaneNormal,aim);
   set_tr2(ptr,TR_vecPlaneNormal,aim);
   
   
// get rid of new trace
   free_tr2(trace);
   
   
return FMRES_IGNORED;
}

get_aim(id,Float:source[3],Float:ret[3])
{
static 
Float:vAngle[3], Float:pAngle[3], Float:dir[3], Float:temp[3];

// get aiming direction from forward global based on view angle and punch angle
pev(id,pev_v_angle,vAngle);
pev(id,pev_punchangle,pAngle);
xs_vec_add(vAngle,pAngle,temp);
engfunc(EngFunc_MakeVectors,temp);
global_get(glb_v_forward,dir);

/* vecEnd = vecSrc + vecDir * flDistance; */
xs_vec_mul_scalar(dir,8192.0,temp);
xs_vec_add(source,temp,ret);
}

public 
fake_smokes(Float:Origin[3])
{
static 
TE_FLAG

TE_FLAG 
|= TE_EXPLFLAG_NODLIGHTS
TE_FLAG 
|= TE_EXPLFLAG_NOSOUND
TE_FLAG 
|= TE_EXPLFLAG_NOPARTICLES

engfunc
(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, Origin, 0)
write_byte(TE_EXPLOSION)
engfunc(EngFunc_WriteCoord, Origin[0])
engfunc(EngFunc_WriteCoord, Origin[1])
engfunc(EngFunc_WriteCoord, Origin[2])
write_short(g_smokepuff_id)
write_byte(6)
write_byte(25)
write_byte(TE_FLAG)
message_end()
}

stock set_weapon_anim(id, anim)
{
   if(!is_user_alive(id))
      return
   
   set_pev
(id, pev_weaponanim, anim)
   
   message_begin
(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id)
   write_byte(anim)
   write_byte(pev(id, pev_body))
   message_end()
}

stock kill(k, v, headshot)
{
   //cs_set_user_money(k, cs_get_user_money(k) + 500)
   
   set_user_frags
(k, get_user_frags(k) + 1)
   
   set_msg_block
(g_MsgDeathMsg,BLOCK_ONCE)
   set_msg_block(gmsgScoreInfo,BLOCK_ONCE)
   user_kill(v,1)
   
   
new kteam = get_user_team(k);
   new vteam = get_user_team(v);
   
   
new kfrags = get_user_frags(k);
   new kdeaths = get_user_deaths(k);
   
   
new vfrags = get_user_frags(v);
   new vdeaths = get_user_deaths(v);
   
   emessage_begin
(MSG_ALL, gmsgScoreInfo);
   ewrite_byte(k);
   ewrite_short(kfrags);
   ewrite_short(kdeaths);
   ewrite_short(0);
   ewrite_short(kteam);
   emessage_end();
   
   emessage_begin
(MSG_ALL, gmsgScoreInfo);
   ewrite_byte(v);
   ewrite_short(vfrags);
   ewrite_short(vdeaths);
   ewrite_short(0);
   ewrite_short(vteam);
   emessage_end();
   
   emessage_begin
(MSG_BROADCAST, g_MsgDeathMsg)
   ewrite_byte(k)
   ewrite_byte(v)
   ewrite_byte(headshot)
   ewrite_string("guillotine")
   emessage_end()
}


stock create_blood(const Float:origin[3])
{
   // Show some blood :)
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY) 
   write_byte(TE_BLOODSPRITE)
   engfunc(EngFunc_WriteCoord, origin[0])
   engfunc(EngFunc_WriteCoord, origin[1])
   engfunc(EngFunc_WriteCoord, origin[2])
   write_short(m_iBlood[1])
   write_short(m_iBlood[0])
   write_byte(75)
   write_byte(12)
   message_end()
   
   message_begin
(MSG_BROADCAST, SVC_TEMPENTITY) 
   write_byte(TE_BLOODSPRITE)
   engfunc(EngFunc_WriteCoord, origin[0])
   engfunc(EngFunc_WriteCoord, origin[1])
   engfunc(EngFunc_WriteCoord, origin[2])
   write_short(m_iBlood[1])
   write_short(m_iBlood[0])
   write_byte(75)
   write_byte(12)
   message_end()
}

stock drop_weapons(id, dropwhat)
{
   static weapons[32], num, i, weaponid
   num 
= 0
   get_user_weapons
(id, weapons, num)
   
   
for (i = 0; i < num; i++)
   {
      weaponid = weapons[i]
      
      
if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
      {
         static wname[32]
         get_weaponname(weaponid, wname, sizeof wname - 1)
         engclient_cmd(id, "drop", wname)
      }
   }
}

stock Get_MissileWeaponHitGroup( iEnt )
{
   new Float:flStart[ 3 ], Float:flEnd[ 3 ];
   
   pev
( iEnt, pev_origin, flStart );
   pev( iEnt, pev_velocity, flEnd );
   xs_vec_add( flStart, flEnd, flEnd );
   
   
new ptr = create_tr2();
   engfunc( EngFunc_TraceLine, flStart, flEnd, 0, iEnt, ptr );
   
   
new iHitGroup, Owner, nOhead, head
   Owner 
= pev(iEnt, pev_iuser1)
   nOhead = get_tr2( ptr, TR_iHitgroup )
   head = set_tr2( ptr, TR_iHitgroup, HIT_HEAD )
   
   iHitGroup 
= headshot_mode[Owner] ? head : nOhead
   
   free_tr2
( ptr );
   
   
return iHitGroup;
}

stock get_position(id,Float:forw, Float:right, Float:up, Float:vStart[])
{
   static Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
   
   pev
(id, pev_origin, vOrigin)
   pev(id, pev_view_ofs, vUp) //for player
   xs_vec_add(vOrigin, vUp, vOrigin)
   pev(id, pev_v_angle, vAngle) // if normal entity ,use pev_angles
   
   angle_vector
(vAngle, ANGLEVECTOR_FORWARD, vForward) //or use EngFunc_AngleVectors
   angle_vector(vAngle, ANGLEVECTOR_RIGHT, vRight)
   angle_vector(vAngle, ANGLEVECTOR_UP, vUp)
   
   vStart
[0] = vOrigin[0] + vForward[0] * forw + vRight[0] * right + vUp[0] * up
   vStart
[1] = vOrigin[1] + vForward[1] * forw + vRight[1] * right + vUp[1] * up
   vStart
[2] = vOrigin[2] + vForward[2] * forw + vRight[2] * right + vUp[2] * up
}

stock set_weapons_timeidle(id, WeaponId ,Float:TimeIdle)
{
   if(!is_user_alive(id))
      return
   
   
static entwpn; entwpn = fm_get_user_weapon_entity(id, WeaponId)
   if(!pev_valid(entwpn)) 
      return
   
   set_pdata_float
(entwpn, 48, TimeIdle + 0.2, OFFSET_LINUX_WEAPONS)
}

stock set_player_nextattackx(id, Float:nexttime)
{
   if(!is_user_alive(id))
      return
   
   set_pdata_float
(id, m_flNextAttack, nexttime, 5)
} 
şimdiden teşekkürler
RE: Zm Admin Gui
güncel
RE: Zm Admin Gui
Eklentiyi debuglamanız gerekmektedir --> https://webailesi.com/konu-yazili-debug-for-plugins-6565
Linksta
RE: Zm Admin Gui
(14-06-2020, 17:51)By.KinG Adlı Kullanıcıdan Alıntı: Eklentiyi debuglamanız gerekmektedir --> https://webailesi.com/konu-yazili-debug-for-plugins-6565

Örnek Olarak Mesela :

zmescape.amxx

zmescape.amxx debug

böylemi olucak by king?
RE: Zm Admin Gui
Aynen öyle.
Linksta
Zm Admin Gui
Konunuz uzun bir süre güncellenmediği için "Zaman aşımına uğramış istekler" kategorisine taşınmıştır.
Linksta

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Benzer Konular

ReckLesS
8Yorum
696Okunma
pamuk
5Yorum
1.960Okunma
ReckLesS
3Yorum
4.048Okunma
ReckLesS
3Yorum
4.177Okunma
ReckLesS
3Yorum
4.152Okunma
Konuyu Okuyanlar: 1 Ziyaretçi