Ir para conteúdo
  • 0

[Pedido] Recompensa Ao Upar


Nolis

Pergunta

Versão do server: 9.44

Servidor utilizado: crystal server

Experiencia: scripter intermediário

Tipo do script: creaturescripts

Descrição: quando o player upar tal nivel ele vai ganhar tal item e tal skill:

 

Quando upar level 20 todas as vocações ganham estes itens:

15407

15408

15409

15710

e ganham +20 de skill, .20, pois nao da de upar skills no tipo do ot que eu to fazendo

 

knight quando upar level 30 ganha

12649 +20 de skills denovo (no caso ele vai ficar com 40 de skills)

 

Paladin quando upar level 30 ganha

15643

15648

+20 de skills

 

Sorcerer quando upar level 30 ganha

8922 +20 de skill (magic)

Druid quando upar level 30 ganha

8910 +20 de skill (magic)

 

Bom eu creio que seja simples, e se possivel fazer storage, tipo ele morre e upa denovo pra ganhar os itens novamente, nao quero isso, se puderem me ajudar dou REP

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

5 respostass a esta questão

Posts Recomendados

  • 0

Seu script, caso não funfe poste o erro.

Vá em creaturescripts/scrtipt ou creatureevents/script e crie um arquivo chamado "levelup" sem aspas e cole isso dentro:

 

 

 

---- Created By SmiX ----

local configuracao = {

efeito = {27,28, 29,79}, -- Efeito que vai mandar ao avançar de level.

}

 

function onAdvance(cid, skill, oldLevel, newLevel)

if getPlayerStorageValue(cid, 25686) >= 1 or getPlayerStorageValue(cid, 25687) >= 1 then return true end

if (getPlayerLevel(cid) == 20) then

doPlayerAddItem(cid, 15407, 1)

doPlayerAddItem(cid, 15408, 1)

doPlayerAddItem(cid, 15409, 1)

