Toda Hora Que Um Player Morre Ele Muda De Vocação Automaticamente!

waguiin
em Lixeira Pública

waguiin

Xsallez
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/01/11Posts: 0Char no Tibia: Paladzinha

Bom no meu otserv e um seguinte acontece o seguinte problema ,eu crie 4 vocaçoes vip :D

com npc de segunda promotion . mas só que quando o player que possui a segunda promotion morre ele muda de vocação sozinho , por exemplo sou EK(VIP) , se eu morre passo pra MS , sozim automaticamente tem como arrumar essa bagunça?

espero que me ajudem ...

Meu servidor e mysql , 8.60 , mapa alissow .totalmente reformulado,mexo a 2 anos com otserv!

 

Vo postar aque tudo oque eu uso pra facilitar a voces para poderem me ajudarem!

 

 

 

data/xml/vocations;

<?xml version="1.0" encoding="UTF-8"?>
<vocations>
<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="4.0" attackspeed="2100" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="1">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="2">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="30" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.4" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="3">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="30" gainmanaticks="2" gainmanaamount="20" manamultiplier="3.0" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="4">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="40" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="40" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="50" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.4" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="60" gainmanaticks="2" gainmanaamount="40" manamultiplier="3.0" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.1" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="9" name="Master Sorcerer Vip" description="a master sorcerer (Vip)" needpremium="1" gaincap="10" gainhp="10" gainmana="50" gainhpticks="1" gainhpamount="80" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="10" name="Elder Druid Vip" description="a elder druid (Vip)" needpremium="1" gaincap="10" gainhp="10" gainmana="50" gainhpticks="1" gainhpamount="80" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="11" name="Royal Paladin Vip" description="a royal paladin (Vip)" needpremium="1" gaincap="20" gainhp="20" gainmana="25" gainhpticks="1" gainhpamount="100" gainmanaticks="2" gainmanaamount="100" manamultiplier="1.4" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="12" name="Elite Knight Vip" description="a elite knight (Vip)" needpremium="1" gaincap="25" gainhp="30" gainmana="10" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="80" manamultiplier="3.0" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="9" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="13" name="Elite Kitranda" description="a Kitranda (Vip)" needpremium="1" gaincap="10" gainhp="20" gainmana="20" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="80" manamultiplier="3.0" attackspeed="550" soulmax="200" gainsoulticks="15" fromvoc="10" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="2.0" club="1.2" sword="1.6" axe="1.5" distance="1.5" shielding="1.3" fishing="1.1" experience="1.0"/>
</vocation>

<vocation id="14" name="Supreme Kitranda" description="a Supreme Kitranda (Vip)" needpremium="1" gaincap="15" gainhp="30" gainmana="30" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="60" manamultiplier="3.0" attackspeed="550" soulmax="200" gainsoulticks="15" fromvoc="10" lessloss="50">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="2.0" club="1.1" sword="1.5" axe="1.6" distance="1.5" shielding="1.3" fishing="1.1" experience="1.0"/>
</vocation>
</vocations>

 

 

bom ta ae , agora npc que ativa a vocação;

 

<?xml version="1.0"?>
<npc name="King Arthas III" script="data/npc/scripts/alissow.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. voce quer uma {promote} para ficar mais forte!" />
</parameters>
</npc>

 

Agora o script do npc que ativa a vocação;

local keywordHandler = KeywordHandler:new()  
local npcHandler = NpcHandler:new(keywordHandler)  
NpcSystem.parseParameters(npcHandler)  
local talkState = {}  

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end  
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end  
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end  
function onThink() npcHandler:onThink() end  

function creatureSayCallback(cid, type, msg)  
if(not npcHandler:isFocused(cid)) then  
return false  
end  

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid  



local vocations = {
[5]= {new_voc = 9,price = 50000,cobrar = true,level = 50,need_level = true}, -- voc 5 para 9
[6]= {new_voc = 10,price = 50000,cobrar = true,level = 50,need_level = true}, -- voc 6 para 10
[7]= {new_voc = 11,price = 50000,cobrar = true,level = 50,need_level = true}, -- voc 7 para 11
[8]= {new_voc = 12,price = 50000,cobrar = true,level = 50,need_level = true}, -- voc 8 para 12
[13]= {new_voc = 14,price = 100000,cobrar = true,level = 60,need_level = true} -- voc 13 para 14
}


