Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 50

Thread: CodeCallback_PlayerCommand(args) does not work

  1. #21
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    But if VPS electricity shuts down , i want to keep my server running. There is a background job of course.

    And when i rebooted my machine , server was gone. I really don't want to ./start.sh everytime. Is there a fix for that ?

    Aa and plz with commands

    EDIT : What is that " screen -AmdS "SOMENAME" ??

    What is somename ?

  2. #22
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    somename is some name.
    you decide what you name your screen session.

    But if VPS electricity shuts down , i want to keep my server running
    perpetuum mobile much?

    And after a reboot your server will ofcourse be shut down. google "crontab" for possible solutions to that.
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  3. The Following User Says Thank You to IzNoGoD For This Useful Post:

    YuriJurek (19th March 2016)

  4. #23
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,011
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    Restarting the CoD2 server on reboot is step 12 of Whiskas tutorial, which you sent me per PM: http://www.whiskaskitler.xyz/index.p...-for-the-pros/
    timescale 0.01

  5. The Following User Says Thank You to kung foo man For This Useful Post:

    suck000 (19th March 2016)

  6. #24
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    Horaaaaaaaaaaaaaaaaaaaaaaay ! everything is good am running my server with libcod now !

    And let's go the next next part ! How to load a .gsc (script) like the !kick command that i already linked to the post !

  7. #25
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    Libcod installed ! Server started too ! I have a problem now with the script , when i try !kick i go this error :

    Script runtime error (see console for details)

    "File maps/mp/gametype/_callbacksetup.gsc/" Line 200.

    (Am using the script that i already linked before.)

  8. #26
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    Please fix the script for me <3
    Code:
    //    Callback Setup 
    //    This script provides the hooks from code into script for the gametype callback functions. 
    
    //============================================================================= 
    // Code Callback functions 
    
    /*================ 
    Called by code after the level's main script function has run. 
    ================*/ 
    CodeCallback_StartGameType() 
    { 
        // If the gametype has not beed started, run the startup 
        if(!isDefined(level.gametypestarted) || !level.gametypestarted) 
        { 
            [[level.callbackStartGameType]](); 
            level.gametypestarted = true; // so we know that the gametype has been started up     
        } 
    } 
    
    /*================ 
    Called when a player begins connecting to the server. 
    Called again for every map change or tournement restart. 
    
    Return undefined if the client should be allowed, otherwise return 
    a string with the reason for denial. 
    
    Otherwise, the client will be sent the current gamestate 
    and will eventually get to ClientBegin. 
    
    firstTime will be qtrue the very first time a client connects 
    to the server machine, but qfalse on map changes and tournement 
    restarts. 
    ================*/ 
    
    CodeCallback_PlayerConnect() 
    {   
        self endon("disconnect");  
        [[level.callbackPlayerConnect]]();
    } 
    
    /*================ 
    Called when a player drops from the server. 
    Will not be called between levels. 
    self is the player that is disconnecting. 
    ================*/ 
    CodeCallback_PlayerDisconnect() 
    { 
        self notify("disconnect"); 
        [[level.callbackPlayerDisconnect]](); 
    } 
    
    /*================ 
    Called when a player has taken damage. 
    self is the player that took damage. 
    ================*/ 
    CodeCallback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset) 
    { 
        self endon("disconnect"); 
        [[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset); 
    } 
    
    /*================ 
    Called when a player has been killed. 
    self is the player that was killed. 
    ================*/ 
    CodeCallback_PlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration) 
    { 
        self endon("disconnect"); 
        [[level.callbackPlayerKilled]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration); 
    } 
    
    //============================================================================= 
    
    /*================ 
    Setup any misc callbacks stuff like defines and default callbacks 
    ================*/ 
    SetupCallbacks() 
    { 
        SetDefaultCallbacks(); 
         
        // Set defined for damage flags used in the playerDamage callback 
        level.iDFLAGS_RADIUS            = 1; 
        level.iDFLAGS_NO_ARMOR            = 2; 
        level.iDFLAGS_NO_KNOCKBACK        = 4; 
        level.iDFLAGS_NO_TEAM_PROTECTION    = 8; 
        level.iDFLAGS_NO_PROTECTION        = 16; 
        level.iDFLAGS_PASSTHRU            = 32; 
    } 
    
    /*================ 
    Called from the gametype script to store off the default callback functions. 
    This allows the callbacks to be overridden by level script, but not lost. 
    ================*/ 
    SetDefaultCallbacks() 
    { 
        level.default_CallbackStartGameType = level.callbackStartGameType; 
        level.default_CallbackPlayerConnect = level.callbackPlayerConnect; 
        level.default_CallbackPlayerDisconnect = level.callbackPlayerDisconnect; 
        level.default_CallbackPlayerDamage = level.callbackPlayerDamage; 
        level.default_CallbackPlayerKilled = level.callbackPlayerKilled; 
    } 
    
    /*================ 
    Called when a gametype is not supported. 
    ================*/ 
    AbortLevel() 
    { 
        println("Aborting level - gametype is not supported"); 
    
        level.callbackStartGameType = ::callbackVoid; 
        level.callbackPlayerConnect = ::callbackVoid; 
        level.callbackPlayerDisconnect = ::callbackVoid; 
        level.callbackPlayerDamage = ::callbackVoid; 
        level.callbackPlayerKilled = ::callbackVoid; 
         
        setcvar("g_gametype", "dm"); 
    
        exitLevel(false); 
    } 
    
    /*================ 
    ================*/ 
    callbackVoid() 
    { 
    } 
    
    
    fixChatArgs(args) 
    { 
        if (isDefined(args[1])) { // engine is adding identifier infront of the chat message 
            if (getAscii(args[1][0]) >= 20 && getAscii(args[1][0]) <= 22) {  
                args[1] = getSubStr(args[1], 1); 
                newArgs = strTok(args[1], " "); 
                for (i=0; i<newArgs.size; i++) 
                    args[1+i] = newArgs[i]; 
            } 
        } 
        return args; 
    } 
    
    
    checkIfExist(number)
    {
        players = getentarray("player", "classname");
        for(i = 0; i < players.size; i++) 
        {
            if(players[i] getentitynumber() == Int(number))
                return true;
        }
        return false;    
    }
    
    thirdArgument(args)
    {
        text = "";
        for(i=3; i<args.size; i++)
            text += args[i] + " ";
        return text;
    }
    
    getPlayerNameById(number)
    {
        players = getentarray("player", "classname");
        for(i = 0; i < players.size; i++) 
        {
            if(players[i] getentitynumber() == Int(number))
                return players[i].name;
        }
        return false;
    }
    
    getPlayerById(number)
    {
        players = getentarray("player", "classname");
        for(i = 0; i < players.size; i++) 
        {
            if(players[i] getEntityNumber() == Int(number))
                return players[i];
        }
        return false;
    }  
    
    tellMessage(message)
    {
        sendgameservercommand(self getentitynumber(), "h \"^7console: ^7" + message + "\"");
    }
    
    
    tellMessageWorld(message)
    {
        sendgameservercommand(-1, "h \"^7console: ^7" + message + "\"");
    }
    
    isint(string)
    {
         return ((int(string) + "") == string + "");
    } 
    
    
    CodeCallback_PlayerCommand(args) 
    {
        output = ""; 
        for (i=0; i<args.size; i++) 
            output += args[i] + ", "; 
         
        args = fixChatArgs(args); 
    
         
        if (args[0] == "say" && isDefined(args[1]) && args[1][0] == "!")     
        { 
            switch (getSubStr(args[1], 1)) 
            { 
            case "kick":
                if(self getGUID() == "707051")
                {
                    if (isDefined(args[2]) && isint(args[2]) && isDefined(args[3])) 
                    {                       
                        args[2] = int(args[2]);
                        if(!checkIfExist(args[2]))
                        {
                            self thread tellMessage("Couldn\'t find a player with this number.");
                            return;
                        }
                        args[3] = thirdArgument(args);
                        kickmsg = "You were kicked, because of reason: " + args[3];
                        tokickname = getPlayerNameById(args[2]);
                        thread tellMessageWorld(tokickname + " ^7was kicked. Reason: " + args[3]);
                        kick2(args[2], kickmsg);
                        return;                    
                    }
                    else 
                    {                    
                        self thread tellMessage("Noone to kick, or no reason typed ._.");
                        return;
                    }
                }
                else 
                {
                    self thread tellMessage("You are not an admin.");
                    return; 
                }       
            } 
        }      
         
        self ClientCommand(); 
    }
    The problem is at line 200.

  9. #27
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    post full error.

    Try reading this:
    https://killtube.org/showthread.php?...sking-for-help
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  10. The Following User Says Thank You to IzNoGoD For This Useful Post:

    suck000 (19th March 2016)

  11. #28
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    mmm , see the attachment (image) i think that is the error.
    Attached Thumbnails Attached Thumbnails 11.jpg  

  12. #29
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    no, i need the error server-side, not clientside.

    It doesnt even mention line 200 in that image.
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  13. The Following User Says Thank You to IzNoGoD For This Useful Post:

    suck000 (19th March 2016)

  14. #30
    Private First Class
    Join Date
    Mar 2016
    Posts
    134
    Thanks
    48
    Thanked 11 Times in 10 Posts
    It does , i saw that yellow color , thought that is the error it mentions the line 200 when i press TAB too.

    Wait am gonna give u the server side error.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •