Ir para conteúdo

Featured Replies

Postado
  • Autor
2 horas atrás, Alexy Brocanello disse:

seria praticamente isso ? !tradepoints Nomedoplayer, quantidade e abriria o trade do outro jogador ? ao aceitar os pontos iria por trade é isso, não entendi muito bem

isso seria o que esse script faz, o que queremos é que não por um comando mais sim por trade após efetuar o trade os pontos seriam transferidos utilizando um x item para efetuar o trade dos pontos. ex: 10 Premium Scroll ao efetuar o trade passaria 10 pontos que seriam transferidos da conta, para o outro player, porem esse script faz por comando queríamos que transferi-se  por trade e com item. 

58 minutos atrás, Ed.Specter disse:

Oneshot criou uma função doStartTrade(cid, target, item)  que simula o trade, é só colocar a função na source e criar o código em lua, é bem simples na verdade.

no caso em qual lugar da source eu colocaria essa função e sobre o script poderíamos usar esse porem modifica-lo ?

  • Respostas 30
  • Visualizações 3.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • adiciona a função que citei.   e vê se funciona esse aqui: talkactions function onSay(cid, words, param, param2, channel) local t = string.explode(param, ",") local target = getCre

  • achei um script similar :   pelo que eu intendi através de um comando o player transfere os pontos para outro players, porém queria usar um "X"  item por "trade" para efetuar a troca dos poi

  • Em luascript.h, adicione essa linha:   static int32_t luaDoStartTrade(lua_State* L); coloca abaixo de linhas parecidas.     Em luascript.cpp, adicione isso: //doStartTrade(

Postado
  • Solução
3 horas atrás, wedyhiu2 disse:

isso seria o que esse script faz, o que queremos é que não por um comando mais sim por trade após efetuar o trade os pontos seriam transferidos utilizando um x item para efetuar o trade dos pontos. ex: 10 Premium Scroll ao efetuar o trade passaria 10 pontos que seriam transferidos da conta, para o outro player, porem esse script faz por comando queríamos que transferi-se  por trade e com item. 

no caso em qual lugar da source eu colocaria essa função e sobre o script poderíamos usar esse porem modifica-lo ?

 

Em luascript.h, adicione essa linha:
 

static int32_t luaDoStartTrade(lua_State* L);

coloca abaixo de linhas parecidas.

 

 

Em luascript.cpp, adicione isso:

//doStartTrade(cid, target, item)
lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade);

coloca perto de linhas parecidas.

 

e em luascript.cpp ainda. coloca isso também: (perto de algo parecido)

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;
}

 

todos os créditos da função para OneShot!

 

exemplo de uso:

 

local item = doPlayerAddItem(cid, 1234)
doStartTrade(cid, target, item)

 

dai é só criar um talkactions, usa como base esse que você comentou ai.

 

e cria um onTradeAccept(cid, target, item).

 

o talkactions para chamar a função doStartTrade, que vai simular o trade, e o tradeAccept para quando o trade for aceito.

Editado por Ed.Specter (veja o histórico de edições)

Postado
  • Autor
2 horas atrás, Ed.Specter disse:

 

Em luascript.h, adicione essa linha:
 


static int32_t luaDoStartTrade(lua_State* L);

coloca abaixo de linhas parecidas.

 

 

Em luascript.cpp, adicione isso:


//doStartTrade(cid, target, item)
lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade);

coloca perto de linhas parecidas.

 

e em luascript.cpp ainda. coloca isso também: (perto de algo parecido)


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;
}

 

todos os créditos da função para OneShot!

 

exemplo de uso:

 


local item = doPlayerAddItem(cid, 1234)
doStartTrade(cid, target, item)

 

dai é só criar um talkactions, usa como base esse que você comentou ai.

 

e cria um onTradeAccept(cid, target, item).

 

o talkactions para chamar a função doStartTrade, que vai simular o trade, e o tradeAccept para quando o trade for aceito.

 

intendi irei tentar então quer dizer com essa função eu poderia usar o script  de talkaction como trade ? não como um comando ? com um item ?

 

Postado
1 hora atrás, wedyhiu2 disse:

intendi irei tentar então quer dizer com essa função eu poderia usar o script  de talkaction como trade ? não como um comando ? com um item ?

 

 

não entendi.

 

a função doStartTrade precisa de um item. você vai usar o talkactions pra chamar o trade, tipo [ !trade Player, 4 ] no caso, vai da trade no player para trocar 4 pontos.

ae a TradeAccept para fazer acontecer a troca, quando eles aceitarem.

você vai usar o talkaction como um trade, coloca todas as condições nele.

Postado
  • Autor
11 minutos atrás, Ed.Specter disse:

 

não entendi.

 

a função doStartTrade precisa de um item. você vai usar o talkactions pra chamar o trade, tipo [ !trade Player, 4 ] no caso, vai da trade no player para trocar 4 pontos.

ae a TradeAccept para fazer acontecer a troca, quando eles aceitarem.

você vai usar o talkaction como um trade, coloca todas as condições nele.

eu intendi posso fazer acontecer só usando o item sem chamar no comando ?

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