LO
pedido

Ajuda No Vip System Kidray

Por lorenzoh20, 01 de ago. de 2012 em Scripts

vip system kydrai
kidray
vip
otserv
tibia
13
2.4k
lorenzoh20L
01 de agosto de 2012 às 19:10

Ae galera, eu uso ot mysql, com site, 8.6 e quero fazer um pedido, meu ot está usando a vip system do kidray, http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/ ,

e eu gostaria de retirar o comando /buyvip dele para ficar apenas no npc e ainda adicionar promote junto a vip e acabar promote junto a vip.

 

Valeu ae desde já, e se preciso eu mando meus arquivos ( vocations.xml, etc )

 

+Rep ae pra quem ajudar (:

WarW0lfW
01 de agosto de 2012 às 19:19

Para tirar /buyvip vai em data/talkactions/talkactions.xml e remova a linha que está o comando /buyvip. Vou procurar e já posto o vocations pra voce.

lorenzoh20L
01 de agosto de 2012 às 19:23

ae cara, caso eu apague a linha do buyvip, vou desabilitar apenas o /buyvip ou todos os comandos ? vlw.

 

<talkaction words="/buyvip;/vipdays" event="script" value="vipaccplayer.lua"/>

 

apago o -- /buyvip; -- ?

Editado Agosto 1 por lorenzoh20

WarW0lfW
01 de agosto de 2012 às 19:24

Somente o /buyvip :)

RaidouR
01 de agosto de 2012 às 19:26

ae cara, caso eu apague a linha do buyvip, vou desabilitar apenas o /buyvip ou todos os comandos ? vlw.

 

Nao so vai deletar o /buyvip.Mais lembre-se faça sempre um backup antes de fazer alguma coisa em seu serv.

WarW0lfW
01 de agosto de 2012 às 19:27

Se voce quer deixar o /vipdays para os players verem os dias que tem troque a linha por essa:

 

<talkaction words="/vipdays" event="script" value="vipaccplayer.lua"/>
lorenzoh20L
01 de agosto de 2012 às 19:28

a tudo bem , agora só falta o promote xD

Editado Agosto 1 por lorenzoh20

WarW0lfW
01 de agosto de 2012 às 19:36

Vai em data/creaturescripts/login.lua e antes do return TRUE coloca isso:

 

if getPlayerStorageValue(cid,isVip)- os.time()<=0and(isInArray({5,6,7,8}, getPlayerVocation(cid)))then-- id das voc promotion

doPlayerSetVocation(cid,getPlayerVocation(cid)-4) -- aqui ele vai perde promotion

elseif getPlayerStorageValue(cid, isVip) - os.time() >= 1 and (isInArray({1, 2, 3, 4}, getPlayerVocation(cid))) then

doPlayerSetVocation(cid,getPlayerVocation(cid)+4) -- aqui ele ganha promotion

end

 

Só precisa editar as vocações :)

 

Criando Vocação:

 

Vai em data/xml/vocations.xml e coloque isto no final:

 

<vocation id="" name="" description="" gaincap="" gainhp="" gainmana="" gainhpticks="" gainhpamount="" gainmanaticks="" gainmanaamount="" gainsoulticks="" gainsoulamount="" manamultiplier="" attackspeed="" prevoc="" basespeed="">

<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/>

<formula damage="1.2" defense="1.1" armor="1.1"/>

<skill id="0" multiplier="1.1"/>

<skill id="1" multiplier="1.1"/>

<skill id="2" multiplier="1.1"/>

<skill id="3" multiplier="1.1"/>

<skill id="4" multiplier="1.4"/>

<skill id="5" multiplier="1.1"/>

<skill id="6" multiplier="1.1"/>

</vocation>

 

Coloque um para cada vocação criada.

 

Explicação:

 

vocation id="" ID da Vocação No Caso va até a ultima Vocação que esta em VOcation.xml no meu é 8 então vai ser Vocation id 9

name="" Nome da Vocação a Maioria é Baseado pelo nome do OT exemplo Skull OT , nome da Vocação Skull Tion

description="" Descrição da Vocação é a mesma coisa da ai cima nome do Ot é SKull Ot , o nome da vocação é Skull Tion o nome da Descruição é Skull Tions da Luz...

gaincap="" Quando voçê upa de LV vai aumentar a capacidade, tipo se vc colocar 50 vai aumentar 50 de capacidade quando alguem upar de lv que tiver esta Vocação

gainhp="" Quando voçê upa de LV vai aumentar seu HP, Tipo se vc colocar 50 vai aumentar 50 de HP quando alguem upar de lv que tiver esta vocação...

gainmana="" Mesma Coisa de Cima

gainhpticks="" O seu HP vai se Regenerar em Quandos numeros colocar se vc coloca 2 vai ser 2 segundos que o HP vai se Regenerar

gainhpamount="" Esse é o HP que vai aumentar em quantos segundo colocou ali emcima... Exemplos em 2 em 2 segundos vai Regenerar 5 de HP

gainmanaticks="" A sua Mana vai se Regenerar em Quandos numeros colocar se vc coloca 2 vai ser 2 segundos que a Mana vai se Regenerar

gainmanaamount="" Essa é a Mana que vai aumentar em quantos segundo colocou ali emcima... Exemplos em 2 em 2 segundos vai Regenerar 5 de Mana

gainsoulticks="" Esse é o Soul é Tipo Stamina, Quando vc usa uma Runa gasta stamina eu aconselho deixa em gainsoulticks 1

gainsoulamount="" Aqui deixe 100, Sò em Tibia RL que tem isso mais eu acho que ne otserv não tem então deixe como eu falei

manamultiplier="" Tipo se essa Vocação, For ser meio mago vc coloca 1.1 se for ser meio paladin coloca 2.3 se for ser kina coloca 3.4...

attackspeed="" Esse é o Famoso Ataque Speed, Quanto menos numero sera o Atk mais rapido tipo 50 é rapidisimo 10 pioro vc nem ve os atks de tão rapido que é...

prevoc="" Pré Vocação , O ID da Vocação é 9, adicione o Numero da Vocação anterior no caso é None que é Rooker então Coloca 0, Mais Se vc for fazer outra vocação Tipo o nome da Vocação que eu dei de Exemplo é Skull Tion ae vc faz outra vocação Master Skull Tion " que é " Promotion " no prevoc dela coloque o ID 9 que é da Vocação do Skull Tion... Ok " Aprendi com TPROCHEIRA... Vlw...

basespeed="" Deixe 220

<diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/><formula damage="1.2" defense="1.1" armor="1.1"/> Não Mexaa !! Não sei Mexer Nisto

 

<skill id="0" multiplier="1.1"/> - Fist - Ninguem Treina isto então coloca 5.1

<skill id="1" multiplier="1.1"/> - Sword - Se for Knight deixe 1.1 se for Mago deixa 2.0 se for Paladin deixa 2.0 Tambem

<skill id="2" multiplier="1.1"/> - Club - Se for Knight deixe 1.1 se for Mago deixa 2.0 se for Paladin deixa 2.0 Tambem

<skill id="3" multiplier="1.1"/> - Axe - Se for Knight deixe 1.1 se for Mago deixa 2.0 se for Paladin deixa 2.0 Tambem

<skill id="4" multiplier="1.4"/> - Shilding - Se For Knight deixa 1.2 se for Mago deixa 1.4 se for Paladin deixa 1.3

<skill id="5" multiplier="1.1"/> - Distance - Se for knight deixa 5.0 se for Mago deixa 2.0 se For Paladin deixa 1.1

<skill id="6" multiplier="1.1"/> - fishing - Deixa 1.1

 

Não esquece do REP+ :)

lorenzoh20L
01 de agosto de 2012 às 20:49

mano, já tenho as vocations, o id delas é 9,10,11 e 12.. fala ai direitinho como eu vou coloca esse script

 

if getPlayerStorageValue(cid,isVip)- os.time()<=0and(isInArray({5,6,7,8}, getPlayerVocation(cid)))then-- id das voc promotion
doPlayerSetVocation(cid,getPlayerVocation(cid)-4) -- aqui ele vai perde promotion
elseif getPlayerStorageValue(cid, isVip) - os.time() >= 1 and (isInArray({1, 2, 3, 4}, getPlayerVocation(cid))) then
doPlayerSetVocation(cid,getPlayerVocation(cid)+4) -- aqui ele ganha promotion
end

WarW0lfW
01 de agosto de 2012 às 20:51

Troca

 

(isInArray({5,6,7,8}

 

por (isInArray({9,10,11,12}

lorenzoh20L
01 de agosto de 2012 às 21:25

cara n ta dando, ainda buga e os char inves de nascer master sorc lder druid nasce sorc e druid :/ ta bugando meu login,

 

segue meu login edita ele e me passa de acordo para funcionar , vlw.

 

local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
function onLogin(cid)
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
 doPlayerAddBlessing(cid, 1)
 doPlayerAddBlessing(cid, 2)
 doPlayerAddBlessing(cid, 3)
 doPlayerAddBlessing(cid, 4)
 doPlayerAddBlessing(cid, 5)
 doPlayerAddPremiumDays(cid, 2)
 doPlayerSetPromotionLevel(cid, 1)
end
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
 local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
 if(lastLogin > 0) then
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
  str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
 else
  str = str .. " Please choose your outfit."
  doPlayerSendOutfitWindow(cid)
 end
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
if(not isPlayerGhost(cid)) then
 doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
 registerCreatureEvent(cid, "kill")
 registerCreatureEvent(cid, "onPrepareDeath")
 registerCreatureEvent(cid, "PlayerLogout")
 registerCreatureEvent(cid, "onPrepareDeath")
 registerCreatureEvent(cid, "deathBroadcast")
 registerCreatureEvent(cid, "DeathBroadcast")
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
 registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "ReportBug")
if getPlayerStorageValue(cid, 878975) ~= -1 then
doPlayerSetVocation(cid, getPlayerStorageValue(cid, 878975))
end
return true
end

WarW0lfW
01 de agosto de 2012 às 21:31

Para nascer master sorc e elder druid, só mexendo no distro, o normal é nascer druid e sorc mesmo.

lorenzoh20L
01 de agosto de 2012 às 21:35

mano, edita o login.lua ai pra mim com o código porque o meu não tá dando please.