Raised This Month: $51 Target: $400
 12% 

Help Please


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Zul Rivers
Member
Join Date: May 2008
Old 06-05-2008 , 02:06   Help Please
Reply With Quote #1

Hey guys, I'm not sure what is causing my server to crash..
I have disabled most heroes and unrequired plugins..
I suspect that my plugin sh_libertylad is causing my server to crash.. if anyone spot the mistakes ive done, please point it out..

ignore (new libertylad_flares) in global variables

Code:
//--------------------------------------------------------------------------------------------------
// HERO DESCRIPTIONS
//--------------------------------------------------------------------------------------------------
/*

LIBERTY LAD IS A CHARACTER FROM FREEDOM FORCE (PC GAME)
FULL BIOGRAPHY: HTTP://TINYURL.COM/4NEP7F

*/
//--------------------------------------------------------------------------------------------------
// UPDATES
//--------------------------------------------------------------------------------------------------
/*

VERSION 1.1
TESTING

VERSION 1.0
- RELEASE OF HERO

*/
//--------------------------------------------------------------------------------------------------
// CVARS
//--------------------------------------------------------------------------------------------------
/*

//Liberty Lad
libertylad_level 2                //Level acquired to use this hero
libertylad_throwspeed 600        //The speed of the flare when being thrown
libertylad_duration 20.0        //Time in seconds for the flare to live (Min: 2.0)(Max: 60.0)
libertylad_radius 30            //Size of the light from the flare
libertylad_life 4                //Best to leave this cvar to default
libertylad_decay 2                //Best to leave this cvar to default
libertylad_red 255                //Red color of the flare light (0: None)(255: Brightest)
libertylad_green 255            //Green color of the flare light (0: None)(255: Brightest)
libertylad_blue 255                //Blue color of the flare light (0: None)(255: Brightest)

*/
//--------------------------------------------------------------------------------------------------
// INCLUDED HEADERS
//--------------------------------------------------------------------------------------------------
    #include <amxmodx>
    #include <superheromod>
    #include <engine>
//--------------------------------------------------------------------------------------------------
// GLOBAL VARIABLES
//--------------------------------------------------------------------------------------------------
    new gHeroName[] = "Liberty Lad"
    new bool: gHasLibertyLadPower[SH_MAXSLOTS+1]
    new Float: LibertyLadFlareOrigin[3]
    new flareentity[SH_MAXSLOTS+1]
    new libertylad_flares
//--------------------------------------------------------------------------------------------------
// PLUGIN INITIALS
//--------------------------------------------------------------------------------------------------
    public plugin_init()
    {
    register_plugin("SUPERHERO Liberty Lad", "1.1", "Zul Rivers")
    register_cvar("libertylad_level", "2")
    register_cvar("libertylad_throwspeed", "600")
    register_cvar("libertylad_duration", "20.0")
    register_cvar("libertylad_radius", "30")
    register_cvar("libertylad_life", "4")
    register_cvar("libertylad_decay", "2")
    register_cvar("libertylad_red", "255")
    register_cvar("libertylad_green", "255")
    register_cvar("libertylad_blue", "255")
    shCreateHero(gHeroName, "Flares", "Shoot Flares on Keydown", true, "libertylad_level")
    register_srvcmd("libertylad_init", "libertylad_init")
    shRegHeroInit(gHeroName, "libertylad_init")
    register_event("ResetHUD", "libertylad_newround", "b")
    register_srvcmd("libertylad_kd", "libertylad_kd")
    shRegKeyDown(gHeroName, "libertylad_kd")
    }
//--------------------------------------------------------------------------------------------------
// HERO INITIALS
//--------------------------------------------------------------------------------------------------
    public libertylad_init()
    {
    new temp[6]
    read_argv(1, temp, 5)
    new id = str_to_num(temp)
    read_argv(2, temp, 5)
    new hasPowers = str_to_num(temp)
    gHasLibertyLadPower[id] = (hasPowers != 0)
    }
//--------------------------------------------------------------------------------------------------
// PLUGIN PRECACHES
//--------------------------------------------------------------------------------------------------
    public plugin_precache()
    {
    precache_sound("weapons/rocketfire1.wav")
    precache_model("models/w_flare.mdl")
    precache_model("models/w_flaret.mdl")
    }
