15
pedido

Ganhar item em tal level

Por 1579091, 04 de jan. de 2013 em Scripts

resolvido
script
12
967
15790911
04 de janeiro de 2013 às 21:21

Gostaria de um script que funcionasse da seguinte maneira:

 

Quando o player atingisse level 65 dependendo da vocação dele ele ganhasse itens e receberia uma mensagem:

 

Vocação | Level | Rewards

Knight | 50 | 7588 / 2392

Knight | 80 | 7591

Knight | 130 | 8473

_________________________________________________

Paladin | 50 | 7589 / 7588

Paladin | 80 | 8472

________________________________________________

Druid / Sorc | 50 | 7589 / 2268

Druid / Sorc | 80 | 7590

_____________________________________

 

Gostaria que saisse um efeito no jogador a cada recompensa que ele ganhasse.. De preferencia o effect 49.

OneshotO
04 de janeiro de 2013 às 22:23

Utilize a barra de Pesquisar do fórum, ela não morde e não vai explodir seu PC:

 

rrNpG.jpg

 

Veja algumas ocorrências de dúvidas iguais a suas e que foram sanadas.

 

http://www.xtibia.com/forum/topic/169685-pedido-player-chegar-a-tal-level-e-ganhar-item-por-vocacao/

http://www.xtibia.com/forum/topic/184031-premio-por-level-e-vocacao/

 

Abraços.

15790911
04 de janeiro de 2013 às 23:12

Po, se pudia manda o script ja editado pra eu neh?

 

q tipow... n manjo mto de edita o script :p

StackMinuteS
05 de janeiro de 2013 às 00:09

Apenas fiz para lvl 65 :)

Tó:

 

local vocationsItem = {
[1] = 7589,2226 -- sorcerer
[2] = 7589,2226 -- druid
[3] = 7589,7588 -- paladin
[4] = 7588,2392 -- knight
}
local lvlGain = 65 -- lvl para ganhar
function onAdvance(cid, skill, oldLevel, newLevel)
if (getPlayerLevel(cid) == lvlGain and getPlayerStorageValue(cid, 403245) ~= 1) then
doPlayerAddItem(cid, vocationsItem[getPlayerVocation(cid)])
doSendMagicEffect(getThingPos(cid),49)
setPlayerStorageValue(cid, 403245, 1)
doSendAnimatedText(getThingPos(cid), "Configure a msg , 20)
end
return true
end

 

#Legenda

 

[1] Id da vocation

=7598 - Id do item

doPlayerAddItem(cid, vocationsItem[getPlayerVocation(cid)]

,1)

Oque tá em quote é a quantidade

 

Erro meu , confundi os script's aqui --'

Editado Janeiro 5 por StackMinute

SlicerS
05 de janeiro de 2013 às 00:11

/\

provavelmente n vai funcionar o.O

HesLifeH
05 de janeiro de 2013 às 00:13

^

Não mesmo pq ele é nub

 

Stack acho que ele queria que ganhasse no 50 e no 80.

e falto efeito e mensagem;

Editado Janeiro 5 por HesLife

15790911
05 de janeiro de 2013 às 00:17

/\

provavelmente n vai funcionar o.O

 

bola um aí pra mim :p

 

( na base desse ake: http://www.xtibia.co...em-por-vocacao/)

OneshotO
05 de janeiro de 2013 às 00:45

Toma aí, cara.

 

local config = {
   [1] = {
       [50] = {7589, 2268},
       [80] = {7590}
   },
   [2] = {
       [50] = {7589, 2268},
       [80] = {7590}
   },
   [3] = {
       [50] = {7589, 7588},
       [80] = {8472}
   },
   [4] = {
       [50] = {7588, 2392},
       [80] = {7591},
       [130] = {8473}
   }
}

function onAdvance(cid, skill, oldLevel, newLevel)
   if(skill == SKILL__LEVEL) then
       if(not config[getPlayerVocation(cid)]) then
           return true
       end

       local tmp = config[getPlayerVocation(cid)]
       if(not tmp[newLevel]) then
           return true
       end

       for _, v in ipairs(tmp[newLevel]) do
           doPlayerAddItem(cid, v, 1)
       end
   end
   return true
end

 

Mas, na boa, você é um leecher do cacete, hein? Espera tudo cair do céu.

 

Abraços.

15790911
05 de janeiro de 2013 às 00:46

Te amo :*

 

poderia me ajudar nas tags?

fodimF
05 de janeiro de 2013 às 00:53

No Login.lua:

 

registerCreatureEvent(cid, "lvl")

Creaturescripts.xml:

<event type="advance" name="lvl" event="script" value="lvl.lua"/>

Editado Janeiro 5 por Fodim

15790911
05 de janeiro de 2013 às 00:54

Toma aí, cara.

 

local config = {
[1] = {
	[50] = {7589, 2268},
	[80] = {7590}
},
[2] = {
	[50] = {7589, 2268},
	[80] = {7590}
},
[3] = {
	[50] = {7589, 7588},
	[80] = {8472}
},
[4] = {
	[50] = {7588, 2392},
	[80] = {7591},
	[130] = {8473}
}
}

function onAdvance(cid, skill, oldLevel, newLevel)
if(skill == SKILL__LEVEL) then
	if(not config[getPlayerVocation(cid)]) then
		return true
	end

	local tmp = config[getPlayerVocation(cid)]
	if(not tmp[newLevel]) then
		return true
	end

	for _, v in ipairs(tmp[newLevel]) do
		doPlayerAddItem(cid, v, 1)
	end
end
return true
end

 

Mas, na boa, você é um leecher do cacete, hein? Espera tudo cair do céu.

 

Abraços.

 

Se você não é o melhor do xtibia, pra mim é o melhor... REP TODO DIA SEU LINDO!

 

Duvida sanada!

OneshotO
05 de janeiro de 2013 às 00:56

Tópico movido para a seção de dúvidas e pedidos resolvidos.