Ir para conteúdo
  • 0

Promotion Vip (Epic)


ThiagoADM

Pergunta

Olá XTibianos, esse é o meu primeiro tópico, desculpe se estiver no local errado.

 

Bem, venho trazendo uma duvida que tenho.

É o seguinte, eu uso o Perfect Vip system 2.0 criado pelo Vodkart em meu servidor.

Link do Perfect Vip system 2.0 ( http://www.xtibia.com/forum/topic/133661-moveevent-action-perfect-vip-system-16/ )

A minha duvida é em relação a vocação vip.

No meu Servidor, possuo uma área onde somente os players VIPs podem acessar, e nessa área há um NPC promoter que promove os player para

uma segunda vocação, que no meu caso é a Epic.

Quando um player compra essa vocação na area vip, ele se tornará por exemplo, um epic master sorcerer.

Bom, até aqui está tudo certo, agora vem a minha grande dúvida:

Eu Gostaria de um script que fizesse com que quando a VIP Time desse player acabasse, ele voltaria a ser somente Master Sorcerer, e que quando

esse player adiquirir novamente uma VIP Time, ele voltará AUTOMATICAMENTE a ser epic master sorcerer.

 

Segue abaixo os IDS das vocações:

 

ID 5 -> Master sorcerer (Epic master sorcerer ID 9 )

ID 6 -> Elder druid (Epic elder druid ID 10 )

ID 7 -> Royal paladin (Epic royal paladin ID 11 )

ID 8 -> Elite Knight ( Epic elite Knight ID 12 )

 

Se Alguem com conhecimentos em scripts pudesse me ajudar, eu agradeceria muito.

 

OBS 2: Uso o Alissow OTS 4.11

Versão do Tibia: 8.60

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Eai, no arquivo creaturescripts/scripts/login.lua, antes do return coloque isso:

if getPlayerStorageValue(cid, 13540) > os.time() then
if getPlayerStorageValue(cid, 122131) == 1 and isInArray({ 5, 6, 7, 8 }, getPlayerVocation(cid)) then
	doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
end
else
if isInArray({ 9, 10, 11, 12 }, getPlayerVocation(cid)) then
	doPlayerSetVocation(cid, getPlayerVocation(cid)-4)
end
end

Eu fiz assim, quando fala com o npc ganha uma storage no script de exemplo 122131, ou seja, se ele ja comprou a promotion ele tem a storage, se não comprou não tem. No login, ele verifica se é vip, se for ele verifica se ele tem a storage e se a vocação estar errada ele corrige. E se o player não for vip, a vocação é corrigida.

Bom é isso, qualquer dúvida só pedir :P:

Link para o comentário
Compartilhar em outros sites

  • 0

Eai, no arquivo creaturescripts/scripts/login.lua, antes do return coloque isso:

if getPlayerStorageValue(cid, 13540) > os.time() then
if getPlayerStorageValue(cid, 122131) == 1 and isInArray({ 5, 6, 7, 8 }, getPlayerVocation(cid)) then
	doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
end
else
if isInArray({ 9, 10, 11, 12 }, getPlayerVocation(cid)) then
	doPlayerSetVocation(cid, getPlayerVocation(cid)-4)
end
end

Eu fiz assim, quando fala com o npc ganha uma storage no script de exemplo 122131, ou seja, se ele ja comprou a promotion ele tem a storage, se não comprou não tem. No login, ele verifica se é vip, se for ele verifica se ele tem a storage e se a vocação estar errada ele corrige. E se o player não for vip, a vocação é corrigida.

Bom é isso, qualquer dúvida só pedir :P:

 

Beleza, vou tentar aqui, jaja te mando a resposta

 

EDIT: Funciono aqui Digaao! obrigado! REP+

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

  • 0

uma Duvida minha ! esses systema de remover a vocação quando não é vip também funciona nos servidores Ex: Baiak ?

onde tu compra a vip com !buyvip ... póis acho que o sistema do meu baik não é viptime

 

Se poder ajudar agradeço . vale o +REP (:

Link para o comentário
Compartilhar em outros sites

  • 0

@Exivinha

Não. Só funciona se as storages do seu sistema for a mesma que a utilizada pelo sistema do autor do tópico. Mas é fácil adaptar ao seu vip system.

No caso do autor do tópico, a storage que indica se é ou não vip é a 13540.

Substitua essa storage pela qual é utilizada no seu servidor

if getPlayerStorageValue(cid, 13540) > os.time() then

 

 

Abraços.

A propósito, movido para sanadas.

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

  • 0

uso esse escript aki

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}

local days = 1 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end

doPlayerSetVocation(cid, getPlayerVocation(cid) +4)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end

return TRUE
end

 

 

uso essa função "" doPlayerSetVocation(cid, getPlayerVocation(cid) +4) "" pra dar as voções 9,10,11,12

da certo o cara usa o item vira vip ganha a vocação ai ele desloga e loga o char denovo e a voção epic sai e volta a ser master

 

eu acredito que falte algum escript de checagem no creaturescript ou no login.lua

 

pode me ajudar

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...