//--------------------------------------------------------------------------------------------------
// NEW ROUND
//--------------------------------------------------------------------------------------------------
    public libertylad_newround(id)
    {
    libertylad_removeallflare(id)
    gPlayerUltimateUsed[id] = false
    }
//--------------------------------------------------------------------------------------------------
// KEYDOWN
//--------------------------------------------------------------------------------------------------
    public libertylad_kd()
    {
    new temp[6]
    read_argv(1, temp, 5)
    new id = str_to_num(temp)
    if (hasRoundStarted())
    {
    if (is_user_alive(id) && gHasLibertyLadPower[id])
    {
    if (get_cvar_float("libertylad_duration") > 60.0)
    {
    debugMessage("[SH](Liberty Lad) libertylad_duration must not be set higher than 60.0, cvar defaulted to 60.0", 0, 0)
    set_cvar_float("libertylad_duration", 60.0)
    }
    else if (get_cvar_float("libertylad_duration") < 2.0)
    {
    debugMessage("[SH](Liberty Lad) libertylad_duration must not be set below than 2.0, cvar defaulted to 2.0", 0, 0)
    set_cvar_float("libertylad_duration", 2.0)
    }
    if (!gPlayerUltimateUsed[id])
    {
    if (get_cvar_float("libertylad_duration") > 0.0)
    {
    ultimateTimer(id, get_cvar_float("libertylad_duration"))
    }
    emit_sound(id, CHAN_BODY, "weapons/rocketfire1.wav", 1.0, ATTN_NORM,0,PITCH_NORM)
    libertylad_createflare(id)
    gPlayerUltimateUsed[id] = true
    }
    else if (gPlayerUltimateUsed[id])
    {
    playSoundDenySelect(id)
    client_print(id, print_chat, "[SH](Liberty Lad) Please Wait Until Previous Flare Goes Off")
    }
    }
    }
    }
//--------------------------------------------------------------------------------------------------
// FLARE CREATION
//--------------------------------------------------------------------------------------------------
    public libertylad_createflare(id)
    {
    new Float: FlareRendering[3]
    new Float: LibertyLadFlareVelocity[3]
    flareentity[id] = create_entity("info_target")
    entity_get_vector(id, EV_VEC_origin, LibertyLadFlareOrigin)
    entity_set_string(flareentity[id], EV_SZ_classname, "libertylad_flare")
    entity_set_model(flareentity[id], "models/w_flare.mdl")
    entity_set_origin(flareentity[id], LibertyLadFlareOrigin)
    entity_set_int(flareentity[id], EV_INT_solid, 2)
    entity_set_edict(flareentity[id], EV_ENT_owner, id)
    entity_set_int(flareentity[id], EV_INT_movetype, 6)
    entity_set_float(flareentity[id], EV_FL_gravity, 0.6)
    FlareRendering[0] = 120.0
    FlareRendering[1] = 120.0
    FlareRendering[2] = 120.0
    entity_set_int(flareentity[id], EV_INT_rendermode, kRenderNormal)
    entity_set_int(flareentity[id], EV_INT_renderfx, kRenderFxGlowShell)
    entity_set_float(flareentity[id], EV_FL_renderamt, 11.0)
    entity_set_vector(flareentity[id], EV_VEC_rendercolor, FlareRendering)
    VelocityByAim(id, get_cvar_num("libertylad_throwspeed"), LibertyLadFlareVelocity)
    entity_set_vector(flareentity[id], EV_VEC_velocity, LibertyLadFlareVelocity)
    set_task(2.0, "libertylad_flarelight", flareentity[id], "", 0, "b")
    set_task(get_cvar_float("libertylad_duration"), "libertylad_removeflare", id)
    }
//--------------------------------------------------------------------------------------------------
// LIGHT ON FLARE
//--------------------------------------------------------------------------------------------------
    public libertylad_flarelight(id)
    {
    entity_get_vector(id, EV_VEC_origin, LibertyLadFlareOrigin)
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(27)
    write_coord(floatround(LibertyLadFlareOrigin[0]))
    write_coord(floatround(LibertyLadFlareOrigin[1]))
    write_coord(floatround(LibertyLadFlareOrigin[2]))
    write_byte(get_cvar_num("libertylad_radius"))
    write_byte(get_cvar_num("libertylad_red"))
    write_byte(get_cvar_num("libertylad_green"))
    write_byte(get_cvar_num("libertylad_blue"))
    write_byte(get_cvar_num("libertylad_life"))
    write_byte(get_cvar_num("libertylad_decay"))
    message_end()
    }