local voc = vocations[getPlayerVocation(cid)]

if(msgcontains(msg, 'promote') or msgcontains(msg, 'promotion')) then
if(not voc) then
selfSay('Desculpe,Você deve ter a primeira promotion para falar comigo', cid)
talkState[talkUser] = 0
else    
selfSay('Você deseja ser promovido para 2° promotion? {yes} ', cid)   
talkState[talkUser] = 1    
end

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
if voc.need_level == true and getPlayerLevel(cid) < voc.level then
selfSay('Desculpe,Você não tem level ' .. voc.level .. ' ou mais para ser promovido', cid)  
talkState[talkUser] = 0
else 
if voc.cobrar == true and doPlayerRemoveMoney(cid, voc.price) == FALSE then
selfSay('Desculpe,Você não tem ' .. voc.price .. ' gps para ser promovido', cid)  
talkState[talkUser] = 0
else
doPlayerSetVocation(cid,voc.new_voc)   
selfSay('Parabens,Você Foi promovido para ' .. getVocationInfo(getPlayerVocation(cid)).name .. ' promotion', cid) 
talkState[talkUser] = 0
end
end

elseif msg == "no" and talkState[talkUser] >= 1 then   
selfSay("ok, fale dinovo mais tarde", cid)   
talkState[talkUser] = 0    
npcHandler:releaseFocus(cid)   
end 

return TRUE   
end   

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)   
npcHandler:addModule(FocusModule:new())

 

 

Bom ta ae postei com clareza tudo certinho espero que tire minha duvida !

 

servidor ;mysql protocolo ;8.60 ;experiencia 2 anos !

:XTibia_smile:

Aguardando.......................................

GoD_RaFkS

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/10/06Posts: 33Char no Tibia: Tubino

Pois é. Estou com o mesmo problema! e pelo que vejo, é um problema bastante comum...

 

 

 

Se alguém souber, por favor ajude! Estou precisando muito arrumar esse bug pro meu OT ser aberto de uma vez!

 

 

 

 

 

Agradeço desde já.

você quer? você pode!

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

vocations.xml

 

<?xml version="1.0" encoding="UTF-8"?> 
<vocations> 
<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="4.0" attackspeed="2100" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="1"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="20" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="2"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="30" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.4" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="3"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="30" gainmanaticks="2" gainmanaamount="20" manamultiplier="3.0" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="4"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="40" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="40" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="50" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.4" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="60" gainmanaticks="2" gainmanaamount="40" manamultiplier="3.0" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.1" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="9" name="Master Sorcerer Vip" description="a master sorcerer (Vip)" needpremium="1" gaincap="10" gainhp="10" gainmana="50" gainhpticks="1" gainhpamount="80" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="10" name="Elder Druid Vip" description="a elder druid (Vip)" needpremium="1" gaincap="10" gainhp="10" gainmana="50" gainhpticks="1" gainhpamount="80" gainmanaticks="2" gainmanaamount="120" manamultiplier="1.1" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="11" name="Royal Paladin Vip" description="a royal paladin (Vip)" needpremium="1" gaincap="20" gainhp="20" gainmana="25" gainhpticks="1" gainhpamount="100" gainmanaticks="2" gainmanaamount="100" manamultiplier="1.4" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="12" name="Elite Knight Vip" description="a elite knight (Vip)" needpremium="1" gaincap="25" gainhp="30" gainmana="10" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="80" manamultiplier="3.0" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="13" name="Elite Kitranda" description="a Kitranda (Vip)" needpremium="1" gaincap="10" gainhp="20" gainmana="20" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="80" manamultiplier="3.0" attackspeed="550" soulmax="200" gainsoulticks="15" fromvoc="12" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="2.0" club="1.2" sword="1.6" axe="1.5" distance="1.5" shielding="1.3" fishing="1.1" experience="1.0"/> 
</vocation> 

