| 				
					| Offline |  
					|  |  
					|  |  Csatlakozott:2015.06.11. 01:54
 Hozzászólások:220
 Megköszönt másnak: 46 alkalommal
 Megköszönték neki: 13 alkalommal
 | 
				
					| Van ez a plugin ami sebzés szórzót ad ha felveszed (mint Quake 3-ban), eredetileg zp módhoz van de megpróbáltam átalakítani, csak most nem spawnol le a cucc. Mi lehet a gond? #include <amxmodx>#include <engine>#include <fakemeta>#include <hamsandwich> #define PLUGIN "QuadDamage"#define VERSION "1.0.1"#define AUTHOR "yokomo" enum (+= 100){    TASK_QUAD_SPAWN = 2011,    TASK_QUAD_TIME} #define ID_QUAD_TIME (taskid - TASK_QUAD_TIME) const GLOW_R = 0const GLOW_G = 100const GLOW_B = 200const MAX_SPAWNS = 128 new const SOUND_QUAD[] = "msawp/quaddmg.wav"new const SOUND_QUAD_SPAWN[] = "items/suitchargeok1.wav"new const MODEL_QUAD[] = "models/msawp/skullv2.mdl"new const CLASSNAME_QUAD[] = "quad_ent" new cvar_spawntime, cvar_dmgtime, cvar_dmgmultinew g_spawnCount, g_spawnCount2, g_maxplayers, g_roundendnew g_hamczbots, cvar_botquotanew Float:g_spawns[MAX_SPAWNS][3], Float:g_spawns2[MAX_SPAWNS][3]new g_has_quad[33], g_time_quad[33] public plugin_precache(){    precache_sound(SOUND_QUAD)    precache_sound(SOUND_QUAD_SPAWN)    precache_model(MODEL_QUAD)} public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)        register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0")    register_logevent("logevent_round_end", 2, "1=Round_End")        RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")        register_forward(FM_Touch, "fw_Touch")        CreateQuadSpawnPoints()        cvar_spawntime = register_cvar("quad_spawntime", "5")    cvar_dmgtime = register_cvar("quad_quadtime", "15")    cvar_dmgmulti = register_cvar("quad_dmgmulti", "5")    cvar_botquota = get_cvar_pointer("bot_quota")        g_maxplayers = get_maxplayers()} public client_putinserver(id){    ResetValuePlayer(id)        if(is_user_bot(id) && !g_hamczbots && cvar_botquota) set_task(0.1, "register_ham_czbots", id)} public client_disconnect(id){    ResetValuePlayer(id)} public EventRoundStart(){    remove_task(TASK_QUAD_SPAWN)    RemoveQuadEntity()        for(new id = 1; id <= g_maxplayers; id++)    {        if(!is_user_connected(id)) continue        ResetValuePlayer(id)    }} public logevent_round_end(){    g_roundend = 1} public register_ham_czbots(id){    if (g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return        RegisterHamFromEntity(Ham_Killed, id, "fw_PlayerKilled")    RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")        g_hamczbots = true}  public fw_PlayerKilled(victim, attacker, shouldgib){    ResetValuePlayer(victim)} public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type){    if(victim == attacker) return HAM_IGNORED            if(g_roundend) return HAM_SUPERCEDE     if(!pev_valid(victim) || !is_user_connected(attacker)) return HAM_IGNORED        if(g_has_quad[attacker])    {        SetHamParamFloat(4, damage*get_pcvar_float(cvar_dmgmulti))    }        return HAM_IGNORED} public fw_Touch(ent, id){    if(!pev_valid(ent) || !is_user_alive(id) || g_roundend) return FMRES_IGNORED        if(g_has_quad[id]) return FMRES_IGNORED        new classname[32]    pev(ent, pev_classname, classname, 31)    if(!(equal(classname, CLASSNAME_QUAD))) return FMRES_IGNORED        engfunc(EngFunc_RemoveEntity, ent)        g_has_quad[id] = 1    emit_sound(id, CHAN_VOICE, SOUND_QUAD, 1.0, ATTN_NORM, 0, PITCH_NORM)    set_rendering(id, kRenderFxGlowShell, GLOW_R, GLOW_G, GLOW_B, kRenderNormal, 5)            g_time_quad[id] = get_pcvar_num(cvar_dmgtime)    remove_task(TASK_QUAD_TIME)    set_task(1.0, "CountDownStart", id+TASK_QUAD_TIME, _, _, "b")            remove_task(TASK_QUAD_SPAWN)    set_task(get_pcvar_float(cvar_spawntime), "CreateQuadEntity", TASK_QUAD_SPAWN)        return FMRES_IGNORED} public CountDownStart(taskid){       if(!g_time_quad[ID_QUAD_TIME])    {        g_has_quad[ID_QUAD_TIME] = 0                remove_task(taskid)        set_rendering(ID_QUAD_TIME)    }    else if(g_time_quad[ID_QUAD_TIME]<=get_pcvar_num(cvar_dmgtime))    {        set_hudmessage(GLOW_R, GLOW_G, GLOW_B, 0.56, 0.76, 0, 1.0, 1.0)        show_hudmessage(ID_QUAD_TIME, "Quad Damage: %d", g_time_quad[ID_QUAD_TIME])        g_time_quad[ID_QUAD_TIME] -= 1    }} public CreateQuadEntity(){    if(g_roundend) return        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))    set_pev(ent, pev_classname, CLASSNAME_QUAD)    MakeRandomOrigin(ent)    engfunc(EngFunc_SetModel, ent, MODEL_QUAD)    engfunc(EngFunc_SetSize, ent, Float:{-4.0,-4.0,-4.0}, Float:{4.0,4.0,4.0})    set_pev(ent, pev_solid, SOLID_TRIGGER)    set_pev(ent, pev_movetype, MOVETYPE_BOUNCE)    set_rendering(ent, kRenderFxGlowShell, GLOW_R, GLOW_G, GLOW_B, kRenderNormal, 5)    emit_sound(ent, CHAN_VOICE, SOUND_QUAD_SPAWN, 1.0, ATTN_NORM, 0, PITCH_NORM)} CreateQuadSpawnPoints(){    collect_spawns_ent("info_player_start")    collect_spawns_ent("info_player_deathmatch")        collect_spawns_ent2("info_player_start")    collect_spawns_ent2("info_player_deathmatch")} collect_spawns_ent(const classname[]){    new ent = -1    while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", classname)) != 0)    {        new Float:originF[3]        pev(ent, pev_origin, originF)        g_spawns[g_spawnCount][0] = originF[0]        g_spawns[g_spawnCount][1] = originF[1]        g_spawns[g_spawnCount][2] = originF[2]                g_spawnCount++        if (g_spawnCount >= sizeof g_spawns) break    }} collect_spawns_ent2(const classname[]){    new ent = -1    while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", classname)) != 0)    {        new Float:originF[3]        pev(ent, pev_origin, originF)        g_spawns2[g_spawnCount2][0] = originF[0]        g_spawns2[g_spawnCount2][1] = originF[1]        g_spawns2[g_spawnCount2][2] = originF[2]                g_spawnCount2++        if (g_spawnCount2 >= sizeof g_spawns2) break    }} MakeRandomOrigin(id, regularspawns = 0){    static hull, sp_index, i        hull = (pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN        if (!regularspawns)    {        if (!g_spawnCount)            return                sp_index = random_num(0, g_spawnCount - 1)                for (i = sp_index + 1; /*no condition*/; i++)        {            if (i >= g_spawnCount) i = 0                        if (is_hull_vacant(g_spawns[i], hull))            {                engfunc(EngFunc_SetOrigin, id, g_spawns[i])                break            }                        if (i == sp_index) break        }    }    else    {        if (!g_spawnCount2)            return                sp_index = random_num(0, g_spawnCount2 - 1)                for (i = sp_index + 1; /*no condition*/; i++)        {            if (i >= g_spawnCount2) i = 0                        if (is_hull_vacant(g_spawns2[i], hull))            {                engfunc(EngFunc_SetOrigin, id, g_spawns2[i])                break            }                        if (i == sp_index) break        }    }} is_hull_vacant(Float:origin[3], hull){    engfunc(EngFunc_TraceHull, origin, origin, 0, hull, 0, 0)        if (!get_tr2(0, TR_StartSolid) && !get_tr2(0, TR_AllSolid) && get_tr2(0, TR_InOpen))        return true;        return false;} RemoveQuadEntity(){    static ent    ent = engfunc(EngFunc_FindEntityByString, -1, "classname", CLASSNAME_QUAD)    while(ent > 0)    {        engfunc(EngFunc_RemoveEntity, ent)        ent = engfunc(EngFunc_FindEntityByString, -1, "classname", CLASSNAME_QUAD)    }} ResetValuePlayer(id){    remove_task(id+TASK_QUAD_TIME)        g_has_quad[id] = 0    g_time_quad[id] = 0}/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }*/