//--------------------------------------------------------------------------------------------------
// REMOVE FLARE AND LIGHT
//--------------------------------------------------------------------------------------------------
    public libertylad_removeflare(id)
    {
    remove_task(flareentity[id])
    remove_entity(flareentity[id])
    }
//--------------------------------------------------------------------------------------------------
// REMOVE ALL FLARE AND LIGHT
//--------------------------------------------------------------------------------------------------
    public libertylad_removeallflare(id)
    {
    libertylad_flares = -1
    while ((libertylad_flares = find_ent_by_class(libertylad_flares, "libertylad_flare")))
    {
    remove_task(libertylad_flares)
    remove_entity(libertylad_flares)
    }
    }
//--------------------------------------------------------------------------------------------------
http://ampaste.net/238891
__________________
Projects:
Superhero: Hydrogen [Completed]
Superhero: Liberty Lad [Incomplete]


No Longer AMX Scripting, I Suck At It.

Last edited by Zul Rivers; 06-05-2008 at 02:09.
Zul Rivers is offline
vittu
SuperHero Moderator
Join Date: Oct 2004
Location: L.A. County, CA
Old 06-05-2008 , 02:08   Re: Help Please
Reply With Quote #2

http://forums.alliedmods.net/showthr...747#post633747

more than likely because of this, you are leaving all kinds of ents on the map causing server to crash from too many ents...
vittu is offline
Send a message via AIM to vittu Send a message via MSN to vittu Send a message via Yahoo to vittu
Zul Rivers
Member
Join Date: May 2008
Old 06-05-2008 , 02:43   Re: Help Please
Reply With Quote #3

I'm not sure what to do with it, could you help me?
__________________
Projects:
Superhero: Hydrogen [Completed]
Superhero: Liberty Lad [Incomplete]


No Longer AMX Scripting, I Suck At It.
Zul Rivers is offline
1sh0t2killz
Senior Member
Join Date: Dec 2004
Old 06-20-2008 , 16:32   Re: Help Please
Reply With Quote #4

This may be a little late, but the thought just occurred to me today. All this is, is just a simple way to fix the multiple ent problem. (which is causing the crashes) This code was used in Batman/Gorlag's Hero, Frieza, so it should work.

Code:
    //makes sure that the number of entities created does not exceed the maximum amount
    //of entities allowed
    if(entity_count() == get_global_int(GL_maxEntities)){
	client_print(id, print_chat, "[SH] Cannot create more entities")
	return
    }
maybe you can put it at the top of the flare creation code?

so it looks like this
Code:
//--------------------------------------------------------------------------------------------------
// FLARE CREATION
//--------------------------------------------------------------------------------------------------
    public libertylad_createflare(id)
    {
    if(entity_count() == get_global_int(GL_maxEntities))
    {
    client_print(id, print_chat, "[SH] Cannot create more entities")
    return
    } 
    new Float: FlareRendering[3]
    new Float: LibertyLadFlareVelocity[3]
    flareentity[id] = create_entity("info_target")
    entity_get_vector(id, EV_VEC_origin, LibertyLadFlareOrigin)
    entity_set_string(flareentity[id], EV_SZ_classname, "libertylad_flare")
    entity_set_model(flareentity[id], "models/w_flare.mdl")
    entity_set_origin(flareentity[id], LibertyLadFlareOrigin)
    entity_set_int(flareentity[id], EV_INT_solid, 2)
    entity_set_edict(flareentity[id], EV_ENT_owner, id)
    entity_set_int(flareentity[id], EV_INT_movetype, 6)
    entity_set_float(flareentity[id], EV_FL_gravity, 0.6)
    FlareRendering[0] = 120.0
    FlareRendering[1] = 120.0
    FlareRendering[2] = 120.0
    entity_set_int(flareentity[id], EV_INT_rendermode, kRenderNormal)
    entity_set_int(flareentity[id], EV_INT_renderfx, kRenderFxGlowShell)
    entity_set_float(flareentity[id], EV_FL_renderamt, 11.0)
    entity_set_vector(flareentity[id], EV_VEC_rendercolor, FlareRendering)
    VelocityByAim(id, get_cvar_num("libertylad_throwspeed"), LibertyLadFlareVelocity)
    entity_set_vector(flareentity[id], EV_VEC_velocity, LibertyLadFlareVelocity)
    set_task(2.0, "libertylad_flarelight", flareentity[id], "", 0, "b")
    set_task(get_cvar_float("libertylad_duration"), "libertylad_removeflare", id)
    }
