Ir para conteúdo

Featured Replies

Postado

Bom dia pessoa,

 

estou com um script de !buypremium para mapa 8.6 global. Esse script tem o comando de adquirir premium time com money do próprio otserv.

Gostaria de mudar isso, para adquirir premium através de um click em um item e descontar esse item, ou então igual ao addonDoll

você pode até utilizar o comando, mas se tiver com o item ele descontará o item e não money em gold coins.

 

Por favor, preciso de ajuda. Já fiz varios testes e não consigo, pois não entendo muito de script.

 

Agradeço desde já.

 

local config = {
days = 30,
cost = 1000000,
maxDays = 360
}
 
function onSay(cid, words, param, channel)
if(getPlayerPremiumDays(cid) > config.maxDays) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
 
if(doPlayerRemoveMoney(cid, config.cost) ~= TRUE) then
doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
 
doPlayerAddPremiumDays(cid, config.days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
return TRUE
end
 

buypremium.lua

Resolvido por Wakon

Ir para solução
  • Respostas 5
  • Visualizações 425
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = { days = 30, maxDays = 360, removeItem = true -- Remover ao usar. [ True para remover / False para não remover!] }   function onUse(cid, item, fromPosition) if(getPlayerPremiumDays(cid)

Postado

Você irá ter que apagar essa talkaction e adicionar uma action.

local config = {
 days = 30,
 cost = 1000000,
 maxDays = 360
}
 
function onUse(cid, item, fromPosition)
 if(getPlayerPremiumDays(cid) > config.maxDays) then
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
  doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
  return TRUE
 end
 
 if(doPlayerRemoveMoney(cid, config.cost) ~= TRUE) then
  doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
  doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
  return TRUE
 end
 
 if (doPlayerRemoveItem(cid, item.itemid)) then
  doPlayerAddPremiumDays(cid, config.days)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
  return TRUE
 end
end

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

Postado
  • Autor

esse script ira funcionar com item, mas aquele cost la em cima de gold coin esse:

local config = {
days = 30,
cost = 1000000,
maxDays = 360

 

ainda precisa permanecer?

e se eu colocar em action que é função de item, preciso determinar um item pra ele, onde que eu coloco esse item, la em action mesmo? Exemplo:

 

<action itemid="11098" event="script" value="itempremium.lua"/>

 

esse numero 11098 é um item, pra ele funcionar preciso colocar como esse?

 

Obrigado desde já.

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

Postado
  • Autor

Boa noite, queria pedir ajuda novamente por favor.

 

Tirei do talkaction e adicionei uma action e coloquei esse script em action.

Criei uma pasta em acition e adicionei um item para esse script que esta a baixo.

 

local config = {

days = 30,
cost = 1000000,
maxDays = 360
}
 
function onUse(cid, item, fromPosition)
if(getPlayerPremiumDays(cid) > config.maxDays) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
 
if(doPlayerRemoveMoney(cid, config.cost) ~= TRUE) then
doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return TRUE
end
 
if (doPlayerRemoveItem(cid, item.itemid)) then
doPlayerAddPremiumDays(cid, config.days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
return TRUE
end
end

 

 

esse script ta pra descontar dinheiro, eu so queria que removesse o item do inventario do player ao ser usado.

 

Tentei usar  o item, e descontou apenas o dinheiro, não deu premium ao dar "use" no item e também não sumiu o item.

 

Podem me ajudar por favor.

 

Obrigado.

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

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo