AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   fakefull problem (https://forums.alliedmods.net/showthread.php?t=105307)

One 10-03-2009 10:12

fakefull problem
 
hey, i just tried to edit FakeFull Original v1.7.6 .

but after i edited this i got error :

PHP Code:

L 10/03/2009 16:10:16Start of error session.
L 10/03/2009 16:10:16Info (map "fy_iceworld") (file "addons/amxmodx/logs/error_20091003.log")
L 10/03/2009 16:10:16Invalid CVAR pointer
L 10
/03/2009 16:10:16: [AMXXRun time error 10 (plugin "amx_super.amxx") (native "get_pcvar_num") - debug not enabled!
L 10/03/2009 16:10:16: [AMXXTo enable debug modeadd "debug" after the plugin name in plugins.ini (without quotes).
L 10/03/2009 16:10:16Invalid CVAR pointer
L 10
/03/2009 16:10:16: [AMXXRun time error 10 (plugin "eim.amxx") (native "get_pcvar_num") - debug not enabled!
L 10/03/2009 16:10:16: [AMXXTo enable debug modeadd "debug" after the plugin name in plugins.ini (without quotes).
L 10/03/2009 16:10:16: [MySQLInvalid info tuple handle0
L 10
/03/2009 16:10:16: [AMXXRun time error 10 (plugin "playerinfo.amxx") (native "SQL_ThreadQuery") - debug not enabled!
L 10/03/2009 16:10:16: [AMXXTo enable debug modeadd "debug" after the plugin name in plugins.ini (without quotes).
L 10/03/2009 16:10:16: Function is not present (function "task_ungag") (plugin "amx_super.amxx")
L 10/03/2009 16:10:16: [AMXXRun time error 10 (plugin "amx_super.amxx") (native "set_task") - debug not enabled!
L 10/03/2009 16:10:16: [AMXXTo enable debug modeadd "debug" after the plugin name in plugins.ini (without quotes). 

here my edited code ( its looks realy silly )

Code:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <fun>

new const Plugin[] = "FakeFull Original"
new const Version[] = "1.7.6"
new const Author[] = "JTP10181/Freecode/AssKicR"

#define MAX_NAMES 256

new bool:is_user_ffbot[33]
new bool:checkingStatus = false
new bool:changingBots = false
new botCount = 0, namesread = 0
new namesToUse[MAX_NAMES][33]
new pDelay, pAuto, pPlayers

public plugin_init()
{
    register_plugin(Plugin,Version,Author)
    pAuto = register_cvar("ff_automode","1")
    pPlayers = register_cvar("ff_players","1")
    pDelay = register_cvar("ff_delay","1")
    register_concmd("amx_addfake","botadd",ADMIN_BAN,"<# | @FILL> - add this many bots")
    //register_concmd("amx_removefake","botremove",ADMIN_BAN,"<# | @ALL> - remove this many bots")
    set_task(10.0,"ServerStatus",0,_,_,"b")
    ReadNames()
    createBot()
    //Setup jtp10181 CVAR
    new cvarString[256], shortName[16]
    copy(shortName,15,"ff")

    register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
    get_cvar_string("jtp10181",cvarString,255)

    if (strlen(cvarString) == 0) {
        formatex(cvarString,255,shortName)
        set_cvar_string("jtp10181",cvarString)
    }
    else if (contain(cvarString,shortName) == -1) {
        format(cvarString,255,"%s,%s",cvarString, shortName)
        set_cvar_string("jtp10181",cvarString)
    }
}

public plugin_natives()
{
    set_module_filter("module_filter")
    set_native_filter("native_filter")
}

public module_filter(const module[])
{
    if (!cstrike_running() && equali(module, "cstrike")) {
        return PLUGIN_HANDLED
    }

    return PLUGIN_CONTINUE
}

public native_filter(const name[], index, trap)
{
    if (!trap) return PLUGIN_HANDLED

    return PLUGIN_CONTINUE
}

public botadd(id,level,cid)
{
    if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED

    new arg[10], botNum

    if (read_argc() == 1) botNum = 1
    else {
        read_argv(1,arg,9)
        if (equali(arg,"@FILL")) botNum = get_maxplayers() - get_playersnum(1)
        else botNum = str_to_num(arg)
    }

    if (botNum <=0 || botNum > get_maxplayers() - get_playersnum(1)) {
        console_print(id,"[AMXX] Invalid number of bots to add")
        return PLUGIN_HANDLED
    }

    new Float:botDelay = get_pcvar_float(pDelay)
    console_print(id,"[AMXX] Adding %d bots with %.1f second delay for each",botNum,botDelay)
    //set_task(botDelay,"createBot",0,_,_,"a",botNum)
    //set_task(botDelay * (botNum + 1),"doneChanging")

    changingBots = true

    return PLUGIN_HANDLED
}

public client_putinserver(id)
{
    //Don't want anyone going invisible on us
    set_pev(id, pev_rendermode, kRenderNormal)

    is_user_ffbot[id] = false
    ServerStatus()
}

public client_disconnect(id)
{
    is_user_ffbot[id] = false
    ServerStatus()
}

public createBot()
{
    new bool:UseAnotherName
    new BotName[33], UserNames[33][33]
    new name_rand = random_num(0,namesread - 1)
    new endLoop = name_rand - 1
    if (endLoop < 0) endLoop = namesread - 1

    //Save all the usernames so we dont have to keep getting them all
    for (new x = 1; x <= 32; x++)
    {
        if (!is_user_connected(x)) continue
        get_user_name(x,UserNames[x],32)
    }

    do
    {
        UseAnotherName = false
        copy(BotName,32,namesToUse[name_rand])

        for (new id = 1; id <= 32; id++) {

            if (!is_user_connected(id)) continue

            if (equali(BotName,UserNames[id])) {
                UseAnotherName = true

                if (name_rand == endLoop) {
                    UseAnotherName = false
                    log_amx("ERROR: Ran out of names to use, please add more to botnames.ini")
                }

                name_rand++
                if (name_rand > namesread - 1) {
                    name_rand = 0
                }
                break
            }
        }
    }
    while(UseAnotherName)

    new Bot = engfunc(EngFunc_CreateFakeClient, BotName)

    if (Bot > 0)
    {
        //Supposed to prevent crashes?
        dllfunc(MetaFunc_CallGameEntity, "player", Bot)
        set_pev(Bot, pev_flags, FL_FAKECLIENT)

        //Make Sure they have no model
        set_pev(Bot, pev_model, "")
        set_pev(Bot, pev_viewmodel2, "")
        set_pev(Bot, pev_modelindex, 0)

        //Make them invisible for good measure
        set_pev(Bot, pev_renderfx, kRenderFxNone)
        set_pev(Bot, pev_rendermode, kRenderTransAlpha)
        set_pev(Bot, pev_renderamt, 0.0)

        //Set the team if we need to for this mod
        set_team(Bot)

        is_user_ffbot[Bot] = true
        botCount++
    }
}
public doneChanging()
{
    changingBots = false
}
public ServerStatus()
{
    if ( !get_pcvar_num(pAuto) ) return
    if ( checkingStatus || changingBots ) return

    checkingStatus = true
    new rnd

    if (botCount > 0) {
        for (new id = 1; id <= 32; id++) {

            if (!is_user_connected(id)) continue
            if (!is_user_ffbot[id]) continue
            rnd = random_num(1,100)
            if (rnd <= 10) {
                set_user_frags(id,get_user_frags(id) + 1)
            }

            //Set the team if we need to for this mod
            set_team(id)

            if (get_user_team(id) > 0) {
                server_cmd("kick #%d",get_user_userid(id))
                is_user_ffbot[id] = false
                botCount--
            }
        }
    }

    new pnum = get_playersnum(1)
    new maxplayers = get_maxplayers()
    new ff_players = get_pcvar_num(pPlayers)
    new Float:botDelay = get_pcvar_float(pDelay)

    if (ff_players > maxplayers - 2) {
        ff_players = maxplayers - 2
        set_pcvar_num(pPlayers, ff_players)
    }

    if (botDelay <= 0.0 ) {
        log_amx("ERROR: Please set ff_delay to a number higher than 0")
    }

    else //if (ff_players > pnum) #
    {
        new addnum = ff_players - pnum
        //set_task(botDelay,"createBot",0,_,_,"a",addnum)
        set_task(botDelay * (addnum + 1),"doneChanging")
        changingBots = true
    }

    /*else if (ff_players < pnum) {
        new removenum = pnum - ff_players
        removenum = min(removenum, botCount)

        if (removenum > 0) {
           
//set_task(botDelay,"removeBot",0,_,_,"a",removenum)
            //set_task(botDelay * (removenum + 1),"doneChanging")
            changingBots = true
        }
    }*/

    checkingStatus = false
}
public set_team(BotID)
{
    if (cstrike_running()) {
        cs_set_user_team(BotID, CS_TEAM_UNASSIGNED)
    }
}
public ReadNames() {

    new botnames_file[128]
    get_configsdir(botnames_file, 63)
    format(botnames_file,127,"%s/botnames.txt",botnames_file)

    new botnames = fopen(botnames_file,"r")

    if (botnames) {
        new data[35]

        while(!feof(botnames)) {

            if (namesread >= MAX_NAMES) {
                log_amx("MAX_NAMES exceeded, not all fake client names were able to load")
                break
            }

            fgets(botnames, data, 34)
            trim(data)

            new len = strlen(data)
            if (len <= 0) return
            if (data[len]-1 == '^n') data[--len] = 0

            if (equal(data,"") || equal(data,"#",1)) continue

            copy(namesToUse[namesread],32,data)
            namesread++
        }

        fclose(botnames)
    }
    else {
        new failmsg[128]
        formatex(failmsg,128,"Unable to read file ^"%s^", it is required to load bot names from", botnames_file)
        log_amx(failmsg)
        set_fail_state(failmsg)
    }
}

know anyone why its so? i'm 100% sure that the errors are there because i run fakefull. without edited fakefull no error.

edit : Bolded the lines which i edited.


All times are GMT -4. The time now is 22:36.

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