Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Bom dia!


Há um certo tempo eu tive um servidor de Tibia que possuía um sistema bem interessante de tradevip. Funcionava da seguinte maneira, o player que possuísse premdays(ou VIP) usava o comando !tradevip [DIAS], [Nome do Jogador] e automaticamente gerava uma janela de trade com um item e assim poderiam ser vendidos dias de premium sem o perigo de ninguém ser roubado.

Por padrão isso não é possível no Tibia, mas um usuário chamado Oneshot fez modificações nas sources para tornar isso possível.


Segue agora as modificações que permitem funcionar esse sistema:
 

 

Em luascript.h, adicione essa linha, abaixo das linhas parecidas.
static int32_t luaDoStartTrade(lua_State* L);
Em luascript.cpp, adicione isso perto das linhas parecidas.
//doStartTrade(cid, target, item)
lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade);
 
Ainda em luascript.cpp, adicione isso logo abaixo de alguma estrutura parecida.
int32_t LuaInterface::luaDoStartTrade(lua_State* L)
{
    ScriptEnviroment* env = getEnv();

    Item* item = env->getItemByUID(popNumber(L));
    if(!item)
    {
        errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND));
        lua_pushboolean(L, false);
        return 1;
    }

    Player* target = env->getPlayerByUID(popNumber(L));
    Player* player = env->getPlayerByUID(popNumber(L));
    if(!player || !target)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
        return 1;
    }


    if(g_game.internalStartTrade(player, target, item))
    {
        lua_pushboolean(L, true);
        return 1;
    }
    return 1;
}

Agora use sua imaginação para criar seus scripts.


Créditos: Oneshot

Att,
Grafit.

  • Respostas 8
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Não @pablobion ele não abre o trade do npc, ele abre o trade normal por exemplo com esse script também é possível fazer um trade a distancia...

Postado
  • Autor

seria legal se vc colocasse a versao do tfs 

Foi testado no TFS 0.4

Para quem quiser usar nas versões mais atuais do TFS é um ótimo exercício de aprendizagem atualizar o código.

Att,
Grafit.

  • 6 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo