- | Afiseaza codul
#include <amxmodx> #include <fun> #include <fakemeta_util> #include <fakemeta> #include <hamsandwich> #include <zombieplague> #include <engine> #include <dhudmessage> #define PLUGIN "[CSO:Ghost Zombie]" #define VERSION "1.4" #define AUTHOR "HoRRoR, Fry!,tERoR Edit/" new g_zclass_ghost new const zclass_name[] = "Ghost" // name new const zclass_info[] = "\y[ Invizible \r[G] \y]" // description new const zclass_model[] = "cso_ghost" // model new const zclass_clawmodel[] = "ghost_hands.mdl" // claw model new KNOCKBOMB_GHOST[] = "models/csozm/bombjump/bomb_ghost.mdl" const zclass_health = 8000 // health const zclass_speed = 260 // speed const Float:zclass_gravity = 0.75 // gravity const Float:zclass_knockback = 0.8// knockback new i_stealth_time_hud[33] new g_cooldown[33] new g_infections[33] new Float:g_stealth_time[33] new i_cooldown_time[33] new g_maxplayers new Float:g_stealth_time_standart = 7.0 //first stealth time new Float:g_stealth_cooldown_standart = 30.0 //cooldown time new const sound_ghost_stealth[] = "csozm/mod_sounds/invisup.wav" //stealth sound new const sound_ghost_stealth_end[] = "csozm/mod_sounds/invisdown.wav" //end stealth sound new const infect_ghost_sound[] = "csozm/zombie/ghost/infect_01.wav" new const pain_ghost_sound[] = "csozm/zombie/ghost/pain_01.wav" new const pain_ghost_sound2[] = "csozm/zombie/ghost/pain_02.wav" new const death_ghost_sound[] = "csozm/zombie/ghost/die_02.wav" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("zp_zclass_ghost_zombie",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY) register_clcmd("drop", "use_ability_one") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") register_event("CurWeapon","handle_gun","be","1=1") RegisterHam(Ham_TakeDamage, "player", "CPlayer__TakeDamage"); RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_forward(FM_EmitSound, "fw_EmitSound") register_logevent("roundStart", 2, "1=Round_Start") g_maxplayers = get_maxplayers() } public plugin_precache() { g_zclass_ghost = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) precache_sound(sound_ghost_stealth) precache_sound(sound_ghost_stealth_end) precache_sound(pain_ghost_sound[0]) precache_sound(pain_ghost_sound2[0]) precache_sound(infect_ghost_sound[0]) precache_sound(death_ghost_sound[0]) precache_model(KNOCKBOMB_GHOST) } public zp_user_infected_post(id, infector) { if(zp_get_user_zombie(id) && zp_get_user_zombie_class(id) == g_zclass_ghost && !zp_get_user_nemesis(id)) { new text[100] new note_cooldown = floatround(g_stealth_cooldown_standart) new note_stealthtime = floatround(g_stealth_time_standart) format(text,99,"^x04[CSO GHOST]^x01 Your ability is^x04 Invisibility |G|^x01. Cooldown:^x04 %d^x01 sec. Invisibility time:^x04 %d^x01 sec.",note_cooldown,note_stealthtime) message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id) write_byte(id) write_string(text) message_end() i_cooldown_time[id] = floatround(g_stealth_cooldown_standart) remove_task(id) g_stealth_time[id] = g_stealth_time_standart g_cooldown[id] = 0 g_infections[id] = 0 emit_sound(id, CHAN_WEAPON, infect_ghost_sound[0], 1.0, ATTN_NORM, 0, PITCH_LOW) } if((zp_get_user_zombie_class(infector) == g_zclass_ghost) && !zp_get_user_nemesis(infector)) { g_stealth_time[infector] = g_stealth_time[infector] + 1; infections_hud(infector) } } public zp_user_humanized_post(id) { remove_task(id) fm_set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0) fm_set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255) } public zp_user_unfrozen(id) { if(is_valid_ent(id) && is_user_alive(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost) { fm_set_user_rendering(id) } } public roundStart() { for (new i = 1; i <= g_maxplayers; i++) { i_cooldown_time = floatround(g_stealth_cooldown_standart) g_cooldown = 0 remove_task(i) } } public use_ability_one(id) { if(is_valid_ent(id) && is_user_alive(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost) { if(g_cooldown[id] == 0) { fm_set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0) emit_sound(id, CHAN_STREAM, sound_ghost_stealth, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(g_stealth_time[id],"ghost_make_visible",id) set_task(g_stealth_cooldown_standart,"reset_cooldown",id) g_cooldown[id] = 1 i_cooldown_time[id] = floatround(g_stealth_cooldown_standart) i_stealth_time_hud[id] = floatround(g_stealth_time[id]) set_task(1.0, "ShowHUD", id, _, _, "a",i_cooldown_time[id]) set_task(1.0, "ShowHUDstealthes", id, _, _, "a",i_stealth_time_hud[id]) } } } public ShowHUD(id) { if(is_valid_ent(id) && is_user_alive(id)) { i_cooldown_time[id] = i_cooldown_time[id] - 1; set_dhudmessage(200, 100, 0, 0.80, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1) show_dhudmessage(id, "[Invisibility cooldown : %d]",i_cooldown_time[id], LANG_PLAYER, "STEALTH_USE") } else { remove_task(id) } } public ShowHUDstealthes(id) { if(is_valid_ent(id) && is_user_alive(id)) { i_stealth_time_hud[id] = i_stealth_time_hud[id] - 1; set_dhudmessage(100, 100, 100, -1.0, 0.92, 0, 1.0, 1.1, 0.0, 0.0, -1) show_dhudmessage(id, "Invisibility time: %d",i_stealth_time_hud[id]) }else{ remove_task(id) } } public ghost_make_visible(id) { if(is_valid_ent(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost) { fm_set_user_rendering(id) emit_sound(id, CHAN_STREAM, sound_ghost_stealth_end, 1.0, ATTN_NORM, 0, PITCH_NORM) } } public reset_cooldown(id) { if(is_valid_ent(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost) { g_cooldown[id] = 0 new text[100] format(text,99,"^x04[CSO GHOST]^x01 Your ability^x04[Invisibility]^x01 is ready.") message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id) write_byte(id) write_string(text) message_end() } } public infections_hud(id) { if(is_valid_ent(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == g_zclass_ghost) { new i_stealth_time = floatround(g_stealth_time[id]) new text[100] format(text,99,"^x04[CSO GHOST]^x01 Your ability is^x04 [Invisibility]^x01. Cooldown:^x04 %d ^x01seconds. Invisibility time:^x04 %d^x01 seconds.",i_stealth_time) message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id) write_byte(id) write_string(text) message_end() } } public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) { if (!(damage_type & DMG_FALL) || !zp_get_user_zombie(victim) || zp_get_user_zombie_class(victim) != g_zclass_ghost) return HAM_IGNORED SetHamParamFloat(4, 0.0) return HAM_HANDLED } public fw_PlayerPreThink(player) { if(!is_user_alive(player)) return FMRES_IGNORED if(zp_get_user_zombie(player) && zp_get_user_zombie_class(player) == g_zclass_ghost) set_pev(player, pev_flTimeStepSound, 999) return FMRES_IGNORED } public CPlayer__TakeDamage(id, iVictim, iInflictor, iAttacker, Float:flDamage, bitsDamage) { if (zp_get_user_zombie_class(id) == g_zclass_ghost && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_survivor(id)) { new rand = random_num(1,2) switch(rand) { case 1: emit_sound(id, CHAN_WEAPON, pain_ghost_sound[0], 1.0, ATTN_NORM, 0, PITCH_LOW) case 2: emit_sound(id, CHAN_WEAPON, pain_ghost_sound2[0], 1.0, ATTN_NORM, 0, PITCH_LOW) } } } public handle_gun(id) { new weap = get_user_weapon(id) if(weap == CSW_FLASHBANG && zp_get_user_zombie_class(id) == g_zclass_ghost && zp_get_user_zombie(id)) { entity_set_string(id, EV_SZ_viewmodel, KNOCKBOMB_GHOST) } else if(weap == CSW_SMOKEGRENADE && zp_get_user_zombie_class(id) == g_zclass_ghost && zp_get_user_zombie(id)) { entity_set_string(id, EV_SZ_viewmodel, KNOCKBOMB_GHOST) } return PLUGIN_HANDLED } public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch) { if(!is_user_connected(id)) return FMRES_HANDLED; if (sample[0] == 'h' && sample[1] == 'o' && sample[2] == 's' && sample[3] == 't' && sample[4] == 'a' && sample[5] == 'g' && sample[6] == 'e') return FMRES_SUPERCEDE; if(zp_get_user_zombie(id) && zp_get_user_zombie_class(id) == g_zclass_ghost && !zp_get_user_nemesis(id)) { if (sample[7] == 'd' && ((sample[8] == 'i' && sample[9] == 'e') || (sample[8] == 'e' && sample[9] == 'a'))) { emit_sound(id, CHAN_WEAPON, death_ghost_sound[0], 1.0, ATTN_NORM, 0, PITCH_LOW) } } return FMRES_IGNORED; }
Eroare plugin logs
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
-
- Membru, skill 0
- Posts: 48
- Joined: 11 Sep 2019, 12:23
- Detinator Steam: Da
- Detinator server CS: Da
- SteamID: superyyor
- Fond eXtream: 0
- Location: Republica Moldova
- Has thanked: 3 times
- Been thanked: 1 time
- levin
- Scripter eXtreamCS
- Posts: 3850
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: 76561198063679589
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
la mesaju din publicu hudului apelat nu este format corect, are mai multe string-uri decât argumentele lor adică: gen %s, argument, argument normal: %s, argument unde e al 5-lea parametru pentru string nu e corect, că sunt doar 4 string uri
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
-
- Membru, skill 0
- Posts: 48
- Joined: 11 Sep 2019, 12:23
- Detinator Steam: Da
- Detinator server CS: Da
- SteamID: superyyor
- Fond eXtream: 0
- Location: Republica Moldova
- Has thanked: 3 times
- Been thanked: 1 time
Multumesc, am rezolvat. Am adaugat argumentul respectiv. In pluginul nemodificat, erau un string, insa textul era corupt. Cand am tradus, am luat traducerea din alt plugin si acolo erau 2 string-uri.