Ir para conteúdo
  • 0

[Resolvido] Pedidos Vip - Barco, Talkaction E Vocação


Leoxtibia

Pergunta

Aí galera, alguém poderia me ajudar com esses scripts? Procurei uns no fórum e tinham alguns problemas.

Informação: Ot 8.60

Vip System: Vip System By Account V 1.0 Kydrai

 

Pedido [barco VIP]: Gostaria de um Npc de Barco que teleportasse os players normalmente para as cidades Não Vips e teleportasse para a cidade Vip, somente players VIP. Encontrei aqui alguns tópicos que davam a ideia de por um tile que so o player vip passa, ou npcs separados, mas eu queria um npc que verificasse se o player é vip ou não e teleportasse para as cidades normais e para a vip.

 

Pedido [Talkaction]: Gostaria de uma talkaction que somente players Vip poderiam usar, assim que acabasse o tempo de vip, eles não poderiam mais utilizá-la. A talkaction é assim que o player usasse o comando ele comprasse 100 gmp/uhp...etc. Ele precisaria do dinheiro para isso e não precisaria de nenhum item, somente do dinheiro. Eu tenho um script que o Vodkart me respondeu em outro tópico, mas esse qualquer player pode usar...acho que no debaixo é só botar para somente VIP (não sei fazer kk)

 

function onSay(cid, words, param)
local potion = {
["gmp"] = {id = 7590,count = 100,price = 10000},
["uhp"] = {id = 8473,count = 100,price = 20000}
}
if not potion[param] then
doPlayerSendCancel(cid, "digite o nome certo !potion gmp ou uhp") return true
elseif not doPlayerRemoveMoney(cid, potion[param].price) then
doPlayerSendCancel(cid, "você precisa de "..potion[param].price.." gps para comprar.") return true
end
doPlayerAddItem(cid, potion[param].id, potion[param].count)
return true
end

 

Pedido Vocação: Assim que o player se tornar vip, sua vocação mudar. Quando acabar a vip, a vocação sair. Pode ser por um Npc pelo qual a vocação seria comprada, como uma segunda promotion. O script que encontrei aqui no fórum a vocação saia assim que deslogava ou nao funfava.

 

Se alguém puder ajudar... agradeço e Rep + Acho que vai ajudar muita gente.

Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

function onSay(cid, words, param)

local potion = {

["gmp"] = {id = 7590,count = 100,price = 10000},

["uhp"] = {id = 8473,count = 100,price = 20000}

}

if not potion[param] then

doPlayerSendCancel(cid, "digite o nome certo !potion gmp ou uhp") return true

elseif not doPlayerRemoveMoney(cid, potion[param].price) and isVip(cid) then

doPlayerSendCancel(cid, "você precisa de "..potion[param].price.." gps para comprar.") return true

end

doPlayerAddItem(cid, potion[param].id, potion[param].count)

return true

end

_____________________________

 

 

function onLogin(cid)

if isVip(cid) and isInArray({5,6,7,8},getPlayerVocation(cid)) then

doPlayerSetVocation(cid,getPlayerVocation(cid) + 4)

elseif not isVip(cid) and isInArray({9,10,11,12},getPlayerVocation(cid)) then

doPlayerSetVocation(cid,getPlayerVocation(cid) - 4)

return TRUE

end

end

 

 

a primeira não sei fazer..

 

by joaoz

Editado por Vilden
Link para o comentário
Compartilhar em outros sites

  • 0

Vilden, vlw por ajudar mas... a talkaction, qualquer player tá podendo usar e aparece o seguinte erro:

[23/04/2012 12:08:14] Error during getDataInt(viptime).

E sobre a vocação, tem como mandar a tag ai e se precisa registrar no login? Tentei aqui de um jeito e não entrava em nenhum char, ficava aparecendo esse erro de cima várias vezes. =S

Link para o comentário
Compartilhar em outros sites

  • 0

@UP

 

você executou o comando /installvip com o god, que vem com o sistema? se não executou, irá retornar esse erro mesmo.

 

---------------

 

barco vip:

 

npc/lib/npcsystem/modules.lua

 

procure por "function StdModule.travel"

 

e troque por está:

 

function StdModule.travel(cid, message, keywords, parameters, node)
local npcHandler = parameters.npcHandler
if(npcHandler == nil) then
error('StdModule.travel called without any npcHandler instance.')
end

if(not npcHandler:isFocused(cid)) then
return false
end

if(parameters.premium and not isPlayerPremiumCallback(cid)) then
npcHandler:say('I can only allow premium players to travel with me.', cid)
 elseif(parameters.vip ~= nil and isVip(cid) == FALSE) then
npcHandler:say('I can only allow vip players to travel with me!', cid)
elseif(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then
npcHandler:say('You must reach level ' .. parameters.level .. ' before I can let you go there.', cid)
elseif(parameters.storage ~= nil and getPlayerStorageValue(cid, parameters.storage) <= 0) then
npcHandler:say(parameters.storageInfo or 'You may not travel here.', cid)
elseif(not doPlayerRemoveMoney(cid, parameters.cost)) then
npcHandler:say('You do not have enough money!', cid)
elseif(isPlayerPzLocked(cid)) then
npcHandler:say('Get out of there with this blood.', cid)
else
doTeleportThing(cid, parameters.destination, 0)
doSendMagicEffect(parameters.destination, 10)
end

npcHandler:resetNpc()
return true
end

 

Agora na tag do npc você pode usar além de "premium = true" você poderá usar "vip = true"

 

exemplo:

travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, vip = true, premium = true, level = 0, cost = 100, destination = {x=160, y=54, z=7} })

Editado por SrNight
Link para o comentário
Compartilhar em outros sites

  • 0

Faz o que o cara disse, instala a vip.. /installvip mxm assim se não funcionar teste \/

function onLogin(cid)

if getVipDays(cid) >= 1 and isInArray({5,6,7,8},getPlayerVocation(cid)) then

doPlayerSetVocation(cid,getPlayerVocation(cid) + 4)

elseif not isVip(cid) and isInArray({9,10,11,12},getPlayerVocation(cid)) then

doPlayerSetVocation(cid,getPlayerVocation(cid) - 4)

return TRUE

end

end

Link para o comentário
Compartilhar em outros sites

  • 0

O sistema de vip já estava instalado. Quanto aos scripts vou testar, jaja edito.

 

@EDIT

 

O barco funcionou perfeitamente, vlw aí e Rep +... mas a vocação e a talkaction não funcionaram...Quando testo o script da vocação aparece no distro como o char entrando e logo depois saindo. Assim, não consigo entrar em nenhum char. Tem como mandar a tag do creature e se precisa registrar no login? Vlw ai..

Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...