<vocation id="14" name="Supreme Kitranda" description="a Supreme Kitranda (Vip)" needpremium="1" gaincap="15" gainhp="30" gainmana="30" gainhpticks="1" gainhpamount="120" gainmanaticks="2" gainmanaamount="60" manamultiplier="3.0" attackspeed="550" soulmax="200" gainsoulticks="15" fromvoc="13" lessloss="50"> 
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> 
<skill fist="2.0" club="1.1" sword="1.5" axe="1.6" distance="1.5" shielding="1.3" fishing="1.1" experience="1.0"/> 
</vocation> 
</vocations>

 

 

script do npc: alissow.lua

 

local keywordHandler = KeywordHandler:new()   
local npcHandler = NpcHandler:new(keywordHandler)   
NpcSystem.parseParameters(npcHandler)   
local talkState = {}   

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end   
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end   
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end   
function onThink() npcHandler:onThink() end   

function creatureSayCallback(cid, type, msg)   
if(not npcHandler:isFocused(cid)) then   
 return false   
end   

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

if(msgcontains(msg, 'promote') or msgcontains(msg, 'promotion')) then 
 if not isInArray({5,6,7,8,13}, getPlayerVocation(cid)) then 
  selfSay('Desculpe,Você deve ter a primeira promotion para falar comigo', cid) 
  talkState[talkUser] = 0 
 else     
  selfSay('Você deseja ser promovido para 2° promotion? {yes} ', cid)    
  talkState[talkUser] = 1     
 end
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then 
 if isInArray({5,6,7,8}, getPlayerVocation(cid)) then
  if getPlayerLevel(cid) < 50 then 
   selfSay('Desculpe,Você não tem level 50 ou mais para ser promovido', cid)   
   talkState[talkUser] = 0 
  else  
   if doPlayerRemoveMoney(cid, 50000) == FALSE then 
    selfSay('Desculpe,Você não tem 50000 gps para ser promovido', cid)   
    talkState[talkUser] = 0 
   else 
    doPlayerSetPromotionLevel(cid, 2)
    doPlayerSave(cid, true)
    selfSay('Parabens,Você Foi promovido para ' .. getVocationInfo(getPlayerVocation(cid)).name .. ' promotion', cid)  
    talkState[talkUser] = 0 
   end 
  end
 elseif getPlayerVocation(cid) == 13 then
  if getPlayerLevel(cid) < 60 then 
   selfSay('Desculpe,Você não tem level 60 ou mais para ser promovido', cid)   
   talkState[talkUser] = 0 
  else  
   if doPlayerRemoveMoney(cid, 100000) == FALSE then 
    selfSay('Desculpe,Você não tem 100000 gps para ser promovido', cid)   
    talkState[talkUser] = 0 
   else 
    doPlayerSetPromotionLevel(cid, 4)
    doPlayerSave(cid, true)
    selfSay('Parabens,Você Foi promovido para ' .. getVocationInfo(getPlayerVocation(cid)).name .. ' promotion', cid)  
    talkState[talkUser] = 0 
   end 
  end 
 end
elseif msg == "no" and talkState[talkUser] >= 1 then    
 selfSay("ok, fale dinovo mais tarde", cid)    
 talkState[talkUser] = 0     
 npcHandler:releaseFocus(cid)    
end  

return TRUE    
end    

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)    
npcHandler:addModule(FocusModule:new())

 

 

É bom ver que ainda há pessoas interessadas em Open Tibia e não Pokémon.

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.

GoD_RaFkS

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/10/06Posts: 33Char no Tibia: Tubino

@Eskylo

 

Cara, você sanou um problema que eu vinha tendo a muito tempo!

É ótimo saber que tem gente tão disposta a ajudar os outros em um fansite. Muito obrigado!

 

REP+! :button_ok:

você quer? você pode!

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gênero: Masculino

@Eskylo

 

Cara, você sanou um problema que eu vinha tendo a muito tempo!

É ótimo saber que tem gente tão disposta a ajudar os outros em um fansite. Muito obrigado!

 

REP+! :button_ok:

^^

Normalmente as pessoas com menos conhecimento, fazem esse script usando a seguinte função:

doPlayerSetVocation(cid, newvoc)

essa função é só pra mudar o player de pala pra kina, por exemplo.

O certo é usar a função:

doPlayerSetPromotionLevel(cid, newplvl)

Mas pra essa função funcionar, é necessário no vocations.xml, a segunda promotion tem que ser ali no "fromvoc" o id da vocação da 1ª promotion.

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.