Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
Eroare Extra items
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
Author
Message
867
Mihai94.
[Fondator ZP]
Status: Offline
(since 04-12-2019 07:04)
Joined: 20 Jan 2016
Posts: 1298
,
Topics: 159
Location:
Romania
Reputation:
191.6
Votes
: 88
Posted: 30-07-2018, 17:31:26
| Translate post to:
... (
Click for more languages
)
salut, primesc eroare de la plugin-ul
ak
frost
Code:
L 07/30/2018 - 18:02:40: [HAMSANDWICH] Function fw_FrostAk47AddToPlayer not found.
L 07/30/2018 - 18:02:40: [AMXX] Displaying debug trace (plugin "zm_vip_extra_ak47Frost.amxx", version "1.0")
L 07/30/2018 - 18:02:40: [AMXX] Run time error 10: native error (native "RegisterHam")
L 07/30/2018 - 18:02:40: [AMXX] [0] zm_vip_extra_ak47Frost.sma::plugin_init (line 71)
Spoiler:
#include <amxmodx>
#include <zombie_plague_special>
#include <dhudmessage>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fun>
#include <zmvip>
#define write_coord_fl(%1) engfunc(EngFunc_WriteCoord, %1)
#define message_begin_fl(%1,%2,%3,%4) engfunc(EngFunc_MessageBegin, %1, %2, %3, %4)
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
new const V_AK47_MODEL[] = "models/zombie_plague/arme_hm_zm/v_frostVIP_ak47.mdl"
new const P_AK47_MODEL[] = "models/zombie_plague/arme_hm_zm/p_frostVIP_ak47.mdl"
new const W_AK47_MODEL[] = "models/zombie_plague/arme_hm_zm/w_frostVIP_ak47.mdl"
new const W_OLD_AK47_MODEL[] = "models/w_ak47.mdl"
new const ICE_MODEL[] = "models/zombie_plague/cub_gheata.mdl"
new const MODEL_GLASSGIBS[] = "models/glassgibs.mdl"
new const SOUND_UNFROZEN[] = "debris/glass3.wav"
enum _:Sprites
{
SPRITE_FROST,
SPRITE_FROST2,
SPRITE_FLAKE
}
new g_iSprites[Sprites]
new g_iItemID, g_iAK47FrostSpr, g_iMsgScreenFade, g_iMaxPlayers, g_iHudSync, g_iSpriteLaser, g_iGlassGibs, g_iFreezeDmg, g_fFrostTime, g_iDmgMultiplier, g_iStatusIcon
new bool:g_bHasFrostAK47[33], g_bIsFrozen[33]
new g_iDmg[33]
public plugin_init()
{
register_plugin("[ZP] Extra Item: Frost AK47", "1.0", "Jok3r")
// Cvars
g_fFrostTime = register_cvar("zp_frost_ak47_time", "1.0") // Freeze Time. It's Float you can make it 0.5
g_iFreezeDmg = register_cvar("zp_freezing_ak47_damage", "700") // Damage Requried So Zombie got Frozen
g_iDmgMultiplier = register_cvar("zp_multiplier_ak47_damage", "2") // Multiplie Weapon Damage
// Message IDS
g_iHudSync = CreateHudSyncObj()
g_iMsgScreenFade = get_user_msgid("ScreenFade")
g_iStatusIcon = get_user_msgid("StatusIcon")
// Server Max Slots
g_iMaxPlayers = get_maxplayers()
// ITEM NAME & COST
g_iItemID = zv_register_extra_item("AK 47 Frost VIP","Ingeata Zombii", 85, ZV_TEAM_HUMAN) // It's cost 30 Ammo Pack
// Events
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_event("WeapPickup","CheckModel","b","1=19")
register_event("CurWeapon","CurrentWeapon","be","1=1")
register_event("DeathMsg", "EventDeathMsg", "a")
// Forwards
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
register_forward(FM_SetModel, "fw_SetModel")
// Hams
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "worldspawn", "TraceAttack", 1)
RegisterHam(Ham_Item_AddToPlayer, "weapon_ak47", "fw_FrostAk47AddToPlayer")
}
public plugin_precache()
{
// Models
precache_model(V_AK47_MODEL)
precache_model(P_AK47_MODEL)
precache_model(W_AK47_MODEL)
precache_model(ICE_MODEL)
g_iGlassGibs = precache_model(MODEL_GLASSGIBS)
// Sounds
precache_sound("warcraft3/impalehit.wav")
precache_sound(SOUND_UNFROZEN)
// Sprites
g_iAK47FrostSpr = precache_model("sprites/shockwave.spr")
g_iSpriteLaser = precache_model( "sprites/lgtning.spr")
g_iSprites[SPRITE_FROST] = precache_model("sprites/zp_n_sprites/frost_explode.spr");
g_iSprites[SPRITE_FROST2] = precache_model("sprites/zp_n_sprites/frost_gib.spr");
g_iSprites[SPRITE_FLAKE] = precache_model("sprites/snow.spr");
}
public client_putinserver(id)
{
g_bHasFrostAK47[id] = false
g_bIsFrozen[id] = false
}
public client_disconnect(id)
{
g_bHasFrostAK47[id] = false
g_bIsFrozen[id] = false
RemoveEntity(id)
}
public zv_extra_item_selected(player, itemid)
{
if (itemid == g_iItemID)
{
g_bHasFrostAK47[player] = true
ham_strip_weapon(player, "weapon_ak47")
give_item(player, "weapon_ak47")
cs_set_user_bpammo(player, CSW_AK47, 90)
new sName[32]
get_user_name(player, sName, 31)
set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
show_hudmessage(0, "%s a Cumparat AK47 Frost!", sName)
ColorPrint(player, "^1[^4ZP^1] ^3Ai Cumparat AK47 Frost^1!")
}
}
public TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(iAttacker))
return
if(get_user_weapon(iAttacker) != CSW_AK47 || !g_bHasFrostAK47[iAttacker])
return
set_hudmessage(34, 138, 255, -1.0, 0.17, 1, 0.0, 2.0, 1.0, 1.0, -1)
ShowSyncHudMsg(iAttacker, g_iHudSync, "Damange Creat Pe Inchet!^n%d/%d", g_iDmg[iAttacker], get_pcvar_num(g_iFreezeDmg))
new vec1[3], vec2[3]
get_user_origin(iAttacker, vec1, 1)
get_user_origin(iAttacker, vec2, 4)
make_beam(vec1, vec2, g_iSpriteLaser, 0, 50, 200, 200)
}
public zp_user_infected_post(infected, infector)
{
if (g_bHasFrostAK47[infected])
{
g_bHasFrostAK47[infected] = false
}
}
public zp_user_humanized_post(id)
{
g_bHasFrostAK47[id] = false
g_iDmg[id] = 0
RemoveEntity(id)
}
public event_round_start()
{
for (new i = 1; i <= g_iMaxPlayers; i++)
{
g_bHasFrostAK47[i] = false
g_bIsFrozen[i] = false
g_iDmg[i] = 0
if(is_user_alive(i))
{
Remove_Rendering(i)
}
}
}
public EventDeathMsg()
{
new iVictim = read_data(2)
RemoveEntity(iVictim)
Remove_Rendering(iVictim)
g_bIsFrozen[iVictim] = false
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(!is_user_connected(victim) || !is_user_connected(attacker) || zp_get_user_nemesis(victim) || attacker == victim || !attacker)
return HAM_IGNORED
if(g_bIsFrozen[victim])
return HAM_SUPERCEDE
if(g_bHasFrostAK47[attacker] && (get_user_weapon(attacker) == CSW_AK47))
SetHamParamFloat(4, damage * get_pcvar_num(g_iDmgMultiplier))
// For Frost Effect Ring
static Float:originF[3]
pev(victim, pev_origin, originF)
// For Frost Effect Sound
static originF2[3]
get_user_origin(victim, originF2)
if((get_user_weapon(attacker) == CSW_AK47) && g_bHasFrostAK47[attacker])
{
g_iDmg[attacker] += (floatround(damage) * get_pcvar_num(g_iDmgMultiplier))
}
if((g_iDmg[attacker] >= get_pcvar_num(g_iFreezeDmg)) && (get_user_weapon(attacker) == CSW_AK47) && g_bHasFrostAK47[attacker])
{
new sName[32]
get_user_name(victim, sName, charsmax(sName))
FrostEffect(victim)
FrostEffectRing(originF)
FrostEffectSound(originF2)
g_iDmg[attacker] = 0
set_dhudmessage(34, 138, 255, -1.0, 0.25, 2, 6.0, 3.0, 0.1, 1.5)
show_dhudmessage(attacker, "%s a Fost Inghetat!", sName)
}
return HAM_IGNORED
}
public CheckModel(id)
{
if(zp_get_user_survivor(id))
return PLUGIN_HANDLED
if (is_user_alive(id))
{
set_pev(id, pev_viewmodel2, V_AK47_MODEL)
set_pev(id, pev_weaponmodel2, P_AK47_MODEL)
}
return PLUGIN_HANDLED
}
public CurrentWeapon(id)
{
if ((get_user_weapon(id) == CSW_AK47) && g_bHasFrostAK47[id] == true)
{
CheckModel(id)
}
else
{
ClearSyncHud(id, g_iHudSync)
}
return PLUGIN_HANDLED
}
public FrostEffect(id)
{
// Only effect alive unfrozen zombies
if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_bIsFrozen[id])
return
message_begin(MSG_ONE_UNRELIABLE, g_iMsgScreenFade, _, id)
write_short(4096*1) // duration
write_short(4096*1) // hold time
write_short(0x0000) // fade type
write_byte(0) // red
write_byte(50) // green
write_byte(200) // blue
write_byte(100) // alpha
message_end()
message_begin(MSG_ONE, g_iStatusIcon, {0,0,0}, id)
write_byte(1) // Status [0=Hide, 1=Show, 2=Flash]
write_string("dmg_cold") // Sprite Name
write_byte(000) // Red
write_byte(206) // Green
write_byte(209) // Blue
message_end()
new ent = create_entity("info_target")
UTIL_Explosion(id, g_iSprites[SPRITE_FROST], 40, 30, 4)
UTIL_Explosion(id, g_iSprites[SPRITE_FROST2], 20, 30, 4)
UTIL_SpriteTrail(id, g_iSprites[SPRITE_FLAKE], 30, 3, 2, 30, 0)
new Float:iOrigin[3]
entity_get_vector(id, EV_VEC_origin, iOrigin)
set_pev(ent, pev_body, 1)
entity_set_model(ent, ICE_MODEL)
iOrigin[2] -= 35
entity_set_origin(ent, iOrigin)
set_pev(ent, pev_owner, id)
set_rendering(ent, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
entity_set_string(ent, EV_SZ_classname, "ent_frozen")
entity_set_int(ent, EV_INT_solid, 2)
new Float: iOriginNew[3]
entity_get_vector(id, EV_VEC_origin, iOriginNew)
set_user_rendering(id, kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 25)
g_bIsFrozen[id] = true
set_task(get_pcvar_float(g_fFrostTime), "RemoveFrost", id) // Time to Remove Frost Effect
}
public fw_PlayerPreThink(id)
{
// Not alive or Not Zombie
if (!is_user_alive(id) || !g_bIsFrozen[id])
return
// Stop motion
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0})
set_user_maxspeed(id, 1.0)
// Stop Moving Mouse
set_pev(id , pev_v_angle , Float:{0.0,0.0,0.0})
set_pev(id , pev_fixangle , 1)
}
// Frost Effect Sound
public FrostEffectSound(iOrigin[3])
{
new Entity = create_entity("info_target")
new Float:flOrigin[3]
IVecFVec(iOrigin, flOrigin)
entity_set_origin(Entity, flOrigin)
emit_sound(Entity, CHAN_WEAPON, "warcraft3/impalehit.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
remove_entity(Entity)
}
UTIL_Explosion(iEnt, iSprite, iScale, iFramerate, Flags)
{
new Float:vOrigin[3]
pev(iEnt, pev_origin, vOrigin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_EXPLOSION)
engfunc(EngFunc_WriteCoord, vOrigin[0])
engfunc(EngFunc_WriteCoord, vOrigin[1])
engfunc(EngFunc_WriteCoord, vOrigin[2])
write_short(iSprite)
write_byte(iScale)
write_byte(iFramerate)
write_byte(Flags)
message_end()
}
UTIL_SpriteTrail(iEnt, iSprite, iCount, iLife, iScale, iVelocity, iVary)
{
new Float:vOrigin[3]
pev(iEnt, pev_origin, vOrigin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPRITETRAIL)
engfunc(EngFunc_WriteCoord, vOrigin[0])
engfunc(EngFunc_WriteCoord, vOrigin[1])
engfunc(EngFunc_WriteCoord, vOrigin[2] + 100)
engfunc(EngFunc_WriteCoord, vOrigin[0] + random_float( -200.0, 200.0 ))
engfunc(EngFunc_WriteCoord, vOrigin[1] + random_float( -200.0, 200.0 ))
engfunc(EngFunc_WriteCoord, vOrigin[2])
write_short(iSprite)
write_byte(iCount)
write_byte(iLife)
write_byte(iScale)
write_byte(iVelocity)
write_byte(iVary)
message_end()
}
// Frost Effect Ring
FrostEffectRing(const Float:originF3[3])
{
// Largest ring
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF3, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF3[0]) // x
engfunc(EngFunc_WriteCoord, originF3[1]) // y
engfunc(EngFunc_WriteCoord, originF3[2]) // z
engfunc(EngFunc_WriteCoord, originF3[0]) // x axis
engfunc(EngFunc_WriteCoord, originF3[1]) // y axis
engfunc(EngFunc_WriteCoord, originF3[2]+100.0) // z axis
write_short(g_iAK47FrostSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(41) // red
write_byte(138) // green
write_byte(255) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
}
// Remove Frost Effect
public RemoveFrost(id)
{
// Not alive or not frozen anymore
if (!is_user_alive(id) || !g_bIsFrozen[id])
return
// Unfreeze
g_bIsFrozen[id] = false;
set_task(0.1, "remove_jibs", id)
// Rest Player Speed
ExecuteHamB(Ham_Player_ResetMaxSpeed, id)
Remove_Rendering(id)
RemoveStatusIcon(id)
}
public remove_jibs(id)
{
RemoveEntity(id)
new Float:origin[3]
pev(id,pev_origin,origin)
message_begin_fl(MSG_PVS,SVC_TEMPENTITY,origin,0)
write_byte(TE_IMPLOSION)
write_coord_fl(origin[0]) // x
write_coord_fl(origin[1]) // y
write_coord_fl(origin[2] + 8.0) // z
write_byte(64) // radius
write_byte(10) // count
write_byte(3) // duration
message_end()
message_begin_fl(MSG_PVS,SVC_TEMPENTITY,origin,0)
write_byte(TE_SPARKS)
write_coord_fl(origin[0]) // x
write_coord_fl(origin[1]) // y
write_coord_fl(origin[2]) // z
message_end()
message_begin_fl(MSG_PAS,SVC_TEMPENTITY,origin,0)
write_byte(TE_BREAKMODEL)
write_coord_fl(origin[0]) // x
write_coord_fl(origin[1]) // y
write_coord_fl(origin[2] + 24.0) // z
write_coord_fl(16.0) // size x
write_coord_fl(16.0) // size y
write_coord_fl(16.0) // size z
write_coord(random_num(-50,50)) // velocity x
write_coord(random_num(-50,50)) // velocity y
write_coord_fl(25.0) // velocity z
write_byte(10) // random velocity
write_short(g_iGlassGibs) // model
write_byte(10) // count
write_byte(25) // life
write_byte(0x01) // flags
message_end()
emit_sound(0,CHAN_ITEM,SOUND_UNFROZEN,VOL_NORM,ATTN_NORM,0,PITCH_LOW)
}
stock ColorPrint(const id, const input[], any: ...)
{
new count = 1, players[32]
static msg[192]
vformat(msg, 191, input, 3)
replace_all(msg, 191, "!g", "^4")
replace_all(msg, 191, "!y", "^1")
replace_all(msg, 191, "!t", "^3")
replace_all(msg, 191, "!t2", "^0")
if (id) players[0] = id;else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected( players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
stock ham_strip_weapon(id,weapon[])
{
if(!equal(weapon,"weapon_",7)) return 0
new wId = get_weaponid(weapon)
if(!wId) return 0
new wEnt
while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
if(!wEnt) return 0
if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt)
if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0
ExecuteHamB(Ham_Item_Kill,wEnt)
set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId))
return 1
}
make_beam(const origin2[3], const origin[3], sprite, red, green, blue, alpha)
{
//BEAMENTPOINTS
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (0) //TE_BEAMENTPOINTS 0
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2])
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_short(sprite) // sprite
write_byte(1) // framestart
write_byte(5) // framerate
write_byte(2) // life
write_byte(20) // width
write_byte(0) // noise
write_byte(red) // r, g, b
write_byte(green) // r, g, b
write_byte(blue) // r, g, b
write_byte(alpha) // brightness
write_byte(150) // speed
message_end()
}
public RemoveStatusIcon(id)
{
// Remove Status Icon
message_begin(MSG_ONE, g_iStatusIcon, {0,0,0}, id)
write_byte(0) // Status [0=Hide, 1=Show, 2=Flash]
write_string("dmg_cold") // Sprite Name
message_end()
}
public fw_SetModel(entity, model[])
{
if(!is_valid_ent(entity))
return FMRES_IGNORED
if(!equali(model, W_OLD_AK47_MODEL))
return FMRES_IGNORED
new className[33]
entity_get_string(entity, EV_SZ_classname, className, 32)
static iOwner, iStoredAK47ID
// Frost AK47 Owner
iOwner = entity_get_edict(entity, EV_ENT_owner)
// Get drop weapon index (Frost AK47) to use in fw_FrostAK47AddToPlayer forward
iStoredAK47ID = find_ent_by_owner(-1, "weapon_ak47", entity)
// If Player Has Frost AK47 and It's weapon_ak47
if(g_bHasFrostAK47[iOwner] && is_valid_ent(iStoredAK47ID))
{
// Setting weapon options
entity_set_int(iStoredAK47ID, EV_INT_impulse, 1997)
// Rest Var
g_bHasFrostAK47[iOwner] = false
// Set weaponbox new model
entity_set_model(entity, W_AK47_MODEL)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
public fw_FrostAK47AddToPlayer(FrostAK47, id)
{
// Make sure that this is AK47
if(is_valid_ent(FrostAK47) && is_user_connected(id) && entity_get_int(FrostAK47, EV_INT_impulse) == 1997)
{
// Update Var
g_bHasFrostAK47[id] = true
// Reset weapon options
entity_set_int(FrostAK47, EV_INT_impulse, 0)
return HAM_HANDLED
}
return HAM_IGNORED
}
stock Remove_Rendering(id)
{
set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderNormal, 16)
}
public RemoveEntity(id)
{
if(!is_user_connected(id))
return
new iEnt = find_ent_by_owner(-1, "ent_frozen", id);
if(pev_valid(iEnt))
remove_entity(iEnt)
}
ZP.FREAKZ.RO BEST SERVER ZOMBIE
0
0
Back to top
Mihai94.
[Fondator ZP]
Status: Offline
(since 04-12-2019 07:04)
Joined: 20 Jan 2016
Posts: 1298
,
Topics: 159
Location:
Romania
Reputation:
191.6
Votes
: 88
Posted: 01-08-2018, 09:16:39
| Translate post to:
... (
Click for more languages
)
up...
ZP.FREAKZ.RO BEST SERVER ZOMBIE
0
0
Back to top
InLoveCs
[00 11 00]
Status: Offline
(since 24-12-2021 07:55)
Joined: 11 Jan 2011
Posts: 8224
,
Topics: 738
Location:
zmx.freakz.ro
Reputation:
2926.8
Votes
: 170
Posted: 01-08-2018, 11:25:25
| Translate post to:
... (
Click for more languages
)
Functia aia e pusa acolo ca jucatorul sa aiba ak47 frost si in runda urmatoare. Nu functioneaza lucrul asta ? Ca eu vad ca functia aia o ai pusa in cod si iti da eroare.
0
0
Back to top
Topic locked
Topic is closed, you cannot post any messages in it anymore
Locked by
InLoveCs
, 03 August 2018 07:17
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
The time now is 25-04-2024, 20:00:56
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details