Ir para conteúdo
  • Cadastre-se

(Resolvido)[AJUDA] Shop do OTClient está Bugado


Ir para solução Resolvido por Wend Siilva,

Posts Recomendados

Galera, quando eu clico para compra VIP de 30 dias no Shop do OTClient, meu char fala um comando "@buy VIP30", como arrumar isso e como adicionar/retirar coisas para vender no shop ???

 

Valendo Rep++ ^^

Link para o post
Compartilhar em outros sites
  • Solução

vá na pasta OTClient\modules\game_shop e abra o Market.otui e procure esse nome ai e altere, ele deve está mais ou menos assim:

 

   Button1
      id: 1
      !tooltip: tr('30 dias de Premium Account.')
      image-source: /images/shop/1
      width: 415
      height: 48
      anchors.top: parent.top
      anchors.left: parent.left
      margin-top: 0
      @onClick: g_game.talk("@buy VIP30")
Link para o post
Compartilhar em outros sites

Resolvido, obrigado

 

Agora só uma "dúvida" que eu acho que já sei a resposta ...

No caso, eu teria que ter um comando na pasta talkactions de comprar vip, tipo !buyvip ?? ai troco o comando de la por o meu ?? 

 

Se for isso, vc teria um script de buyvip para me passar porfavor ??

Link para o post
Compartilhar em outros sites

Sim isso mesmo que você falou, tem que ter uma talkaction 

tipo essa: 

 

local a = {
ITEM = {2145, 10}, -- ITEM, QUANTIDADE
}
function onSay(cid, words, param,channel)
if getPlayerItemCount(cid, a.ITEM[1]) >= a.ITEM[2] then
doPlayerAddItem(cid,1819,1)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu um item vip!")
doSendMagicEffect(getCreaturePosition(cid), 28)
doPlayerRemoveItem(cid, a.ITEM[1], a.ITEM[2])
else
doSendMagicEffect(getCreaturePosition(cid), 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe mas você não tem Diamonds suficientes para ativar sua account vip.")
end
return TRUE
end

 

<talkaction words="!buy30" event="script" value="buyvip.lua"/>
Link para o post
Compartilhar em outros sites
 

 

Sim isso mesmo que você falou, tem que ter uma talkaction 

tipo essa: 

 

 

local a = {
ITEM = {2145, 10}, -- ITEM, QUANTIDADE
}
function onSay(cid, words, param,channel)
if getPlayerItemCount(cid, a.ITEM[1]) >= a.ITEM[2] then
doPlayerAddItem(cid,1819,1)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recebeu um item vip!")
doSendMagicEffect(getCreaturePosition(cid), 28)
doPlayerRemoveItem(cid, a.ITEM[1], a.ITEM[2])
else
doSendMagicEffect(getCreaturePosition(cid), 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe mas você não tem Diamonds suficientes para ativar sua account vip.")
end
return TRUE
end

 

 

<talkaction words="!buy30" event="script" value="buyvip.lua"/>

 

Vaaleu mano, salvou !

 

Só uma dúvida, o que seria esse "doPlayerAddItem(cid,1819,1)" ??

eu teria que adicionar um item no meu server que quando usá-lo, adicionar a vip ??? e no caso o 1819 é o item ????

Editado por rafanasser (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

 

Vaaleu mano, salvou !

 

Só uma dúvida, o que seria esse "doPlayerAddItem(cid,1819,1)" ??

eu teria que adicionar um item no meu server que quando usá-lo, adicionar a vip ??? e no caso o 1819 é o item ????

 

Isso no meu servidor uso um item que dar 30 dias vips ^^

se quiser a action está ai: 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local name = getCreatureName(cid)
local days = 30 -- dias que serão adicionados
local strg = 33339 -- valor da sua storage
local strg_n = 12120 -- não precisa editar
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, strg)
local timenow = os.time()
 
 
    if getPlayerStorageValue(cid, strg) - os.time() <= 0 then
time = timenow + daysvalue
    else
time = storageplayer + daysvalue
    end
 
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
        setPlayerStorageValue(cid, strg, time)
local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60))
        doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
        doPlayerAddPremiumDays(cid, 30)
doRemoveItem(item.uid, 1)
    if getPlayerStorageValue(cid, strg_n) < 1  then
        setPlayerStorageValue(cid, strg_n, 1) 
addEvent(doRemoveCreature, 5000, cid)
    end
return TRUE
end
Link para o post
Compartilhar em outros sites
  • 1 year later...
Em 19/01/2015 ás 09:39, Wend Siilva disse:

Isso no meu servidor uso um item que dar 30 dias vips ^^

se quiser a action está ai: 

Spoiler


function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local name = getCreatureName(cid)
local days = 30 -- dias que serão adicionados
local strg = 33339 -- valor da sua storage
local strg_n = 12120 -- não precisa editar
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, strg)
local timenow = os.time()
 
 
    if getPlayerStorageValue(cid, strg) - os.time() <= 0 then
time = timenow + daysvalue
    else
time = storageplayer + daysvalue
    end
 
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
        setPlayerStorageValue(cid, strg, time)
local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60))
        doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
        doPlayerAddPremiumDays(cid, 30)
doRemoveItem(item.uid, 1)
    if getPlayerStorageValue(cid, strg_n) < 1  then
        setPlayerStorageValue(cid, strg_n, 1) 
addEvent(doRemoveCreature, 5000, cid)
    end
return TRUE
end

 

 

Olá amigo posso aproveitar e pedir uma ajuda tbm ? Então eu utilizo o mesmo sistema de shop otcliente com Diamonds eu queria vender pokes
como eu faria pra isso funcionar teria que criar uma box pra esse "x" poke ou teria um método mais fácil ? Obrigado desde já :3
Foi mals reviver o topico nao tinha visto desculpa mesmo :(

Editado por tetelkk
Desculpas... (veja o histórico de edições)
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