Ir para conteúdo
  • Cadastre-se

(Resolvido)Trocar premium points no trade


Ir para solução Resolvido por Ed.Specter,

Posts Recomendados

Olá, queria saber se alguém tem um script que troca-se  Premium points por trade usando um certo item, e o Premium points do player que trocou fosse transferido para o outro player, basicamente um sistema de trocar "PREMIUM POINTS" dentro do jogo com outros players.

Link para o post
Compartilhar em outros sites

se os pontos forem transformados em item como alguns servidores usam ... pode sim caso contrario terá um trabalho bem complexo para faze-lo

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
38 minutos atrás, Brunds disse:

se os pontos forem transformados em item como alguns servidores usam ... pode sim caso contrario terá um trabalho bem complexo para faze-lo

 

é um certo item. que ao dar trade com outra pessoa transfere 10 Pontos.

más só pode funcionar o trade se o player que vai dar o item tiver os pontos na account.

caso não tenho, irá aparecer uma msg dizendo que o player n tem os pontos necessários.

 

Obs: é um Script mt usado em DBO/NTO

maioria dos servidores só transferem 10 pontos

Link para o post
Compartilhar em outros sites
11 minutos atrás, dissolima disse:

 

é um certo item. que ao dar trade com outra pessoa transfere 10 Pontos.

más só pode funcionar o trade se o player que vai dar o item tiver os pontos na account.

caso não tenho, irá aparecer uma msg dizendo que o player n tem os pontos necessários.

 

Obs: é um Script mt usado em DBO/NTO

maioria dos servidores só transferem 10 pontos

hmmm não estou por dentro disso mas pelo que me contou ele meche nos pontos que o player tem no site e transfere para o outro player ... deve ser um script trabalhando em conjunto com um sistema do proprio site deles ... ao meu ponto de vista é o que parece ou sejá além de mexer no script para transferir in-game ele tem o sistema no site.... e tem que ver se precisa de funções na source .... se você puder mostrar algumas fotos que eu possa ver como é em questão tudo, para algum scripter ter um compreendimento melhor para te ajudar

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

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 points   se alguém puder ajudar..

 

Adicione em 050-function :

 

function getPlayerVipPoints(cid)
    local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "")
        if Info:getID() ~= LUA_ERROR then
        local Points= Info:getDataInt("premium_points")
        Info:free()
        return Points
    end
     return LUA_ERROR
end

function doPlayerAddVipPoints(cid, points)
    local dif = getPlayerVipPoints(cid) + points
    if dif >= 0 then
        db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
        return TRUE
    end
    return FALSE
end

function doPlayerRemoveVipPoints(cid, points)
    local dif = getPlayerVipPoints(cid) - points
    if dif >= 0 then
        db.query("UPDATE `accounts` SET `premium_points` = `premium_points` - " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
        return TRUE
    end
    return FALSE
end

depois crie um aquivo .lua chamado transfer.lua em Talkactions/scripts

 

function onSay(cid, words, param, channel) 
 
local t = param:explode(",")
local player = getPlayerByName(t[1])
local m = tonumber(t[2])
  
    if param == "" then 
        return doPlayerSendCancel(cid, "Command requires param.") 
    elseif not isPlayer(player) then
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    end
	
if(not m) then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Valor nao Digitado.\n Ex: /transfer "..getPlayerName(cid)..", 20")
        return TRUE
end

    if getPlayerVipPoints(cid) < m then
        return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce nao tem pontos suficiente!!")
    end 
    
    doPlayerRemoveVipPoints(cid, m)   
    doPlayerAddVipPoints(player, m)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Voce Transferiu "..m.." pontos para "..getPlayerName(player)..".")  
    f = io.open("data/logs/Pontos.txt", "a+")
    f:write("Player: "..getPlayerName(cid).." transferiu "..m.." pontos para "..getPlayerName(player).."\n\n----------------------------------------------------------\n")
    f:close()   
    return true 
end

 

 em talkaction.xml adicione a tag  :

 

<talkaction words="/transfer" event="script" value="transfer.lua"/>

 

bom, achei interessante e estou postando aqui no fórum  se alguém quiser nós ajudar analisar o script.

 

pois o que eu queria era que fosse usado um "X" item para efetuar a troca dos pontos com um pré valor definido ex: 10 15 20 45 50 Scroll Points , que usando este "Scroll Points, com seu respectivo valor" ele efetuasse a troca dos points. colocando isso o script ficaria perfeito " bom pelo menos pra min" rsr 

 

 

Editado por wedyhiu2 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 minuto atrás, dissolima disse:

@wedyhiu2

é quase isso ai, só que esse ai transfere os Pontos.

 preciso de um que troca pontos. tipo no trade.

+ vou te dar REP+ pela ajuda

Vlw, espero que alguém ajude a modificar o script

Link para o post
Compartilhar em outros sites
  • Moderador
Em 13/12/2016 ás 15:28, wedyhiu2 disse:

Olá, queria saber se alguém tem um script que troca-se  Premium points por trade usando um certo item, e o Premium points do player que trocou fosse transferido para o outro player, basicamente um sistema de trocar "PREMIUM POINTS" dentro do jogo com outros players.

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

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
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 ?

Link para o post
Compartilhar em outros sites
  • 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)

download.jpg

Link para o post
Compartilhar em outros sites
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 ?

 

Link para o post
Compartilhar em outros sites
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.

download.jpg

Link para o post
Compartilhar em outros sites
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 ?

Link para o post
Compartilhar em outros sites
28 minutos atrás, wedyhiu2 disse:

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

 

não entendeu! rsr

ou eu não te entendi.

 

é só fazer o script com essa função ai que te passei.