I'm not a scripting expert, but I think that should help
__________________
I ♥ ⌂ ♫
1sh0t2killz is offline
Xel0z
Senior Member
Join Date: Apr 2006
Location: Netherlands
Old 06-21-2008 , 07:10   Re: Help Please
Reply With Quote #5

Code:
public libertylad_createflare(id) {     if(engfunc(EngFunc_NumberOfEntities) == global_get(glb_maxEntities))     {         client_print(id, print_chat, "[SH] Cannot create more entities")         return     }       new Float: FlareRendering[3]     new Float: LibertyLadFlareVelocity[3]         flareentity[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))     pev(id, pev_origin, LibertyLadFlareOrigin)         set_pev(flareentity[id], pev_classname, "libertylad_flare")     engfunc(EngFunc_SetModel, flareentity[id], "models/w_flare.mdl")     engfunc(EngFunc_SetOrigin, flareentity[id], LibertyLadFlareOrigin)     set_pev(flareentity[id], pev_solid, 2)     set_pev(flareentity[id], pev_owner, id)     set_pev(flareentity[id], pev_movetype, 6)     set_pev(flareentity[id], pev_gravity, 0.6)     FlareRendering[0] = 120.0     FlareRendering[1] = 120.0     FlareRendering[2] = 120.0         set_pev(flareentity[id], pev_rendermode, kRenderNormal)     set_pev(flareentity[id], pev_renderfx, kRenderFxGlowShell)     set_pev(flareentity[id], pev_renderamt, 11.0)     set_pev(flareentity[id], pev_rendercolor, FlareRendering)     velocity_by_aim(id, get_cvar_num("libertylad_throwspeed"), LibertyLadFlareVelocity)     set_pev(flareentity[id], pev_velocity, LibertyLadFlareVelocity)     set_task(2.0, "libertylad_flarelight", flareentity[id], "", 0, "b")     set_task(get_cvar_float("libertylad_duration"), "libertylad_removeflare", id) }
We love fakemeta =]
__________________
Heroes: TESS-One Working on: Grit (Fixing bugs)
Xel0z is offline
Send a message via MSN to Xel0z
Zul Rivers
Member
Join Date: May 2008
Old 06-27-2008 , 07:24   Re: Help Please
Reply With Quote #6

Thanks guys, if that helps i'll keep on with amx
I'll test it soon +karma
__________________
Projects:
Superhero: Hydrogen [Completed]
Superhero: Liberty Lad [Incomplete]


No Longer AMX Scripting, I Suck At It.
Zul Rivers is offline
Guilty Spark
Member
Join Date: Jan 2008
Location: clansolo.com
Old 07-05-2008 , 11:11   Re: Help Please
Reply With Quote #7

You should read about pcvars here: http://wiki.amxmodx.org/index.php/AM...#CVAR_Pointers.

Also, try and hook the round end event and run this code. It'll clean up the map and remove all of your Liberty Lad flares.
Code:
new entity;
new const classname[] = "classname";
new const flare_classname[] = "libertylad_flare";
while ( (entity = engfunc(EngFunc_FindEntityByString, entity, classname, flare_classname)) > 0 )
{
     engfunc(EngFunc_RemoveEntity, entity);
}
__________________
Superhero Mod ([S0|0]) - 63.209.37.33:27015
[IMG]http://img157.**************/img157/1031/guiltyspark2tn9.png[/IMG]

Last edited by Guilty Spark; 07-05-2008 at 11:20.
Guilty Spark is offline
Send a message via AIM to Guilty Spark
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 07:31.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode