Ir para conteúdo

[Pedido] Script Para Quest De Skill


brunaum15

Posts Recomendados

Tipo do script:: actions

Protocolo (versão do Tibia): 8.6

 

Olá, eu gostaria de pedir para que se alguem tivesse ae um script que funcionasse ou fizessem um para mim! Um script para uma quest que desse skill para tal vocação, ao clicar em um baú. Ou se for mais facil um bau para cada vocação...

Por exemplo Druid, Sorcerer e Infernalist irao ganhar ML, Paladin ira ganhar Distance, Drunou ira ganhar Club, Knight ira ganhar Axe e Sword, Fighter ira ganhar fist.

Drunou ids 13 e 14

Infernalist Ids 15 e 16

Fighter ids 17 e 18

 

Valeu ae! ;D

Link para o comentário
Compartilhar em outros sites

Vai em data/actions/script, duplica um arquivo e nomeia para "skillQuest" sem as aspas e nele cole:

 

function onUse(cid, item, frompos, item2, topos)

local mlGain = 3 -- quantidade de ml que ira ganhar o player
local skillGain = 5 -- quantidade de skill que ira ganhar o player

if (getPlayerStorageValue(cid, 602032) < 1) then
   if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then
       doPlayerAddMagLevel(cid, mlGain)
       doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then
       doPlayerAddSkill(cid, 2, skillGain)
       doPlayerAddSkill(cid, 3, skillGain)
       doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then
       doPlayerAddSkill(cid, 4, skillGain)
       doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then
       doPlayerAddSkill(cid, 1, skillGain)
       doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end
   if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then
       doPlayerAddSkill(cid, 0, skillGain)
       doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
setPlayerStorageValue(cid, 602032, 1)
else
doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)
end

return TRUE
end

 

 

Agora em data/actions/actions.xml cole a tag:

<action actionid="2085" script="skillQuest.lua"/>

 

 

E por último com seu mapa editor, vai no baú desejado do seu server e coloque o actionid 2085.

Link para o comentário
Compartilhar em outros sites

Entaoo vey.. eu usei esse seu script direitin, mais eu clico no bau e soh aparece a mensagem "Voce ganhou tanto skills" mais o player nao ganha os skills.. =/

Alguem ae pode ajudar!?!?!?

 

 

Vai em data/actions/script, duplica um arquivo e nomeia para "skillQuest" sem as aspas e nele cole:

 

function onUse(cid, item, frompos, item2, topos)

local mlGain = 3 -- quantidade de ml que ira ganhar o player
local skillGain = 5 -- quantidade de skill que ira ganhar o player

if (getPlayerStorageValue(cid, 602032) < 1) then
if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then
	doPlayerAddMagLevel(cid, mlGain)
	doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then
	doPlayerAddSkill(cid, 2, skillGain)
	doPlayerAddSkill(cid, 3, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then
	doPlayerAddSkill(cid, 4, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then
	doPlayerAddSkill(cid, 1, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end
if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then
	doPlayerAddSkill(cid, 0, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
setPlayerStorageValue(cid, 602032, 1)
else
doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)
end

return TRUE
end

 

 

Agora em data/actions/actions.xml cole a tag:

<action actionid="2085" script="skillQuest.lua"/>

 

 

E por último com seu mapa editor, vai no baú desejado do seu server e coloque o actionid 2085.

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

Apareceu algum erro no executavel? tenta assim:

 

function doPlayerAddMagLevel(cid, amount)
   for i = 1, amount do
       doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic'))
   end
   return true
end  

function doPlayerAddSkill(cid, skill, amount, round)
   if(skill == SKILL__LEVEL) then
       return doPlayerAddLevel(cid, amount, round)
   elseif(skill == SKILL__MAGLEVEL) then
       return doPlayerAddMagLevel(cid, amount)
   end

   return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
end

function onUse(cid, item, frompos, item2, topos)

local mlGain = 3 -- quantidade de ml que ira ganhar o player
local skillGain = 5 -- quantidade de skill que ira ganhar o player

if (getPlayerStorageValue(cid, 602032) < 1) then
   if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then
    doPlayerAddMagLevel(cid, mlGain)
    doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then
    doPlayerAddSkill(cid, 2, skillGain)
    doPlayerAddSkill(cid, 3, skillGain)
    doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then
    doPlayerAddSkill(cid, 4, skillGain)
    doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
   if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then
    doPlayerAddSkill(cid, 1, skillGain)
    doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end
   if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then
    doPlayerAddSkill(cid, 0, skillGain)
    doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
   end    
setPlayerStorageValue(cid, 602032, 1)
else
doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)
end

return TRUE
end

Link para o comentário
Compartilhar em outros sites

cara tenta assim:

 

<action uniqueid="2085" script="skillQuest.lua"/>

 

 

Entaoo eu puis no meu script pra ganha 40 de ml os mage e os otros ganha 100 de skill!

Ai coloquei uniqueid como se falo ao inves de actionid e funfo o de ML mais upo soh 1 ml --" e os otros nao aconteceu nada!!

 

Alguem ajuda ae?? Plx

 

Apareceu algum erro no executavel? tenta assim:

 

function doPlayerAddMagLevel(cid, amount)
for i = 1, amount do
	doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic'))
end
return true
end  

function doPlayerAddSkill(cid, skill, amount, round)
if(skill == SKILL__LEVEL) then
	return doPlayerAddLevel(cid, amount, round)
elseif(skill == SKILL__MAGLEVEL) then
	return doPlayerAddMagLevel(cid, amount)
end

return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
end

function onUse(cid, item, frompos, item2, topos)

local mlGain = 3 -- quantidade de ml que ira ganhar o player
local skillGain = 5 -- quantidade de skill que ira ganhar o player

if (getPlayerStorageValue(cid, 602032) < 1) then
if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then
	doPlayerAddMagLevel(cid, mlGain)
	doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then
	doPlayerAddSkill(cid, 2, skillGain)
	doPlayerAddSkill(cid, 3, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then
	doPlayerAddSkill(cid, 4, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then
	doPlayerAddSkill(cid, 1, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end
if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then
	doPlayerAddSkill(cid, 0, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
setPlayerStorageValue(cid, 602032, 1)
else
doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)
end

return TRUE
end

 

MAIS NO XML EU PONHO COMO UNIQUEID OU ACTIONID? E NO BAU?

 

Apareceu algum erro no executavel? tenta assim:

 

function doPlayerAddMagLevel(cid, amount)
for i = 1, amount do
	doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic'))
end
return true
end  

function doPlayerAddSkill(cid, skill, amount, round)
if(skill == SKILL__LEVEL) then
	return doPlayerAddLevel(cid, amount, round)
elseif(skill == SKILL__MAGLEVEL) then
	return doPlayerAddMagLevel(cid, amount)
end

return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
end

function onUse(cid, item, frompos, item2, topos)

local mlGain = 3 -- quantidade de ml que ira ganhar o player
local skillGain = 5 -- quantidade de skill que ira ganhar o player

if (getPlayerStorageValue(cid, 602032) < 1) then
if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then
	doPlayerAddMagLevel(cid, mlGain)
	doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then
	doPlayerAddSkill(cid, 2, skillGain)
	doPlayerAddSkill(cid, 3, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then
	doPlayerAddSkill(cid, 4, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then
	doPlayerAddSkill(cid, 1, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end
if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then
	doPlayerAddSkill(cid, 0, skillGain)
	doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)
end	
setPlayerStorageValue(cid, 602032, 1)
else
doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)
end

return TRUE
end

 

Vey eu usei esse novo ae q vc mando, e continua a mesma coisa!! O ML dando só 1 para os mages (eu testei com um player ML 29 e passo alguns % nem chego a upa 1) e skill n upa nada!! =/

Nao da nenhum erro no executavel...

Link para o comentário
Compartilhar em outros sites

Testa esse

 

 

function onUse(cid, item, frompos, item2, topos)

 

local mlGain = 3 -- quantidade de ml que ira ganhar o player

local skillGain = 5 -- quantidade de skill que ira ganhar o player

 

if (getPlayerStorageValue(cid, 602032) < 1) then

if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 15 or getPlayerVocation(cid) == 16) then

doPlayerAddMagLevel(cid, mlGain)

doCreatureSay(cid,"Voce ganhou "..mlGain.." magic leveis!",TALKTYPE_ORANGE_1)

end

if (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) then

doPlayerAddSkill(cid, 2, skillGain)

doPlayerAddSkill(cid, 3, skillGain)

doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)

end

if (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) then

doPlayerAddSkill(cid, 4, skillGain)

doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)

end

if (getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14) then

doPlayerAddSkill(cid, 1, skillGain)

doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)

end

if (getPlayerVocation(cid) == 17 or getPlayerVocation(cid) == 18) then

doPlayerAddSkill(cid, 3, skillGain)

doCreatureSay(cid,"Voce ganhou "..skillGain.." skills!",TALKTYPE_ORANGE_1)

end

setPlayerStorageValue(cid, 602032, 1)

else

doCreatureSay(cid,"Voce ja fez esta quest.",TALKTYPE_ORANGE_1)

end

 

return TRUE

end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...