vc vai falar o comando e vai simular o trade, com o item que colocar na função.

 

se precisar de ajuda, vai pedindo aqui.

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

download.jpg

Link para o post
Compartilhar em outros sites

Eu queria algo deste tipo:

 

Comprando/Vendendo Premium Points no Jogo

 

Antes de vender para algum player você deve, chegar no NPC e comprar o Premium Points Transfer Documento dizendo:

Player: hi

NPC: Hello Diaplox. I sell all kind of mail items.

Player: buy Premium Points Transfer Documento

NPC: Do you want to buy a premium points transfer document?

Player: yes

NPC: It was a pleasure doing business with you.

 

Depois de ter comprado o Premium Points Transfer Documento, o player iria execurar o comando para adicionar os Points Premium no Documento, exemplo:

 

!transfer, 11 premium points

 

Caso tenha os pontos, ira aparece a mensagem relatando que foi transferida com Sucesso, caso contrario aparece a mensagem dizendo que você não tem a quantidade de pontos!

 

Apos dar trade com o Documento e Aceitar Ira Surgir A Seguinte Mensagem.

 

Foi removido 11 premium points de sua conta

 

Quem estiver comprando depois de passar a Premium Points Transfer Documento verá essa mensagem:

 

Você comprou 11 premium points, estes premium points pode ser acessado pelo painel da sua conta no site do servidor!

 

Obs: O NPC  só vende o Premium Points Transfer Documento, depois que você transferir os Points, ae mostraria no Look a quantidade de Points que este documente contem, sendo assim ser negociado em game!

 

Acho que é isso que a galera está procurando, e é exatamente o que eu estou precisando tambem..para TFS 0.4, caso não for isso que vocês esteja procurando, abro meu proprio Topico, abraços e agradeço ae quem puder fazer um belo Tutorial exclusivo aqui para o TibiaKing com esse belo sistema!

Editado por Digoshow (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
Em 16/12/2016 ás 20:52, Digoshow disse:

Eu queria algo deste tipo:

 

Comprando/Vendendo Premium Points no Jogo

 

Antes de vender para algum player você deve, chegar no NPC e comprar o Premium Points Transfer Documento dizendo:

Player: hi

NPC: Hello Diaplox. I sell all kind of mail items.

Player: buy Premium Points Transfer Documento

NPC: Do you want to buy a premium points transfer document?

Player: yes

NPC: It was a pleasure doing business with you.

 

Depois de ter comprado o Premium Points Transfer Documento, o player iria execurar o comando para adicionar os Points Premium no Documento, exemplo:

 

!transfer, 11 premium points

 

Caso tenha os pontos, ira aparece a mensagem relatando que foi transferida com Sucesso, caso contrario aparece a mensagem dizendo que você não tem a quantidade de pontos!

 

Apos dar trade com o Documento e Aceitar Ira Surgir A Seguinte Mensagem.

 

Foi removido 11 premium points de sua conta

 

Quem estiver comprando depois de passar a Premium Points Transfer Documento verá essa mensagem:

 

Você comprou 11 premium points, estes premium points pode ser acessado pelo painel da sua conta no site do servidor!

 

Obs: O NPC  só vende o Premium Points Transfer Documento, depois que você transferir os Points, ae mostraria no Look a quantidade de Points que este documente contem, sendo assim ser negociado em game!

 

Acho que é isso que a galera está procurando, e é exatamente o que eu estou precisando tambem..para TFS 0.4, caso não for isso que vocês esteja procurando, abro meu proprio Topico, abraços e agradeço ae quem puder fazer um belo Tutorial exclusivo aqui para o TibiaKing com esse belo sistema!

 

o que você esta  é quase a mesma coisa porem um pouco diferente do que eu estou procurando no caso do meu não precisaria usar comando. os valores seriam pre definidos ao comprar o Premium Points (10, 20 , 30 ,50 60 100),  do npc  e efetuando o trade ele iria fazer uma checagem no trade e ai sim efetuar a troca, e se o player não tivesse a quantia ex:  10  Premium Points Transfer Documento a troca não seria  efetuada.

Editado por wedyhiu2 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, wedyhiu2 disse:

o que você esta  é quase a mesma coisa porem um pouco diferente do que eu estou procurando no caso do meu não precisaria usar comando. os valores seriam pre definidos ao comprar o Premium Points (10, 20 , 30 ,50 60 100),  do npc  e efetuando o trade ele iria fazer uma checagem no trade e ai sim efetuar a troca, e se o player não tivesse a quantia ex:  10  Premium Points Transfer Documento a troca não seria  efetuada.

 

Ah sim, a unica diferença é que já se compra o Documento "Pré-Definido" no npc, o que eu falei, usa uma "talkactions" para transfirir os pontos para o Documento, aparecendo no look a quantidade!

E o que você diz é que o Player ja compra o Documento com a Capacidade de transferir uma quantidade de pontos já pré-definido no Documento!

 

Bom as duas formas acho bem eficas, porque abriria mais comercio dentro do jogo, se alguem poder nos ajudar com essa proeza!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
8 horas atrás, Digoshow disse:

Ah sim, a unica diferença é que já se compra o Documento "Pré-Definido" no npc, o que eu falei, usa uma "talkactions" para transfirir os pontos para o Documento, aparecendo no look a quantidade!

E o que você diz é que o Player ja compra o Documento com a Capacidade de transferir uma quantidade de pontos já pré-definido no Documento!

 

Bom as duas formas acho bem eficas, porque abriria mais comercio dentro do jogo, se alguem poder nos ajudar com essa proeza!

isso eu irei tentar fazer o que o nosso amigo la em cima passou pra gente adicionar uma função na source para tal trade.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo