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

<?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

aff nao funfo o que vc mando,eu passo pelo o tile e nao fala nada .

 

 

Mano aquela script do buypremium que vc modifico os dias vip vao ser descontados sera?

 

 

 

Bom como promote vo te da rep++

Link para o post
Compartilhar em outros sites

Entao, eu modifiquei o script. Tenta agora denovo...

 

 

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

 

 

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.

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

Tem mais uma coisa que percebi agora.

 

if(getPlayerItemCount(cid, config.vipcoin) > config.cost) then

 

Nessa linha do codigo de dias cips.

Altera para:

 

if(getPlayerItemCount(cid, config.vipcoin) >= config.cost) then

 

 

Senao só podera ser adicionado dias vips se ele tiver uma quantidade maior que o valor da VIP, logo adicionei o "=", pois assim, sera MAIOR ou IGUAL ao valor.

Att;

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


 

Link para o post
Compartilhar em outros sites

UHUUUUUUU tu é foda muleke auahuahau agora foi em.

 

 

Veio nao tem como se edita a script pra quando o player for premium ele passa pelo e apareci um mensagem dizendo Bem vindo a Area Donate.

 

Bom vo te da mais 1rep+

Link para o post
Compartilhar em outros sites

Blz ,antes tava dando um erro que nao te falei, que so dava pra compra se tivesse 11vip coins se vc tivesse 10nao dava,coloquei o que vc disse agora funfo sem erro.

Link para o post
Compartilhar em outros sites

UHUUUUUUU tu é foda muleke auahuahau agora foi em.

 

 

Veio nao tem como se edita a script pra quando o player for premium ele passa pelo e apareci um mensagem dizendo Bem vindo a Area Donate.

 

Bom vo te da mais 1rep+

 

 

Para isso é facil:

Basta fazer assim dai.....

 

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.")

             else

             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem vindo a area Donate ".. getCreatureName(cid) .."!.")           

            end

    end

end

 

 

 

Att...

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


 

Link para o post
Compartilhar em outros sites

aew maluko foi certin a bagaça é chique em auhauahauahau.

 

 

BJS Vlw

Link para o post
Compartilhar em outros sites

Denada... Disponha.

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo