Ir para conteúdo
  • Cadastre-se

[Resolvido] [Help] sistema vip


Posts Recomendados

Estou com um problema enorme na parte de sistema vip pois nao estou conseguindo configura o Premium account do meu ot toda vez que eu falo (!buypremium) ele sempre remove dinheiro,mais estou querendo que sempre quando executa esse comando removesse (Vip Coin) ,vou posta logo abaixo a script do Premium account que estou usando que se encontra na pasta Mods que vem na maioria dos Ots.

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Buy premium command" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">
<config name="buypremium_config"><![CDATA[
config = {
days = 30,
cost = 10000,
maxDays = 360
}
]]></config>
<talkaction words="!buypremium; !pacc" event="buffer"><![CDATA[
domodlib('buypremium_config')
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
end
 
if(not doPlayerRemoveMoney(cid, config.cost)) 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
end
 
doPlayerAddPremiumDays(cid, config.days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
]]></talkaction>
</mod>
 

 

Bom esta ai se alguem poder me ajuda Estarei dando Rep++

 

FLW BJS

Julemar

Link para o post
Compartilhar em outros sites
  • Respostas 13
  • Created
  • Última resposta

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Posts

Então... Para isso você tera que modicar no seu mapa um determinado ACTIONID para os tiles onde os players FREE nao possam passar. Digamos que vc tenha colocado 3131.     Crie um arquivo chamado vip_tiles.lua e coloque dentro da pasta /movements/scripts/ apenas com isso dentro.   Em movementes.xml adiciona:       Nao tenho certeza que va funcionar, mas acredito que sim. Lembre-se, que tem que editar no mapa, e colocar o ACTIONID nos tiles...

Entao, eu modifiquei o script. Tenta agora denovo...     Estou criando os scripts na hora, estou sujeito a erros mesmo. rsrsrss Sem falar que ainda estou engatinhando tb. Se esse nao der, me diz que erro retorna no console.   Quanto aos dias vips, serão sim.

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Buy premium command" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">
<config name="buypremium_config"><![CDATA[
config = {
vipcoin = 1234, -- ID DA VIP COIN
days = 30,
cost = 10, -- QUANTIDADE DE VIP COIN
maxDays = 360 -- MAXIMO DE DIAS DE VIP QUE PODE SER COMPRADOS
}
]]></config>
<talkaction words="!buypremium; !pacc" event="buffer"><![CDATA[
domodlib('buypremium_config')
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
end
 

if(getPlayerItemCount(cid, config.vipcoin) > config.cost) then
doPlayerAddPremiumDays(cid, config.days)
doPlayerRemoveItem(cid, config.vipcoin, config.cost)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
else
doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
]]></talkaction>
</mod>

 

 
 
Tenta assim...

Se nao funcionar, modifico novamente.

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

Rep++ Se ajudei??? Bobagem!!!
Prefiro mil vezes um agradecimento gentil, com educação e sinceridade.
-------------------------------------------------------------------------------------------------------------------------


 

Link para o post
Compartilhar em outros sites

Tenta usar esse, vai em Talkaction/scripts cria buypremium.lua e cola isso dentro: 

 

local configs = {
diamond = 3031,  
ammount = 10,
prem_days = 30,
}

function onSay(cid, param)
if getPlayerItemCount(cid, configs.diamond) >= configs.ammount then

doPlayerRemoveItem(cid, configs.diamond, configs.ammount)
doPlayerAddPremDays(cid, configs.prem_days)
doPlayerSendTextMessage(cid, 27, "Voce comprou "..configs.prem_days.." dias de premium account.")
return true
else

doPlayerSendTextMessage(cid, 27, "Voce não tem "..configs.ammount.." "..getItemNameById(configs.diamond))
return true
end
return false
end

ID do Diamond

Preço/Quantidade de Diamonds a ser Retirada

Dias Premium

 

Talkaction.xml

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

eR3Xwgv.png?1
 

Link para o post
Compartilhar em outros sites

 

 
 
Tenta assim...

Se nao funcionar, modifico novamente.

 

 olha deu certo mano ,agora so falta o tile pra so o mlk tiver vip passa ,vc tem essa script?

 

Tenta usar esse, vai em Talkaction/scripts cria buypremium.lua e cola isso dentro: 

 

local configs = {

diamond = 3031,  

ammount = 10,

prem_days = 30,

}

function onSay(cid, param)

if getPlayerItemCount(cid, configs.diamond) >= configs.ammount then

doPlayerRemoveItem(cid, configs.diamond, configs.ammount)

doPlayerAddPremDays(cid, configs.prem_days)

doPlayerSendTextMessage(cid, 27, "Voce comprou "..configs.prem_days.." dias de premium account.")

return true

else

doPlayerSendTextMessage(cid, 27, "Voce não tem "..configs.ammount.." "..getItemNameById(configs.diamond))

return true

end

return false

end

ID do Diamond

Preço/Quantidade de Diamonds a ser Retirada

Dias Premium

 

Talkaction.xml

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

 

Principe a sua nao deu certo da erro na executavel

Link para o post
Compartilhar em outros sites

 olha deu certo mano ,agora so falta o tile pra so o mlk tiver vip passa ,vc tem essa script?

 

Principe a sua nao deu certo da erro na executavel

 

 

Então... Para isso você tera que modicar no seu mapa um determinado ACTIONID para os tiles onde os players FREE nao possam passar.

Digamos que vc tenha colocado 3131.

 

 

Crie um arquivo chamado vip_tiles.lua e coloque dentro da pasta /movements/scripts/

apenas com isso dentro.

 

 

vips = {}

vips.__index = vips

function vips.moveBack(cid, fromPosition, text)

    doTeleportThing(cid, fromPosition, TRUE)

    doPlayerSendCancel(cid, text)

end

function onStepIn(cid, item, position, fromPosition)

    if item.actionid == 3131 then

           if(getPlayerPremiumDays(cid) < 1) then

                vips.moveBack(cid, fromPosition, "apenas vips podem passar.")

            end

    end

end

 

 

 

Em movementes.xml adiciona:

 

<movevent type="StepIn" actionid="3131" event="script" value="vip_tiles.lua"/>

 

 

 

Nao tenho certeza que va funcionar, mas acredito que sim.

Lembre-se, que tem que editar no mapa, e colocar o ACTIONID nos tiles...

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

Rep++ Se ajudei??? Bobagem!!!
Prefiro mil vezes um agradecimento gentil, com educação e sinceridade.
-------------------------------------------------------------------------------------------------------------------------


 

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519605
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo