Ir ao conteúdo
  • Cadastre-se

Outro Transformar uma função C++ em LUA


Posts recomendados

Então, primeiramente obrigado a todos que lerem e tentarem ajudar, realmente preciso fazer isso :(

 

Eu tenho um servidor de um jogo (tibia) que é feito através de módulos C++, LUA e XML (porém, os editáveis são só em LUA e XML) Para rodar o jogo, tem um cliente específico (otclientv8) (open source) em que há diversos módulos feitos com LUA que pode editar a vontade.

Para realizar uma ligação "servidor <-> client" eu posso fazer através de envio de protocolo numa função chamada Extended OpCode, na parte do cliente do jogo, fica assim:

 

if protocolGame then
      local myValue = math.random(1, 2)
      protocolGame:sendExtendedOpcode(52, myValue)
end

 

Aí, para receber em meu servidor eu uso:

 

 

function onExtendedOpcode(cid, opcode, buffer)
  if opcode == 52 then
    local myValue = tonumber(buffer)
    if myValue == 1 then
      doPlayerSay(cid, 'valor eh 1')
    elseif myValue == 2 then
      doPlayerSay(cid, 'valor eh 2')
    else
      doPlayerSay(cid, 'valor indefinido')
    end
  end

       
end

 

 

Só que, o problema é o seguinte, no meu servidor falta a função para enviar uma informação de volta pro cliente, essa função tenho apenas em C++, que é exatamente esta:

int32_t LuaInterface::luaDoSendPlayerExtendedOpcode(lua_State* L)
{
    //doPlayerSendExtendedOpcode(cid, opcode, buffer)
    std::string buffer = popString(L);
    int32_t opcode = popNumber(L);

    ScriptEnviroment* env = getEnv();
    if(Player* player = env->getPlayerByUID(popNumber(L)))
    {
        player->sendExtendedOpcode(opcode, buffer);
        lua_pushboolean(L, true);
    }

    lua_pushboolean(L, false);
    return 1;
}

 

Não entendo de C++ e vim aqui perguntar 2 coisas:

Teria como alguém me ajudar? Ou com poucas informações como estas fica complicado? Entrego qualquer que seja o que precisa, porque estou precisando muuuuuito fazer isto!!

Agradeço pela atenção

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!