Yorun
Campones-
Total de itens
13 -
Registro em
-
Última visita
Sobre Yorun
Yorun's Achievements
-
otserv 8.x Alissow Ots 4.11 [11/07/2010] 8.6 Completo!
tópico respondeu ao Alissow de Yorun em OTServ Comum
Alisow, alguma previsão para atualizações das features para 8.7x ou está esperando o update que vai ter agora pra por a mão na massa em tudo de uma vez? abraços!! -
Ultima Yorunus (causa Dano Ou Carrega Vida?), Os 2 =) A Escolha é Sua
tópico respondeu ao Yorun de Yorun em Tutoriais de Scripting
Iaew Vitman, entaum cara... em Servers Low Rate, nada impede você de modificar a action, vc pode mudar a mana gasta alterando o MANAL e alterar o dano ou efeito de cura alterando a fórmula do MIN e do MAX... bem simples é só usar um poquim de criatividade... a action ta bem flexível da para ser feitas as alterações necessárias... Valeooo!! Abraços! -
Teleportador - Salve Sua Posição E Teleport Para Ela
tópico respondeu ao Yorun de Yorun em Actions e Talkactions
@André Sim mesmo depois do player sair do jogo a posição salva vai continuar la... o único meio de não ter uma posição salva é: 1 - se ele nunca salvou uma posição (obvio xD); 2 - se ele possui 2 itens... salvou com 2 (os 2 se transformam) então ele usou um... este se transforma... e ele ainda tem um outro item pra poder usar... este segundo, se ele usar vai lhe enviar uma mensagem que uma posição precisa ser salva antes de teleportar... resumindo, não ha necessidade de ter 2 itens "engatilhados" apenas um por ves vai funcionar... fiz isso para não haver apelações de teleport... @soulblaster e... tipo... não num da pra simplificar o script... ele é grande por que eu fiz várias vezes testes de mesa para chegar a perfeição de não haver BUGs no meu script... então ao invés de exixtir bugs exixtem mensagens de erro auxiliando o player e evitando erros no servidor... >>> os item usados são: blank paper... e paper... ta ali em cima no tuto... -
Teleportador - Salve Sua Posição E Teleport Para Ela
tópico respondeu ao Yorun de Yorun em Actions e Talkactions
Valeu Gente é bom saber que alguem gostou do meus script... afinal num foi muito facil faze esse ai não... levou um pokinho de tempo uaHUAHAUhaUh... mais uma vez Obrigado!! Abraço a Todos!! -
de boua... num buga não... pode ficar sussa cara =) Abraços
-
#Topic Nossa Galera eu vi essa action com MAIS DE 500 linhas de código e achei um absurdo!!!!!!! uma action basica dessa num deveria ter NEM 35 linhas... então resolvi fazer um melhoramento nela que faz EXATAMENTE a mesma coisa... aqui vai o código: salve ele como "expl.lua" na pasta scripts em "data\actions\scripts" -- melhoramento da Runa de Fogos de Artifício -- -- melhoramento by Yorun (Diego) -- function onUse(cid, item, frompos, item2, topos) I = 1 repeat posi1 = {x=topos.x, y=topos.y, z=topos.z, stackpos=1} posi2 = {x=topos.x, y=topos.y-1, z=topos.z, stackpos=1} posi3 = {x=topos.x, y=topos.y+1, z=topos.z, stackpos=1} posi4 = {x=topos.x-1, y=topos.y, z=topos.z, stackpos=1} posi5 = {x=topos.x+1, y=topos.y, z=topos.z, stackpos=1} posi6 = {x=topos.x+1, y=topos.y-1, z=topos.z, stackpos=1} posi7 = {x=topos.x-1, y=topos.y+1, z=topos.z, stackpos=1} posi8 = {x=topos.x+1, y=topos.y+1, z=topos.z, stackpos=1} posi9 = {x=topos.x-1, y=topos.y-1, z=topos.z, stackpos=1} todaspos = {posi1, posi2, posi3, posi4, posi5, posi6, posi7, posi8, posi9} listatp = {todaspos[1], todaspos[2], todaspos[3], todaspos[4], todaspos[5], todaspos[6], todaspos[7], todaspos[8], todaspos[9]} for a=1, 9 do doSendMagicEffect(listatp[a], I) end I = I+1 until I > 24 doChangeTypeItem(item.uid,item.type-1) end agora no seu "actions.xml" na pasta "data\actions" ADICIONE o trecho abaixo: <action itemid="2307" script="expl.lua" allowfaruse="1" /> bom... é isso aew... só pra lembrar que da pra se usar VETOR e LAÇOS DE REPETIÇÃO em ".lua"... Abraços a todos
-
Comando Para Gm Que Adiciona Item No Player A Distancia
tópico respondeu ao Yorun de Yorun em Actions e Talkactions
#lord lolzao cara é o seguinte, /getplayer "nome_do_player é o comando NECESSÁRIO para poder adicionar o item depois no payer que vc salvou... /additem "ID_do_item é o comando que vc vai usar para adicionar o item que vc quiser no player que vc salvou... esse comando serve para isso, para você (se for um GM) adicionar item em algum player de longe... Abraços -
Comando Para Gm Que Adiciona Item No Player A Distancia
um tópico no fórum postou Yorun Actions e Talkactions
Salve o código abaixo como "additem.lua" na sua pasta scripts "data\talkactions\scripts" -- talkaction que adiciona um item para um player a distancia -- -- by Yorun (Diego) -- function onSay(cid, words, param) PERMICAO = 3 -- altere aqui o access dejado para o funcionamento do comando GM = getPlayerAccess(cid) if words == '/getplayer' and GM >= PERMICAO then pos = getPlayerPosition(cid) if param ~= '' then player = getPlayerByName(param) if player > 0 then setPlayerStorageValue(cid, 555, player) doPlayerSendTextMessage(cid, 22, 'Player: ' .. param .. ' ID: ' .. player .. ' foi salvo. Fale /additem "ID_do_item para adicionar o item para o player salvo.') doSendMagicEffect(pos, 28) else doPlayerSendTextMessage(cid, 18, 'Diga um nome de Player válido e online') doSendMagicEffect(pos, 2) end else doPlayerSendTextMessage(cid, 18, 'Você deve falar um nome de Player.\nExemplo: /getplayer "Yorun ') doSendMagicEffect(pos, 2) end elseif words == '/additem' and GM >= PERMICAO then ok = getPlayerStorageValue(cid, 555) if ok == nil then ok = 0 end if player ~= nil then nome = getPlayerName(player) end pos = getPlayerPosition(cid) if nome ~= '' and ok ~= 0 then if param ~= '' then doPlayerAddItem(player, param, 1) doPlayerSendTextMessage(cid, 22, ' Você adicionou um item para ' .. nome .. '.') doSendMagicEffect(pos, 12) setPlayerStorageValue(cid, 555, 0) else doPlayerSendTextMessage(cid, 18, 'Você deve falar um ID de item válido. \nExemplo: /additem "2160 ') doSendMagicEffect(pos, 2) end else doPlayerSendTextMessage(cid, 18, 'Você deve falar um nome de Player.\nExemplo: /getplayer "Yorun ') doSendMagicEffect(pos, 2) end end end agora é só alterar o "talkactions.xml" que esta em "data\talkactions", ADICIONANDO o seguinte trecho: <talkaction words="/getplayer" script="additem.lua" /> <talkaction words="/additem" script="additem.lua" /> para usar antes vc deve falar o comando /getplayer "nome_do_player para salvar o player que deseja adicionar o item depois é só usar /additem "ID_do_item para adicionar o item no player salvo... não importa onde o player estiver, o item vai ser adicionado!! É isso aew... espero que gostem!! Abraços e de sua opinião ou crítica -
Tipo... Alguem gosta de estar andanu de boua e de repente tomar um PKzão !?!? Mas mesmo assim o indice de players que procuram Server PVP é absurdamente maior que o indice de players que procuram Servers NON-PVP... Isso é válido no tibia RL(por isso que há muito mais servers pvp), afinal em OTs há meios de se mudar o tipo do server... A mesma coisa acontece com esta action, ninguem vai gostar de ser roubado... mas provavelmente vai gostar de roubar... Abraços!! Valeu as críticas!! Foram construtivas PS.: é possível fazer um action desse que somente armzane sua mana...
-
Este script permitirá que vc roube mana de um player e utilize a mana roubada em você mesmo futuramente, mesmo se você fizer logout do tibia... quando você entrar novamente sua mana vai estar la armazenadinha para você usa-la... Aqui vai o script da action... Salve o script abaixo como "dmana.lua" dentro de sua pasta scripts encontrada em "data\actions\scripts" Código: -- Armazenador de Mana -- -- By Yorun (Diego) -- function onUse(cid, item, frompos, item2, topos) if item.itemid == 2178 then testeplayer = isPlayer(cid, item2.uid) if testeplayer ~= 0 then gm = getPlayerAccess(item2.uid) nomep = getPlayerName(item2.uid) if (gm >= 0) and (gm <= 2) then manad = (getPlayerLevel(cid) * getPlayerLevel(item2.uid))/5 manaatual = getPlayerMana(item2.uid) if manad <= manaatual then nomep = getPlayerName(item2.uid) setPlayerStorageValue(cid, 444, manad) smana = getPlayerStorageValue(cid, 444) doPlayerAddMana(item2.uid, -smana) doSendMagicEffect(topos, 29) doSendMagicEffect(frompos, 30) doPlayerSendTextMessage(cid, 22, 'Você armazenou ' .. smana .. ' de mana.') doPlayerSendTextMessage(item2.uid, 18, 'Player ' .. getPlayerName(cid) .. ' roubou ' .. smana .. ' de mana.') doTransformItem(item.uid, 2177) elseif manad > manaatual then doPlayerSendTextMessage(cid, 18, 'Player ' .. nomep .. ' está com a mana abaixo do necessário para roubar.') doSendMagicEffect(frompos, 2) else doPlayerSendTextMessage(cid, 18, 'ERRO DE SCRIPT! Erro Código 01.') doSendMagicEffect(frompos, 2) end elseif gm == 3 then doPlayerSendTextMessage(cid, 18, 'Você não pode roubar a mana de um Gamemaster ou de um NPC.') doSendMagicEffect(frompos, 2) elseif gm == 4 then doPlayerSendTextMessage(cid, 18, 'Você não pode roubar a mana de um Sênior Gamemaster.') doSendMagicEffect(frompos, 2) elseif gm >=5 then doPlayerSendTextMessage(cid, 18, 'Você não pode roubar a mana de um GOD.') doSendMagicEffect(frompos, 2) else doPlayerSendTextMessage(cid, 18, 'Você não pode roubar a mana de ' .. nomep .. ' .') doSendMagicEffect(frompos, 2) end else doPlayerSendTextMessage(cid, 18, 'Você só pode roubar mana de um player') doSendMagicEffect(frompos, 2) end elseif item.itemid == 2177 then smana = getPlayerStorageValue(cid, 444) if smana > 0 then doPlayerAddMana(cid, smana) doPlayerSendTextMessage(cid, 22, 'Você recuperou ' .. smana .. ' de mana.') doSendMagicEffect(frompos, 30) setPlayerStorageValue(cid, 444, 0) doTransformItem(item.uid, 2178) elseif smana == 0 then doPlayerSendTextMessage(cid, 18, 'Armazene mana antes de usar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 2178) else doPlayerSendTextMessage(cid, 18, 'Armazene mana antes de usar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 2178) end else doPlayerSendCancel(cid, 'Erro! Item incorreto.') doPlayerSendTextMessage(cid, 18, 'Erro! Item incorreto. Altere seu arquivo "actions.xml" corretamente! Se você for um player alerte seu GOD ou GM.') doPlayerSendTextMessage(cid, 22, 'Desenvolvedor do Script: Diego (Yorun), Versão do Script: 1.0, Teste: ( OK ). Obrigado por usar meu script!') doSendMagicEffect(frompos, 2) end return 0 end Após ter salvo CORRETAMENTE o script acima, ADICIONE o trecho abaixo em seu arquivo "actions.xml" encontrado dentro de "data\actions" <action itemid="2178" script="dmana.lua" /> Rouba a mana e adiciona ao propio char -- <action itemid="2177" script="dmana.lua" /> Rouba a mana e adiciona ao propio char -- Pronto, é issu aew!! Lembrando que os itens usados nesse scripts são: >> Mind Stone (pode ser encontrado em demon skeletons) << este será usado para roubar/armazenar a mana >> Life Crystal (pode ser encontrado em dragons) << este será usado para adicionar a mana em vc depois de roubar/armazenar Abraços a todos, espero que tenham gostado... Teh mais
-
Ultima Yorunus (causa Dano Ou Carrega Vida?), Os 2 =) A Escolha é Sua
um tópico no fórum postou Yorun Tutoriais de Scripting
"Ultima Yorunus", é uma spell, ou melhor Talkaction que se você tiver o "red dragon scale" no Slot onde fica as Arrows você causará um dano numa determinada área de distância, agora se o item que estiver no Slot de Arrows for uma "green dragon scale" Você carregará a vida de todos que estiverem nesta área, alem de elevar a velocidade de seu char, e tambem carregar a vida de seu char... Salve o código abaixo como "ultimayorunus.lua" dentro de sua pasta "scripts" encontrada em "data\talkactions\scrips" Código: -- Ultima Yorunus -- -- by Yorun (Diego) -- function onSay(cid, words, param) if words == 'ultima yorunus' or words == 'Ultima Yorunus' then MANA = getPlayerMana(cid) MANAL = 600 lala = getPlayerSlotItem(cid, 10) itemla = lala.itemid MIN = (getPlayerLevel(cid)*2+getPlayerMagLevel(cid)*4)*2 MAX = (getPlayerLevel(cid)*2+getPlayerMagLevel(cid)*4)*3 -- EDITE ABAIXO O ID DO ITEM NECESSÁRIO -- itemn = 5920 -- green dragon scale -- nomeitem = getItemName(itemn) itemh = 5882 -- red dragon scale -- nomeitem2 = getItemName(itemh) -- EDITE ACIMA O ID DO ITEM NECESSÁRIO -- playpos = getPlayerPosition(cid) if MANA >= MANAL then if itemla == itemh then I = 1 repeat todaspos = getPosicoes(listapos, I) for a=1, 8 do doSendMagicEffect(todaspos[a], I+10) doAreaCombatHealth(cid, COMBAT_DROWNDAMAGE, todaspos[a], 0, -MIN, -MAX, 255) end I = I+1 until I >= 9 doPlayerAddMana(cid, -MANAL) doPlayerRemoveItem(cid, itemh, 1) elseif itemla == itemn then I = 1 repeat todaspos = getPosicoes(listapos, I) for a=1, 8 do doSendMagicEffect(todaspos[a], I+10) doAreaCombatHealth(cid, COMBAT_DROWNDAMAGE, todaspos[a], 0, MIN, MAX, 255) end I = I+1 until I >= 9 doPlayerAddHealth(cid, MAX*2) velo = (MIN+MAX)/2 doChangeSpeed(cid, velo) doPlayerAddMana(cid, -MANAL) doPlayerRemoveItem(cid, itemn, 1) elseif itemla == 0 then doPlayerSendTextMessage(cid, 18, 'Slot de Arrows está vazio! Um ' .. nomeitem .. ' ou um ' .. nomeitem2 .. ' é necessário nesse Slot.') doSendMagicEffect(playpos, 2) elseif itemla ~= itemn and itemla ~= itemh then doPlayerSendTextMessage(cid, 18, 'O item encontrado no Slot de arrows não é um ' .. nomeitem .. ' e nem um ' .. nomeitem2 .. '.') doSendMagicEffect(playpos, 2) end else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. MANAL .. ' de mana para usar Ultima Yorunus') doSendMagicEffect(playpos, 2) end end end function getPosicoes(listapos, I) posi1 = {x=playpos.x-I, y=playpos.y+I, z=playpos.z} posi2 = {x=playpos.x, y=playpos.y+I, z=playpos.z} posi3 = {x=playpos.x+I, y=playpos.y+I, z=playpos.z} posi4 = {x=playpos.x-I, y=playpos.y, z=playpos.z} posi5 = {x=playpos.x+I, y=playpos.y, z=playpos.z} posi6 = {x=playpos.x-I, y=playpos.y-I, z=playpos.z} posi7 = {x=playpos.x, y=playpos.y-I, z=playpos.z} posi8 = {x=playpos.x+I, y=playpos.y-I, z=playpos.z} listapos = {posi1, posi2, posi3, posi4, posi5, posi6, posi7, posi8} return listapos end Agora no seu arquivo "talkactions.xml" encontrada em "data\talkactions" você deve ADICIONAR o seguinte trecho: <talkaction words="ultima yorunus" script="ultimayorunus.lua" /> Pronto!! agora é só usar a Spell no seu OT!! Lembrando que as palavras para vc usar esta spell é: ultima yorunus Espero que tenham gostado -
Teleportador - Salve Sua Posição E Teleport Para Ela
um tópico no fórum postou Yorun Actions e Talkactions
Esta action lhe permitirá salvar sua posição, ondi quer que você esteja, e ir caçar após terminar sua hunt você pode voltar para a cidade, por exemplo, com apenas um clique, isso se você estiver de vida e mana full, resumindo, se estiver no meio de um combat você provavelmente não vai conseguir teleportar de volta, pois sua mana e vida não estarão cheias... Salve o script abaixo na sua patas scrips dentro de actions, encontrada em "data\actions\scripts" Salve com o nome de "teleportador.lua" Aqui vai o código com comentários da action -- Item que teleporta um player para uma posição salva pelo próprio player -- -- Mais uma action feita por Yorun (Diego) -- -- Comentários por Yorun (Diego) -- -- Galera por favor não ligo se alguem for usar meu código, pelo contrário acho até legal, mas por favor deixem os meus créditos =) -- -- Obrigado! -- function onUse(cid, item, frompos, item2, topos) -- início do bloco de inicialização de Variáveis -- level = getPlayerLevel(cid) spos = nil manamax = 0 manaatual = 0 vidamax = 0 vidaatual = 0 -- fim do bloco de inicialização de variáveis -- início do bloco de if de escolha do item (4853/4854) -- if item.itemid == 4853 then -- bloco que testa se onde foi usado eh uma criatura viva -- testplayer = isCreature(cid, item2.uid) -- fim do teste de criatura -- se for criatura viva então a posição é salva na varíavel (savpos) e depois salva no player -- if testplayer ~= 0 then savpos = {x=getThingPos(item2.uid).x, y=getThingPos(item2.uid).y, z=getThingPos(item2.uid).z, stackpos=253} setPlayerStorageValue(cid, 111, savpos.x) setPlayerStorageValue(cid, 222, savpos.y) setPlayerStorageValue(cid, 333, savpos.z) doSendMagicEffect(topos, 26) doPlayerSendTextMessage(cid, 22, 'Posição: (X: ' .. savpos.x .. ' Y: ' .. savpos.y .. ' Z: ' .. savpos.z ..'). Foi salva com sucesso.') doTransformItem(item.uid,4854) -- se não for uma criatura viva, é eviada uma mensagem ao player -- else doPlayerSendTextMessage(cid, 18, 'Você deve selecionar uma criatura viva.') doSendMagicEffect(frompos, 2) end elseif item.itemid == 4854 then -- atribuição dos valores salvos anteriormente (savpos) -- xpos = getPlayerStorageValue(cid, 111) ypos = getPlayerStorageValue(cid, 222) zpos = getPlayerStorageValue(cid, 333) spos = {x=xpos, y=ypos, z=zpos} voc = getPlayerVocation(cid) -- obtendo a vocação do player -- -- dependendo a vacação a formula de dano muda -- if voc == 1 or voc == 5 then manamax = ((level-8)*30)+35 -- fórmula de dano na mana, igualmente para as outras vocações, exceto pelos valores -- manaatual = getPlayerMana(cid) vidamax = ((level-8)*5)+185 -- fórmula de dano na vida, igualmente para as outras vocações, exceto pelos valores -- vidaatual = getPlayerHealth(cid) -- se a posição (X) salva anteriormente for igual a 0 então é envia uma mensagem -- if xpos == 0 then doPlayerSendTextMessage(cid, 18, 'Posição vazia, selecione uma posição para teleportar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 4853) -- se posição (X) for diferente de 0 e a mana estiver cheia, então vai teleportar o char para a posição salva, adicionar o dano na vida e mana. -- elseif (manaatual >= manamax) and (vidaatual >= vidamax)then doTeleportThing(cid, spos) doTransformItem(item.uid, 4853) doSendMagicEffect(spos, 10) doPlayerSendTextMessage(cid, 22, 'Você foi teleportado para a posição: (X: ' .. xpos .. ' Y: ' .. ypos .. ' Z: ' .. zpos ..').') doPlayerAddMana(cid, -manamax/2) doPlayerAddHealth(cid, -vidamax/2) xpos = setPlayerStorageValue(cid, 111, nil) -- se a vida ou a mana não estiverem cheias, então vai ser enviada uma mensagem alertando que ambas precisam estar cheias. -- elseif manaatual < manamax then if vidaatual < vidamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax ..' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. manamax ..' de mana para usar este recurso.') end doSendMagicEffect(frompos, 2) elseif vidaatual < vidamax then if manaatual < manamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax .. ' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida para usar este recurso.') end doSendMagicEffect(frompos, 2) end -- a partir deste ponto é exatamente igual, mudando apenas os valores, pois são vocações diferentes -- elseif voc == 2 or voc == 6 then manamax = ((level-8)*30)+35 manaatual = getPlayerMana(cid) vidamax = ((level-8)*5)+185 vidaatual = getPlayerHealth(cid) if xpos == 0 then doPlayerSendTextMessage(cid, 18, 'Posição vazia, selecione uma posição para teleportar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 4853) elseif (manaatual >= manamax) and (vidaatual >= vidamax)then doTeleportThing(cid, spos) doTransformItem(item.uid, 4853) doSendMagicEffect(spos, 10) doPlayerSendTextMessage(cid, 22, 'Você foi teleportado para a posição: (X: ' .. xpos .. ' Y: ' .. ypos .. ' Z: ' .. zpos ..').') doPlayerAddMana(cid, -manamax/2) doPlayerAddHealth(cid, -vidamax/2) xpos = setPlayerStorageValue(cid, 111, nil) elseif manaatual < manamax then if vidaatual < vidamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax ..' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. manamax ..' de mana para usar este recurso.') end doSendMagicEffect(frompos, 2) elseif vidaatual < vidamax then if manaatual < manamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax .. ' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida para usar este recurso.') end doSendMagicEffect(frompos, 2) end elseif voc == 3 or voc == 7 then manamax = ((level-8)*15)+35 manaatual = getPlayerMana(cid) vidamax = ((level-8)*10)+185 vidaatual = getPlayerHealth(cid) if xpos == 0 then doPlayerSendTextMessage(cid, 18, 'Posição vazia, selecione uma posição para teleportar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 4853) elseif (manaatual >= manamax) and (vidaatual >= vidamax)then doTeleportThing(cid, spos) doTransformItem(item.uid, 4853) doSendMagicEffect(spos, 10) doPlayerSendTextMessage(cid, 22, 'Você foi teleportado para a posição: (X: ' .. xpos .. ' Y: ' .. ypos .. ' Z: ' .. zpos ..').') doPlayerAddMana(cid, -manamax/2) doPlayerAddHealth(cid, -vidamax/2) xpos = setPlayerStorageValue(cid, 111, nil) elseif manaatual < manamax then if vidaatual < vidamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax ..' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. manamax ..' de mana para usar este recurso.') end doSendMagicEffect(frompos, 2) elseif vidaatual < vidamax then if manaatual < manamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax .. ' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida para usar este recurso.') end doSendMagicEffect(frompos, 2) end elseif voc == 4 or voc == 8 then manamax = ((level-8)*5)+35 manaatual = getPlayerMana(cid) vidamax = ((level-8)*15)+185 vidaatual = getPlayerHealth(cid) if xpos == 0 then doPlayerSendTextMessage(cid, 18, 'Posição vazia, selecione uma posição para teleportar.') doSendMagicEffect(frompos, 2) doTransformItem(item.uid, 4853) elseif (manaatual >= manamax) and (vidaatual >= vidamax)then doTeleportThing(cid, spos) doTransformItem(item.uid, 4853) doSendMagicEffect(spos, 10) doPlayerSendTextMessage(cid, 22, 'Você foi teleportado para a posição: (X: ' .. xpos .. ' Y: ' .. ypos .. ' Z: ' .. zpos ..').') doPlayerAddMana(cid, -manamax/2) doPlayerAddHealth(cid, -vidamax/2) xpos = setPlayerStorageValue(cid, 111, nil) elseif manaatual < manamax then if vidaatual < vidamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax ..' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. manamax ..' de mana para usar este recurso.') end doSendMagicEffect(frompos, 2) elseif vidaatual < vidamax then if manaatual < manamax then doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida e de ' .. manamax .. ' de mana para usar este recurso.') else doPlayerSendTextMessage(cid, 18, 'Você precisa de ' .. vidamax ..' de vida para usar este recurso.') end doSendMagicEffect(frompos, 2) end -- se a voção do player for diferente das conhecidas, ou se o player não tiver vocação, então será enviada uma mensagem avisando que a vocação não pode usar este recurso. -- else doPlayerSendTextMessage(cid, 18, 'Sua vocaçãoo não suporta este recurso evolua até o level 8 e adiquira uma vocação. Se você está acima do level 8 e ja possui uma vocação, contate seu GOD ou GM') doSendMagicEffect(frompos, 2) end -- se o item não foi configurado corretamente será enviada uma mensagem avisando, no caso se os itens forem diferentes de (4853 ou 4854). -- else doPlayerSendCancel(cid, 'Erro! Item incorreto.') doPlayerSendTextMessage(cid, 18, 'Erro! Item incorreto. Altere seu arquivo "actions.xml" corretamente! Se você for um player alerte seu GOD ou GM.') doPlayerSendTextMessage(cid, 22, 'Desenvolvedor do Script: Diego (Yorun), Versão do Script: 1.4, Teste: ( OK ). Obrigado por usar meu script!') doSendMagicEffect(frompos, 2) end -- return 0, como é uma função então retorna um valor, no caso 0, pois não vamos precisar deste retorno futuramente. -- return 0 end -- Fim =) By Yorun (Diego) -- Agora vai ser necessário alterar o "items.xml" Antes é necessário você saber que os itens que utilizaremos aqui são: >> Blank Paper ID:4853 >> Paper ID:4854 Abra seu arquivo "items.xml" que está localizado em "data\items" (Abra com bloco de notas), após abrir pressione as teclas "Ctrl+F" juntas... então digite 4853 e pressione a tecla "Enter". Você vai encontrar o item da seguinte maneira: <item id="4853" name="blank paper"> <attribute key="writeable" value="1"/> <attribute key="weight" value="100"/> <attribute key="maxTextLen" value="512"/> <attribute key="writeOnceItemId" value="4854"/> </item> Então você apaga e esse trcho acima e substitui por esse: <item id="4853" name="Yorun Teleporter"> <attribute key="weight" value="100"/> </item> Repita o processo de "Ctrl+F", mas desta vez digite o número 4854 Você vai encontrar o outro item que vai estar assim: <item id="4854" name="paper"> <attribute key="writeable" value="1"/> <attribute key="weight" value="100"/> <attribute key="maxTextLen" value="512"/> </item> Você também deve apagar o trecho acima e colocar esse: <item id="4854" name="Yorun Teleporter"> <attribute key="weight" value="100"/> </item> Pronto... estamos quese la só falta mais uma parte... Mas antes quer explicar porque foi necessária a substituição acima... Se não houver está substituição quando você clicar nestes itens eles abrirão uma janela para escrever textos na sua tela, igual aquela que abre quando você vai escrever no label das parcels... Agora sim... a última parte... bem facil Vá para sua pasta actions e abra(sempre em bloco de notas) seu arquivo "actions.xml", localizada em "data\actions" e ADICIONE o seguinte trecho: <action itemid="4853" script="teleportador.lua" /> -- Item que teleporta um player para uma posicao salva pelo mesmo -- <action itemid="4854" script="teleportador.lua" /> -- Item que teleporta um player para uma posicao salva pelo mesmo -- Pronto!! \o/ após ter feito isso é só usar... Lembrando que o ID dos itens são 4854 e 4853... Abraços!! Espero que gostem!! -
Tutorial: Novo Tipo De Area De Trainer
tópico respondeu ao Addict de Yorun em Tutoriais de Scripting
>>>> ficou mto massa seu tutorial... exceto pelo o que o Sky falou... ele tem razaum... tipo naum seria mais conveniente de no lugar de vc fazer uma alavanca vc colokar un function onWalk ??? tipo akele piso do depot... sabe qndo o char fikar em cima a pedra fika na porta e qndo o char sair de cima(ou cair a net) o piso vai levantar e a pedra vai liberar o caminho novamente... mas assim!! bem criativa sua ideia... gostei!! ah... soh mais uma sugestão... pra naum deixar a alavanca sem utilidade nenhuma... poderia fazer ela criar food pra qem ta treinando... aposto que os players iam gostar... afinal food naum faiz mal da de graça neh!?!? <><>Yorun Cray<><>
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.