doPlayerAddItem(cid, 15710, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25686, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 4 then -- Knight (lv 30)

doPlayerAddItem(cid, 12649, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 3 then -- Paladin (lv 30)

doPlayerAddItem(cid, 15643, 1)

doPlayerAddItem(cid, 15648, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 2 then -- Druid (lv 30)

doPlayerAddItem(cid, 8910, 1)

doPlayerAddManaSpent(cid, 20)

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 1 then -- Socerer (lv 30)

doPlayerAddItem(cid, 8922, 1)

doPlayerAddManaSpent(cid, 20)

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

end

 

return true

end

 

 

depois de feito isso, vá em creaturescripts/scrtipt ou creatureevents/script e abra o arquivo chamado "LOGIN" e cole a teg antes do ultimo "RETURN TRUE":

registerCreatureEvent(cid, "LevelUp")

depois vá em creaturescripts.xml ou creatureevents.xml abra-ó e cole a tag abaixo:

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

Link para o comentário
Compartilhar em outros sites

  • 0

Olha Daniel eu conheço um script desse que vem no mapa "Global Compacto" entao o script nao e meu irei postar aki para voce

 

va em data / creaturescripts / e renome qualquer arquivo.lua para "levelitem" e add isso tudo la dentro

 

 

function onAdvance(cid, skill, oldLevel, newLevel)

local config = {

[20] = {item = 2160, count = 1},

[50] = {item = 2160, count = 1},

[100] = {item = 2160, count = 1},

[110] = {item = 2160, count = 1},

[120] = {item = 2160, count = 1},

[130] = {item = 2160, count = 1},

[140] = {item = 2160, count = 1},

[150] = {item = 2160, count = 1},

[160] = {item = 2160, count = 1},

[170] = {item = 2160, count = 1},

[180] = {item = 2160, count = 1},

[190] = {item = 2160, count = 2},

[200] = {item = 2160, count = 2},

[210] = {item = 2160, count = 2},

[220] = {item = 2160, count = 2},

[230] = {item = 2160, count = 2},

[240] = {item = 2160, count = 2},

[250] = {item = 2160, count = 2},

[260] = {item = 2160, count = 2},

[270] = {item = 2160, count = 2},

[280] = {item = 2160, count = 2},

[290] = {item = 2160, count = 2},

[300] = {item = 2160, count = 3},

[320] = {item = 2160, count = 3},

[330] = {item = 2160, count = 3},

[340] = {item = 2160, count = 3},

[350] = {item = 2160, count = 3},

[360] = {item = 2160, count = 3},

[370] = {item = 2160, count = 3},

[380] = {item = 2160, count = 3},

[390] = {item = 2160, count = 3},

[400] = {item = 2160, count = 4},

}

if skill == 8 then

for level, info in pairs(config) do

if newLevel >= level and (getPlayerStorageValue(cid, 30700) == -1 or not (string.find(getPlayerStorageValue(cid, 30700), "'" .. level .. "'"))) then

doPlayerAddItem(cid, info.item, info.count)

doPlayerSendTextMessage(cid, 27, "Parabéns Guerreiro você atingiu o level "..newLevel.." e ganhou "..info.count.." "..getItemNameById(info.item)..".")

local sat = getPlayerStorageValue(cid, 30700) == -1 and "Values: '" .. level .. "'" or getPlayerStorageValue(cid, 30700) .. ",'" .. level .. "'"

setPlayerStorageValue(cid, 30700, sat)

end

end

end

return TRUE

end

 

 

e dps em creaturescripts.xml add essa tag la

 

 

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

 

espero ter ajudado

ate

 

Creditos pelo script

Nao E Meu

Desconheçido (DONO)

Link para o comentário
Compartilhar em outros sites

  • 0

error - luainterface::loadfile] data/creaturescripts/scripts/upar.lua:22: unexpected symbol near '>'

 

Smartbox

 

eu tenho esse script seu do compacto, não é o que eu procuro, mesmo assim obrigado.

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

  • 0

Cara seu script não esta de acordo com o pedido feito, leia com mais atenção!

 

 

--

Pronto troque por este:

 

 

 

 

---- Created By SmiX ----

local configuracao = {

efeito = {27,28, 29,79}, -- Efeito que vai mandar ao avançar de level.

}

 

function onAdvance(cid, skill, oldLevel, newLevel)

if getPlayerStorageValue(cid, 25686) == 1 or getPlayerStorageValue(cid, 25687) == 1 then return true end

if (getPlayerLevel(cid) == 20) then

doPlayerAddItem(cid, 15407, 1)

doPlayerAddItem(cid, 15408, 1)

doPlayerAddItem(cid, 15409, 1)

doPlayerAddItem(cid, 15710, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25686, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 4 then -- Knight (lv 30)

doPlayerAddItem(cid, 12649, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 3 then -- Paladin (lv 30)

doPlayerAddItem(cid, 15643, 1)

doPlayerAddItem(cid, 15648, 1)

doPlayerAddSkillTry(cid, 0, 20)

doPlayerAddSkillTry(cid, 1, 20)

doPlayerAddSkillTry(cid, 2, 20)

doPlayerAddSkillTry(cid, 3, 20)

doPlayerAddSkillTry(cid, 4, 20)

doPlayerAddSkillTry(cid, 5, 20)

doPlayerAddSkillTry(cid, 6, 20) -- Pesca Se não quiser so tirar esta linha

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 2 then -- Druid (lv 30)

doPlayerAddItem(cid, 8910, 1)

doPlayerAddManaSpent(cid, 20)

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

elseif (getPlayerLevel(cid) == 30) and getPlayerVocation(cid) == 1 then -- Socerer (lv 30)

doPlayerAddItem(cid, 8922, 1)

doPlayerAddManaSpent(cid, 20)

doSendMagicEffect(getThingPos(cid), configuracao.efeito[math.random(#configuracao.efeito)])

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, )

setPlayerStorageValue(cid, 25687, 1)

end

 

return true

end

 

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...