Ez az eredeti: #include <amxmodx>#include <engine>#include <fakemeta>#include <hamsandwich>#include <zombieplague> #define PLUGIN "ZP Addon QuadDamage"#define VERSION "1.0.1"#define AUTHOR "yokomo" enum (+= 100){    TASK_QUAD_SPAWN = 2011,    TASK_QUAD_TIME} #define ID_QUAD_TIME (taskid - TASK_QUAD_TIME) const GLOW_R = 0const GLOW_G = 100const GLOW_B = 200const MAX_SPAWNS = 128 new const SOUND_QUAD[] = "zombie_plague/quaddmgvox.wav"new const SOUND_QUAD_SPAWN[] = "items/suitchargeok1.wav"new const MODEL_QUAD[] = "models/bskull_template1.mdl"new const CLASSNAME_QUAD[] = "quad_ent" new cvar_spawntime, cvar_dmgtime, cvar_dmgmultinew g_spawnCount, g_spawnCount2, g_maxplayers, g_roundendnew g_hamczbots, cvar_botquotanew Float:g_spawns[MAX_SPAWNS][3], Float:g_spawns2[MAX_SPAWNS][3]new g_has_quad[33], g_time_quad[33] public plugin_precache(){    precache_sound(SOUND_QUAD)    precache_sound(SOUND_QUAD_SPAWN)    precache_model(MODEL_QUAD)} public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)        register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0")    register_logevent("logevent_round_end", 2, "1=Round_End")        RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")        register_forward(FM_Touch, "fw_Touch")        CreateQuadSpawnPoints()        cvar_spawntime = register_cvar("zp_quad_spawntime", "30")    cvar_dmgtime = register_cvar("zp_quad_quadtime", "30")    cvar_dmgmulti = register_cvar("zp_quad_dmgmulti", "5")    cvar_botquota = get_cvar_pointer("bot_quota")        g_maxplayers = get_maxplayers()} public client_putinserver(id){    ResetValuePlayer(id)        if(is_user_bot(id) && !g_hamczbots && cvar_botquota) set_task(0.1, "register_ham_czbots", id)} public client_disconnect(id){    ResetValuePlayer(id)} public EventRoundStart(){    remove_task(TASK_QUAD_SPAWN)    RemoveQuadEntity()        for(new id = 1; id <= g_maxplayers; id++)    {        if(!is_user_connected(id)) continue        ResetValuePlayer(id)    }} public logevent_round_end(){    g_roundend = 1} public register_ham_czbots(id){    if (g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return        RegisterHamFromEntity(Ham_Killed, id, "fw_PlayerKilled")    RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")        g_hamczbots = true} public zp_round_started(mode){    g_roundend = 0        if(mode != MODE_SURVIVOR) set_task(get_pcvar_float(cvar_spawntime), "CreateQuadEntity", TASK_QUAD_SPAWN)} public zp_user_infected_post(id, infector){    if(!id || !infector) return        ResetValuePlayer(id)} public fw_PlayerKilled(victim, attacker, shouldgib){    ResetValuePlayer(victim)} public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type){    if(victim == attacker) return HAM_IGNORED            if(g_roundend) return HAM_SUPERCEDE     if(!pev_valid(victim) || !is_user_connected(attacker)) return HAM_IGNORED        if(g_has_quad[attacker])    {        SetHamParamFloat(4, damage*get_pcvar_float(cvar_dmgmulti))    }        return HAM_IGNORED} public fw_Touch(ent, id){    if(!pev_valid(ent) || !is_user_alive(id) || zp_get_user_zombie(id) || zp_get_user_survivor(id) || g_roundend) return FMRES_IGNORED        if(g_has_quad[id]) return FMRES_IGNORED        new classname[32]    pev(ent, pev_classname, classname, 31)    if(!(equal(classname, CLASSNAME_QUAD))) return FMRES_IGNORED        engfunc(EngFunc_RemoveEntity, ent)        g_has_quad[id] = 1    emit_sound(id, CHAN_VOICE, SOUND_QUAD, 1.0, ATTN_NORM, 0, PITCH_NORM)    set_rendering(id, kRenderFxGlowShell, GLOW_R, GLOW_G, GLOW_B, kRenderNormal, 5)            g_time_quad[id] = get_pcvar_num(cvar_dmgtime)    remove_task(TASK_QUAD_TIME)    set_task(1.0, "CountDownStart", id+TASK_QUAD_TIME, _, _, "b")            remove_task(TASK_QUAD_SPAWN)    set_task(get_pcvar_float(cvar_spawntime), "CreateQuadEntity", TASK_QUAD_SPAWN)        return FMRES_IGNORED} public CountDownStart(taskid){       if(!g_time_quad[ID_QUAD_TIME])    {        g_has_quad[ID_QUAD_TIME] = 0                remove_task(taskid)        set_rendering(ID_QUAD_TIME)    }    else if(g_time_quad[ID_QUAD_TIME]<=get_pcvar_num(cvar_dmgtime))    {        set_hudmessage(GLOW_R, GLOW_G, GLOW_B, 0.56, 0.76, 0, 1.0, 1.0)        show_hudmessage(ID_QUAD_TIME, "Quad Damage: %d", g_time_quad[ID_QUAD_TIME])        g_time_quad[ID_QUAD_TIME] -= 1    }} public CreateQuadEntity(){    if(g_roundend) return        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))    set_pev(ent, pev_classname, CLASSNAME_QUAD)    MakeRandomOrigin(ent)    engfunc(EngFunc_SetModel, ent, MODEL_QUAD)    engfunc(EngFunc_SetSize, ent, Float:{-4.0,-4.0,-4.0}, Float:{4.0,4.0,4.0})    set_pev(ent, pev_solid, SOLID_TRIGGER)    set_pev(ent, pev_movetype, MOVETYPE_BOUNCE)    set_rendering(ent, kRenderFxGlowShell, GLOW_R, GLOW_G, GLOW_B, kRenderNormal, 5)    emit_sound(ent, CHAN_VOICE, SOUND_QUAD_SPAWN, 1.0, ATTN_NORM, 0, PITCH_NORM)} CreateQuadSpawnPoints(){    collect_spawns_ent("info_player_start")    collect_spawns_ent("info_player_deathmatch")        collect_spawns_ent2("info_player_start")    collect_spawns_ent2("info_player_deathmatch")} collect_spawns_ent(const classname[]){    new ent = -1    while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", classname)) != 0)    {        new Float:originF[3]        pev(ent, pev_origin, originF)        g_spawns[g_spawnCount][0] = originF[0]        g_spawns[g_spawnCount][1] = originF[1]        g_spawns[g_spawnCount][2] = originF[2]                g_spawnCount++        if (g_spawnCount >= sizeof g_spawns) break    }} collect_spawns_ent2(const classname[]){    new ent = -1    while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", classname)) != 0)    {        new Float:originF[3]        pev(ent, pev_origin, originF)        g_spawns2[g_spawnCount2][0] = originF[0]        g_spawns2[g_spawnCount2][1] = originF[1]        g_spawns2[g_spawnCount2][2] = originF[2]                g_spawnCount2++        if (g_spawnCount2 >= sizeof g_spawns2) break    }} MakeRandomOrigin(id, regularspawns = 0){    static hull, sp_index, i        hull = (pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN        if (!regularspawns)    {        if (!g_spawnCount)            return                sp_index = random_num(0, g_spawnCount - 1)                for (i = sp_index + 1; /*no condition*/; i++)        {            if (i >= g_spawnCount) i = 0                        if (is_hull_vacant(g_spawns[i], hull))            {                engfunc(EngFunc_SetOrigin, id, g_spawns[i])                break            }                        if (i == sp_index) break        }    }    else    {        if (!g_spawnCount2)            return                sp_index = random_num(0, g_spawnCount2 - 1)                for (i = sp_index + 1; /*no condition*/; i++)        {            if (i >= g_spawnCount2) i = 0                        if (is_hull_vacant(g_spawns2[i], hull))            {                engfunc(EngFunc_SetOrigin, id, g_spawns2[i])                break            }                        if (i == sp_index) break        }    }} is_hull_vacant(Float:origin[3], hull){    engfunc(EngFunc_TraceHull, origin, origin, 0, hull, 0, 0)        if (!get_tr2(0, TR_StartSolid) && !get_tr2(0, TR_AllSolid) && get_tr2(0, TR_InOpen))        return true;        return false;} RemoveQuadEntity(){    static ent    ent = engfunc(EngFunc_FindEntityByString, -1, "classname", CLASSNAME_QUAD)    while(ent > 0)    {        engfunc(EngFunc_RemoveEntity, ent)        ent = engfunc(EngFunc_FindEntityByString, -1, "classname", CLASSNAME_QUAD)    }} ResetValuePlayer(id){    remove_task(id+TASK_QUAD_TIME)        g_has_quad[id] = 0    g_time_quad[id] = 0}/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }*/
_________________ 
 
 |  |