ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:44:42 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:44:42 GMT Nov 19, 2017 14:24:57 GMT P!KaChu~ said:PUT SMA asdasdasd.sma (18.29 KB)
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:45:22 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by P!KaChu~ on Nov 19, 2017 14:45:22 GMT /*================================================================================---------------------------*- [ZP] Grenade: Fire -*---------------------------This plugin is part of Zombie Plague Mod and is distributed under theterms of the GNU General Public License. Check ZP_ReadMe.txt for details.================================================================================*/#include <amxmodx>#include <fun>#include <fakemeta>#include <hamsandwich>#include <xs>#include <amx_settings_api>#include <cs_weap_models_api>#include <cs_ham_bots_api>#include <zp50_core>#define LIBRARY_NEMESIS "zp50_class_nemesis"#include <zp50_class_nemesis>// Settings filenew const ZP_SETTINGS_FILE[] = "zombieplague.ini"// Default soundsnew g_frostexp , g_fire_gibsnew const sound_grenade_fire_explode[][] = { "zombie_plague/grenade_explode.wav" }new const sound_grenade_fire_player[][] = { "zombie_plague/zombie_burn3.wav" , "zombie_plague/zombie_burn4.wav" , "zombie_plague/zombie_burn5.wav" , "zombie_plague/zombie_burn6.wav" , "zombie_plague/zombie_burn7.wav" }#define MODEL_MAX_LENGTH 64#define SOUND_MAX_LENGTH 64#define SPRITE_MAX_LENGTH 64// Modelsnew g_model_grenade_fire[MODEL_MAX_LENGTH] = "models/zombie_plague/v_grenade_fire.mdl"// Spritesnew g_sprite_grenade_trail[SPRITE_MAX_LENGTH] = "sprites/fire_trail.spr"new g_sprite_grenade_ring[SPRITE_MAX_LENGTH] = "sprites/shockwave.spr"new g_sprite_grenade_fire[SPRITE_MAX_LENGTH] = "sprites/flame.spr"new g_sprite_grenade_smoke[SPRITE_MAX_LENGTH] = "sprites/black_smoke3.spr"new g_iFlare, g_ExploSprnew Array:g_sound_grenade_fire_explodenew Array:g_sound_grenade_fire_player// Explosion radius for custom grenadesconst Float:NADE_EXPLOSION_RADIUS = 240.0// HACK: pev_ field used to store custom nade types and their valuesconst PEV_NADE_TYPE = pev_flTimeStepSoundconst NADE_TYPE_NAPALM = 2222#define TASK_BURN 100#define ID_BURN (taskid - TASK_BURN)#define MAXPLAYERS 32// Custom Forwardsenum _:TOTAL_FORWARDS{FW_USER_BURN_PRE = 0}new g_Forwards[TOTAL_FORWARDS]new g_ForwardResultnew g_BurningDuration[MAXPLAYERS+1]new g_MsgDamagenew g_trailSpr, g_exploSpr, g_flameSpr, g_smokeSprnew cvar_grenade_fire_duration, cvar_grenade_fire_damage, cvar_grenade_fire_slowdown, cvar_grenade_fire_hudicon, cvar_grenade_fire_explosionpublic plugin_init(){register_plugin("[ZP] Grenade: Fire", ZP_VERSION_STRING, "ZP Dev Team")RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")RegisterHamBots(Ham_Killed, "fw_PlayerKilled")register_forward(FM_SetModel, "fw_SetModel")RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")g_MsgDamage = get_user_msgid("Damage")cvar_grenade_fire_duration = register_cvar("zp_grenade_fire_duration", "10")cvar_grenade_fire_damage = register_cvar("zp_grenade_fire_damage", "5")cvar_grenade_fire_slowdown = register_cvar("zp_grenade_fire_slowdown", "0.5")cvar_grenade_fire_hudicon = register_cvar("zp_grenade_fire_hudicon", "1")cvar_grenade_fire_explosion = register_cvar("zp_grenade_fire_explosion", "0")g_Forwards[FW_USER_BURN_PRE] = CreateMultiForward("zp_fw_grenade_fire_pre", ET_CONTINUE, FP_CELL)}public plugin_precache(){// Initialize arraysg_sound_grenade_fire_explode = ArrayCreate(SOUND_MAX_LENGTH, 1)g_sound_grenade_fire_player = ArrayCreate(SOUND_MAX_LENGTH, 1)// Load from external fileamx_load_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "GRENADE FIRE EXPLODE", g_sound_grenade_fire_explode)amx_load_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "GRENADE FIRE PLAYER", g_sound_grenade_fire_player)// If we couldn't load custom sounds from file, use and save default onesnew indexif (ArraySize(g_sound_grenade_fire_explode) == 0){for (index = 0; index < sizeof sound_grenade_fire_explode; index++)ArrayPushString(g_sound_grenade_fire_explode, sound_grenade_fire_explode[index])// Save to external fileamx_save_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "GRENADE FIRE EXPLODE", g_sound_grenade_fire_explode)}if (ArraySize(g_sound_grenade_fire_player) == 0){for (index = 0; index < sizeof sound_grenade_fire_player; index++)ArrayPushString(g_sound_grenade_fire_player, sound_grenade_fire_player[index])// Save to external fileamx_save_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "GRENADE FIRE PLAYER", g_sound_grenade_fire_player)}// Load from external file, save if not foundif (!amx_load_setting_string(ZP_SETTINGS_FILE, "Weapon Models", "GRENADE FIRE", g_model_grenade_fire, charsmax(g_model_grenade_fire)))amx_save_setting_string(ZP_SETTINGS_FILE, "Weapon Models", "GRENADE FIRE", g_model_grenade_fire)if (!amx_load_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "TRAIL", g_sprite_grenade_trail, charsmax(g_sprite_grenade_trail)))amx_save_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "TRAIL", g_sprite_grenade_trail)if (!amx_load_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "RING", g_sprite_grenade_ring, charsmax(g_sprite_grenade_ring)))amx_save_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "RING", g_sprite_grenade_ring)if (!amx_load_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "FIRE", g_sprite_grenade_fire, charsmax(g_sprite_grenade_fire)))amx_save_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "FIRE", g_sprite_grenade_fire)if (!amx_load_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "SMOKE", g_sprite_grenade_smoke, charsmax(g_sprite_grenade_smoke)))amx_save_setting_string(ZP_SETTINGS_FILE, "Grenade Sprites", "SMOKE", g_sprite_grenade_smoke)// Precache soundsnew sound[SOUND_MAX_LENGTH]for (index = 0; index < ArraySize(g_sound_grenade_fire_explode); index++){ArrayGetString(g_sound_grenade_fire_explode, index, sound, charsmax(sound))precache_sound(sound)}for (index = 0; index < ArraySize(g_sound_grenade_fire_player); index++){ArrayGetString(g_sound_grenade_fire_player, index, sound, charsmax(sound))precache_sound(sound)}// Precache modelsprecache_model(g_model_grenade_fire);g_trailSpr = precache_model(g_sprite_grenade_trail);g_exploSpr = precache_model(g_sprite_grenade_ring);g_flameSpr = precache_model(g_sprite_grenade_fire);g_smokeSpr = precache_model(g_sprite_grenade_smoke);g_frostexp = precache_model("sprites/Fire_Exp.spr")g_fire_gibs = precache_model("sprites/Fire_Gibs.spr")// g_iFlare = precache_model("sprites/fire_gib.spr");g_trailSpr = precache_model("sprites/fire_trail.spr");g_ExploSpr = precache_model("sprites/fire_cannon.spr") }public plugin_natives(){register_library("zp50_grenade_fire")register_native("zp_grenade_fire_get", "native_grenade_fire_get")register_native("zp_grenade_fire_set", "native_grenade_fire_set")set_module_filter("module_filter")set_native_filter("native_filter")}public module_filter(const module[]){if (equal(module, LIBRARY_NEMESIS))return PLUGIN_HANDLED;return PLUGIN_CONTINUE;}public native_filter(const name[], index, trap){if (!trap)return PLUGIN_HANDLED;return PLUGIN_CONTINUE;}public native_grenade_fire_get(plugin_id, num_params){new id = get_param(1)if (!is_user_alive(id)){log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)return false;}return task_exists(id+TASK_BURN);}public native_grenade_fire_set(plugin_id, num_params){new id = get_param(1)if (!is_user_alive(id)){log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)return false;}new set = get_param(2)// End fireif (!set){// Not burningif (!task_exists(id+TASK_BURN))return true;// Get player originstatic origin[3]get_user_origin(id, origin)// Smoke spritemessage_begin(MSG_PVS, SVC_TEMPENTITY, origin)write_byte(TE_SMOKE) // TE idwrite_coord(origin[0]) // xwrite_coord(origin[1]) // ywrite_coord(origin[2]-50) // zwrite_short(g_smokeSpr) // spritewrite_byte(random_num(15, 20)) // scalewrite_byte(random_num(10, 20)) // frameratemessage_end()// Task not needed anymoreremove_task(id+TASK_BURN)return true;}// Set on firereturn set_on_fire(id);}public zp_fw_core_cure_post(id, attacker){// Stop burningremove_task(id+TASK_BURN)g_BurningDuration[id] = 0// Set custom grenade modelcs_set_player_view_model(id, CSW_HEGRENADE, g_model_grenade_fire)}public zp_fw_core_infect(id, attacker){// Remove custom grenade modelcs_reset_player_view_model(id, CSW_HEGRENADE)}// Ham Player Killed Forwardpublic fw_PlayerKilled(victim, attacker, shouldgib){// Stop burningremove_task(victim+TASK_BURN)g_BurningDuration[victim] = 0}public client_disconnect(id){// Stop burningremove_task(id+TASK_BURN)g_BurningDuration[id] = 0}// Forward Set Modelpublic fw_SetModel(entity, const model[]){// We don't careif (strlen(model) < 8)return;// Narrow down our matches a bitif (model[7] != 'w' || model[8] != '_')return;// Get damage time of grenadestatic Float:dmgtimepev(entity, pev_dmgtime, dmgtime)// Grenade not yet thrownif (dmgtime == 0.0)return;// Grenade's owner is zombie?if (zp_core_is_zombie(pev(entity, pev_owner)))return;// HE Grenadeif (model[9] == 'h' && model[10] == 'e'){// Give it a glowfm_set_rendering(entity, kRenderFxGlowShell, 200, 0, 0, kRenderNormal, 16)// And a colored trailmessage_begin(MSG_BROADCAST, SVC_TEMPENTITY)write_byte(TE_BEAMFOLLOW) // TE idwrite_short(entity) // entitywrite_short(g_trailSpr) // spritewrite_byte(10) // lifewrite_byte(10) // widthwrite_byte(200) // rwrite_byte(0) // gwrite_byte(0) // bwrite_byte(200) // brightnessmessage_end()// Set grenade type on the thrown grenade entityset_pev(entity, PEV_NADE_TYPE, NADE_TYPE_NAPALM)}}// Ham Grenade Think Forwardpublic fw_ThinkGrenade(entity){// Invalid entityif (!pev_valid(entity)) return HAM_IGNORED;// Get damage time of grenadestatic Float:dmgtimepev(entity, pev_dmgtime, dmgtime)// Check if it's time to go offif (dmgtime > get_gametime())return HAM_IGNORED;// Not a napalm grenadeif (pev(entity, PEV_NADE_TYPE) != NADE_TYPE_NAPALM)return HAM_IGNORED;fire_explode(entity);// Keep the original explosion?if (get_pcvar_num(cvar_grenade_fire_explosion)){set_pev(entity, PEV_NADE_TYPE, 0)return HAM_IGNORED;}// Get rid of the grenadeengfunc(EngFunc_RemoveEntity, entity)return HAM_SUPERCEDE;}// Fire Grenade Explosionfire_explode(ent){// Get originstatic Float:origin[3]pev(ent, pev_origin, origin)// Override original HE grenade explosion?if (!get_pcvar_num(cvar_grenade_fire_explosion)){// Make the explosioncreate_blast2(origin)// Fire nade explode soundstatic sound[SOUND_MAX_LENGTH]ArrayGetString(g_sound_grenade_fire_explode, random_num(0, ArraySize(g_sound_grenade_fire_explode) - 1), sound, charsmax(sound))emit_sound(ent, CHAN_WEAPON, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)}// Collisionsnew victim = -1while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, NADE_EXPLOSION_RADIUS)) != 0){// Only effect alive zombiesif (!is_user_alive(victim) || !zp_core_is_zombie(victim))continue;set_on_fire(victim)}}set_on_fire(victim){// Allow other plugins to decide whether player should be burned or notExecuteForward(g_Forwards[FW_USER_BURN_PRE], g_ForwardResult, victim)if (g_ForwardResult >= PLUGIN_HANDLED)return false;// Heat icon?if (get_pcvar_num(cvar_grenade_fire_hudicon)){message_begin(MSG_ONE_UNRELIABLE, g_MsgDamage, _, victim)write_byte(0) // damage savewrite_byte(0) // damage takewrite_long(DMG_BURN) // damage typewrite_coord(0) // xwrite_coord(0) // ywrite_coord(0) // zmessage_end()}// Reduced duration for Nemesisif (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_nemesis_get(victim)){// fire duration (nemesis)g_BurningDuration[victim] += get_pcvar_num(cvar_grenade_fire_duration)}else{// fire duration (zombie)g_BurningDuration[victim] += get_pcvar_num(cvar_grenade_fire_duration) * 5}// Set burning task on victimremove_task(victim+TASK_BURN)set_task(0.2, "burning_flame", victim+TASK_BURN, _, _, "b")return true;}// Burning Flamespublic burning_flame(taskid){// Get player origin and flagsstatic origin[3]get_user_origin(ID_BURN, origin)new flags = pev(ID_BURN, pev_flags)// In water or burning stoppedif ((flags & FL_INWATER) || g_BurningDuration[ID_BURN] < 1){// Smoke spritemessage_begin(MSG_PVS, SVC_TEMPENTITY, origin)write_byte(TE_SMOKE) // TE idwrite_coord(origin[0]) // xwrite_coord(origin[1]) // ywrite_coord(origin[2]-50) // zwrite_short(g_smokeSpr) // spritewrite_byte(random_num(15, 20)) // scalewrite_byte(random_num(10, 20)) // frameratemessage_end()// Task not needed anymoreremove_task(taskid)return;}// Nemesis Class loaded?if (!LibraryExists(LIBRARY_NEMESIS, LibType_Library) || !zp_class_nemesis_get(ID_BURN)){// Randomly play burning zombie scream soundsif (random_num(1, 20) == 1){static sound[SOUND_MAX_LENGTH]ArrayGetString(g_sound_grenade_fire_player, random_num(0, ArraySize(g_sound_grenade_fire_player) - 1), sound, charsmax(sound))emit_sound(ID_BURN, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)}// Fire slow downif ((flags & FL_ONGROUND) && get_pcvar_float(cvar_grenade_fire_slowdown) > 0.0){static Float:velocity[3]pev(ID_BURN, pev_velocity, velocity)xs_vec_mul_scalar(velocity, get_pcvar_float(cvar_grenade_fire_slowdown), velocity)set_pev(ID_BURN, pev_velocity, velocity)}}// Get player's healthnew health = get_user_health(ID_BURN)// Take damage from the fireif (health - floatround(get_pcvar_float(cvar_grenade_fire_damage), floatround_ceil) > 0)set_user_health(ID_BURN, health - floatround(get_pcvar_float(cvar_grenade_fire_damage), floatround_ceil))// Flame spritemessage_begin(MSG_PVS, SVC_TEMPENTITY, origin)write_byte(TE_SPRITE) // TE idwrite_coord(origin[0]+random_num(-5, 5)) // xwrite_coord(origin[1]+random_num(-5, 5)) // ywrite_coord(origin[2]+random_num(-10, 10)) // zwrite_short(g_flameSpr) // spritewrite_byte(random_num(5, 10)) // scalewrite_byte(200) // brightnessmessage_end()// Decrease burning duration counterg_BurningDuration[ID_BURN]--}// Fire Grenade: Fire Blastcreate_blast2(const Float:origin[3]){// Frost Spritemessage_begin(MSG_BROADCAST,SVC_TEMPENTITY)write_byte (TE_SPRITE) // TE IDengfunc(EngFunc_WriteCoord, origin[0]) // Position Xengfunc(EngFunc_WriteCoord, origin[1]) // Yengfunc(EngFunc_WriteCoord, origin[2] + 50.0) // Zwrite_short(g_frostexp) // Sprite indexwrite_byte(20) // Size of spritewrite_byte(200) // Low For Light | More For Dark !message_end()// Smallest ringmessage_begin (MSG_BROADCAST,SVC_TEMPENTITY)write_byte( TE_SPRITETRAIL ) // Throws a shower of sprites or modelsengfunc(EngFunc_WriteCoord, origin[ 0 ]) // start posengfunc(EngFunc_WriteCoord, origin[ 1 ])engfunc(EngFunc_WriteCoord, origin[ 2 ] + 200.0)engfunc(EngFunc_WriteCoord, origin[ 0 ]) // velocityengfunc(EngFunc_WriteCoord, origin[ 1 ])engfunc(EngFunc_WriteCoord, origin[ 2 ] + 30.0)write_short(g_fire_gibs) // sprwrite_byte(60) // (count)write_byte(random_num(27,30)) // (life in 0.1's)write_byte(2) // byte (scale in 0.1's)write_byte(50) // (velocity along vector in 10's)write_byte(10) // (randomness of velocity in 10's)message_end()// Medium ringengfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)write_byte(TE_BEAMCYLINDER) // TE idengfunc(EngFunc_WriteCoord, origin[0]) // xengfunc(EngFunc_WriteCoord, origin[1]) // yengfunc(EngFunc_WriteCoord, origin[2]) // zengfunc(EngFunc_WriteCoord, origin[0]) // x axisengfunc(EngFunc_WriteCoord, origin[1]) // y axisengfunc(EngFunc_WriteCoord, origin[2]+470.0) // z axiswrite_short(g_exploSpr) // spritewrite_byte(0) // startframewrite_byte(0) // frameratewrite_byte(4) // lifewrite_byte(60) // widthwrite_byte(0) // noisewrite_byte(200) // redwrite_byte(50) // greenwrite_byte(0) // bluewrite_byte(200) // brightnesswrite_byte(0) // speedmessage_end()// Largest ringengfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)write_byte(TE_BEAMCYLINDER) // TE idengfunc(EngFunc_WriteCoord, origin[0]) // xengfunc(EngFunc_WriteCoord, origin[1]) // yengfunc(EngFunc_WriteCoord, origin[2]) // zengfunc(EngFunc_WriteCoord, origin[0]) // x axisengfunc(EngFunc_WriteCoord, origin[1]) // y axisengfunc(EngFunc_WriteCoord, origin[2]+555.0) // z axiswrite_short(g_exploSpr) // spritewrite_byte(0) // startframewrite_byte(0) // frameratewrite_byte(4) // lifewrite_byte(60) // widthwrite_byte(0) // noisewrite_byte(200) // redwrite_byte(0) // greenwrite_byte(0) // bluewrite_byte(200) // brightnesswrite_byte(0) // speedmessage_end()new originF[3]originF[0] = floatround(origin[0])originF[1] = floatround(origin[1])originF[2] = floatround(origin[2])/* message_begin(MSG_BROADCAST, SVC_TEMPENTITY)write_byte(TE_SPRITETRAIL)write_coord(originF[0])write_coord(originF[1])write_coord(originF[2]+40)write_coord(originF[0])write_coord(originF[1])write_coord(originF[2])write_short(g_iFlare)write_byte(25)write_byte(25)write_byte(3)write_byte(50)write_byte(10)message_end() */message_begin(MSG_BROADCAST, SVC_TEMPENTITY)write_byte(17)write_coord(originF[0])write_coord(originF[1])write_coord(originF[2] + 30)write_short(g_ExploSpr)write_byte(20)write_byte(255)message_end()}// Set entity's rendering type (from fakemeta_util)stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16){static Float:color[3]color[0] = float(r)color[1] = float(g)color[2] = float(b)set_pev(entity, pev_renderfx, fx)set_pev(entity, pev_rendercolor, color)set_pev(entity, pev_rendermode, render)set_pev(entity, pev_renderamt, float(amount))}/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }*/
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:48:35 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:48:35 GMT ty bro +karma
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:51:45 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:51:45 GMT uuuuuhhhh the effect file corupt or unknown format...
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:52:17 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by P!KaChu~ on Nov 19, 2017 14:52:17 GMT WHAT ?
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:52:57 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by P!KaChu~ on Nov 19, 2017 14:52:57 GMT PS: You Using Fire FFSThen you learn TUT Of Frost on FIREPlease Fix That !
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:53:34 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:53:34 GMT ok
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:54:32 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:54:32 GMT oh btw can u fix effect link? :/
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:56:38 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by P!KaChu~ on Nov 19, 2017 14:56:38 GMT PUT DEFAULT SMA
ZP50 Grenades Effect (GIBS) Nov 19, 2017 14:57:57 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 14:57:57 GMT i mean.. link download its error and corupt
ZP50 Grenades Effect (GIBS) Nov 19, 2017 15:14:20 GMT P!KaChu~ likes this Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by RandovlsKy on Nov 19, 2017 15:14:20 GMT Nov 19, 2017 14:56:38 GMT P!KaChu~ said:PUT DEFAULT SMA can u FIX the file ZPPV Effects.. i already download it. but its unknown format or corupt...pls-sorry for my bad english
ZP50 Grenades Effect (GIBS) Nov 19, 2017 20:11:36 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by george123 on Nov 19, 2017 20:11:36 GMT Can you do it for zp 4.3 ?I mean, a tutorial.
ZP50 Grenades Effect (GIBS) Nov 20, 2017 12:13:24 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by zmd94 on Nov 20, 2017 12:13:24 GMT For ZP4.3 version, you need to edit main ZP code.
ZP50 Grenades Effect (GIBS) Nov 20, 2017 13:34:12 GMT Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by P!KaChu~ on Nov 20, 2017 13:34:12 GMT Nov 19, 2017 20:11:36 GMT george123 said:Can you do it for zp 4.3 ?I mean, a tutorial.JUST GO THEREzppv.boards.net/board/18/tutorials?q=Gibs
ZP50 Grenades Effect (GIBS) Jan 25, 2018 9:52:44 GMT via mobile P!KaChu~ likes this Quote Select PostDeselect PostLink to PostMemberGive GiftBack to Top Post by $h@DoW on Jan 25, 2018 9:52:44 GMT Good Tutorial for Beginners !