Jump to content

[Ajuda] Alguém sabe me dizer o que tem de errado nesta função


Recommended Posts

Pessoal, alguém saberia me dizer o que tem de errado nesta função abaixo? Acredito que seja uma função original da source, mas parece haver um erro nela.

Sempre que ela é chamada aparece "invalid argument" no syserr do canal. Ela ta na quest que serve pra criar, sair e desfazer guild.

Spoiler

    int guild_is_war (lua_State* L)
    {
        if (!lua_isnumber (L, 1))
        {
            sys_err ("invalid argument");
            return 0;
        }

        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();

        if (ch->GetGuild() && ch->GetGuild()->UnderWar ((DWORD) lua_tonumber (L, 1)))
        {
            lua_pushboolean (L, true);
        }
        else
        {
            lua_pushboolean (L, false);
        }

        return 1;
    }

 

Edited by Luffy
Link to post
Share on other sites
  • 4 months later...
2 minutos atrás, oserra disse:

guild_is_war só pode ser um booleano(true/false) daí dar-te esse erro, a quest está-lhe a dar o valor 1(não é suposto).

a Função trabalha com int ela só se torna bool aqui :

     {
            lua_pushboolean (L, true);
        }
        else
        {
            lua_pushboolean (L, false);
        }

 

o retornar 0 ou 1 da função é para reportar um erro nesse caso o Invalid argument

Edited by GODSPEED
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...