
Histórico de Curtidas
-
O.J deu reputação a thelifeofpbion em Clicar em X item Ser teleportado e retira item da BPfunction onUse(cid, item, fromPosition, item2, toPosition) local teleport = {x=169, y=414, z=7} -- Coordenadas para onde o player irá ser teleportado. local item_id = 5906 -- ID do item que o player precisa para ser teleportado. local qtd = 100 -- quantidade if isPlayer(cid) == true and getPlayerStorageValue(cid, 33423) == 1 then doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 44) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Voce foi teleportado!") else if getPlayerItemCount(cid,item_id) >= qtd then doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 44) doPlayerRemoveItem(cid, item_id, qtd) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce foi teletransportado por 300 "..getItemNameById(item_id).."!") setPlayerStorageValue(cid,33423,1) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Voce precisa ter 300 "..getItemNameById(item_id).." para usar o magic teleport!") end end end
-
O.J deu reputação a goldentivit em [Pedido] Sprite de EspadaNão ficou a melhor coisa do mundo, mas acho que pode quebrar o galho enquanto alguém não manda uma boa
-
O.J recebeu reputação de Magonnite em (Resolvido)NPC de quest para Ot 8.60Olá amigos estou aqui mais uma vez para pedir uma coisa, um NPC que peça items para o player e se o player trazer os itens ele ganha um prêmio, só que depois que ele pegasse o prêmio ele não pudesse fazer a quest novamente colocassem tipo uma storage que checa se ele ja fez a quest entendem? Por favor se puderem ajudar agradeço muito meu Ot é 8.60 obrigado comunidade .
-
O.J deu reputação a Cat em (Resolvido)Como colocar os Comando /attrCréditos: Matheus
Opções para se usar em items:
Citar
Opções para se usar em players:
Citar
Créditos: lucasatak
data/talkactions/scripts copie qualquer arquivo renomeio para attr e cole isto:
Citar
em talkactions.xml cole isto:
Citar
Pode acontecer de alguma função do matheus não funcionar ou ter a mais, porém as principais estão ai
-
O.J deu reputação a Cat em Lista completa de Magic Effects e Shoot TypeMagicEffects CONST_ME_FIRST = 1, CONST_ME_DRAWBLOOD = CONST_ME_FIRST, CONST_ME_LOSEENERGY = 2, CONST_ME_POFF = 3, CONST_ME_BLOCKHIT = 4, CONST_ME_EXPLOSIONAREA = 5, CONST_ME_EXPLOSIONHIT = 6, CONST_ME_FIREAREA = 7, CONST_ME_YELLOW_RINGS = 8, CONST_ME_GREEN_RINGS = 9, CONST_ME_HITAREA = 10, CONST_ME_TELEPORT = 11, CONST_ME_ENERGYHIT = 12, CONST_ME_MAGIC_BLUE = 13, CONST_ME_MAGIC_RED = 14, CONST_ME_MAGIC_GREEN = 15, CONST_ME_HITBYFIRE = 16, CONST_ME_HITBYPOISON = 17, CONST_ME_MORTAREA = 18, CONST_ME_SOUND_GREEN = 19, CONST_ME_SOUND_RED = 20, CONST_ME_POISONAREA = 21, CONST_ME_SOUND_YELLOW = 22, CONST_ME_SOUND_PURPLE = 23, CONST_ME_SOUND_BLUE = 24, CONST_ME_SOUND_WHITE = 25, CONST_ME_BUBBLES = 26, CONST_ME_CRAPS = 27, CONST_ME_GIFT_WRAPS = 28, CONST_ME_FIREWORK_YELLOW = 29, CONST_ME_FIREWORK_RED = 30, CONST_ME_FIREWORK_BLUE = 31, CONST_ME_STUN = 32, CONST_ME_SLEEP = 33, CONST_ME_WATERCREATURE = 34, CONST_ME_GROUNDSHAKER = 35, CONST_ME_HEARTS = 36, CONST_ME_FIREATTACK = 37, CONST_ME_ENERGYAREA = 38, CONST_ME_SMALLCLOUDS = 39, CONST_ME_HOLYDAMAGE = 40, CONST_ME_BIGCLOUDS = 41, CONST_ME_ICEAREA = 42, CONST_ME_ICETORNADO = 43, CONST_ME_ICEATTACK = 44, CONST_ME_STONES = 45, CONST_ME_SMALLPLANTS = 46, CONST_ME_CARNIPHILA = 47, CONST_ME_PURPLEENERGY = 48, CONST_ME_YELLOWENERGY = 49, CONST_ME_HOLYAREA = 50, CONST_ME_BIGPLANTS = 51, CONST_ME_CAKE = 52, CONST_ME_GIANTICE = 53, CONST_ME_WATERSPLASH = 54, CONST_ME_PLANTATTACK = 55, CONST_ME_TUTORIALARROW = 56, CONST_ME_TUTORIALSQUARE = 57, CONST_ME_MIRRORHORIZONTAL = 58, CONST_ME_MIRRORVERTICAL = 59, CONST_ME_SKULLHORIZONTAL = 60, CONST_ME_SKULLVERTICAL = 61, CONST_ME_ASSASSIN = 62, CONST_ME_STEPSHORIZONTAL = 63, CONST_ME_BLOODYSTEPS = 64, CONST_ME_STEPSVERTICAL = 65, CONST_ME_YALAHARIGHOST = 66, CONST_ME_BATS = 67, CONST_ME_SMOKE = 68, CONST_ME_INSECTS = 69, CONST_ME_DRAGONHEAD = 70, CONST_ME_ORCSHAMAN = 71, CONST_ME_ORCSHAMAN_FIRE = 72, CONST_ME_THUNDER = 73, CONST_ME_FERUMBRAS = 74, CONST_ME_CONFETTI_HORIZONTAL = 75, CONST_ME_CONFETTI_VERTICAL = 76, // 77-157 are empty CONST_ME_BLACKSMOKE = 158, CONST_ME_LAST = CONST_ME_BLACKSMOKE, // 159-166 are empty CONST_ME_REDSMOKE = 167, CONST_ME_YELLOWSMOKE = 168, CONST_ME_GREENSMOKE = 169, CONST_ME_PURPLESMOKE = 170, CONST_ME_EARLY_THUNDER = 171, CONST_ME_RAGIAZ_BONECAPSULE = 172, CONST_ME_CRITICAL_DAMAGE = 173, // 174 is empty CONST_ME_PLUNGING_FISH = 175, ShootTypes CONST_ANI_NONE = 0, CONST_ANI_FIRST = 1, CONST_ANI_SPEAR = CONST_ANI_FIRST, CONST_ANI_BOLT = 2, CONST_ANI_ARROW = 3, CONST_ANI_FIRE = 4, CONST_ANI_ENERGY = 5, CONST_ANI_POISONARROW = 6, CONST_ANI_BURSTARROW = 7, CONST_ANI_THROWINGSTAR = 8, CONST_ANI_THROWINGKNIFE = 9, CONST_ANI_SMALLSTONE = 10, CONST_ANI_DEATH = 11, CONST_ANI_LARGEROCK = 12, CONST_ANI_SNOWBALL = 13, CONST_ANI_POWERBOLT = 14, CONST_ANI_POISON = 15, CONST_ANI_INFERNALBOLT = 16, CONST_ANI_HUNTINGSPEAR = 17, CONST_ANI_ENCHANTEDSPEAR = 18, CONST_ANI_REDSTAR = 19, CONST_ANI_GREENSTAR = 20, CONST_ANI_ROYALSPEAR = 21, CONST_ANI_SNIPERARROW = 22, CONST_ANI_ONYXARROW = 23, CONST_ANI_PIERCINGBOLT = 24, CONST_ANI_WHIRLWINDSWORD = 25, CONST_ANI_WHIRLWINDAXE = 26, CONST_ANI_WHIRLWINDCLUB = 27, CONST_ANI_ETHEREALSPEAR = 28, CONST_ANI_ICE = 29, CONST_ANI_EARTH = 30, CONST_ANI_HOLY = 31, CONST_ANI_SUDDENDEATH = 32, CONST_ANI_FLASHARROW = 33, CONST_ANI_FLAMMINGARROW = 34, CONST_ANI_SHIVERARROW = 35, CONST_ANI_ENERGYBALL = 36, CONST_ANI_SMALLICE = 37, CONST_ANI_SMALLHOLY = 38, CONST_ANI_SMALLEARTH = 39, CONST_ANI_EARTHARROW = 40, CONST_ANI_EXPLOSION = 41, CONST_ANI_CAKE = 42, CONST_ANI_TARSALARROW = 44, CONST_ANI_VORTEXBOLT = 45, CONST_ANI_PRISMATICBOLT = 48, CONST_ANI_CRYSTALLINEARROW = 49, CONST_ANI_DRILLBOLT = 50, CONST_ANI_ENVENOMEDARROW = 51, CONST_ANI_GLOOTHSPEAR = 53, CONST_ANI_SIMPLEARROW = 54, fonte: https://github.com/otland/forgottenserver/blob/master/src/const.h
Lista com Gif
CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40 (OBS: são as nuvens do exevo gran mas vis)
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50 (é quase igual, só que cresce mais, não consegui gif)
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62 (Ignorado)
CONST_ME_BLOODYSTEPS = 63 (Ignorado)
CONST_ME_STEPSVERTICAL = 64 (Ignorado)
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_SMOKE = 67
CONST_ME_INSECTS = 68
-
O.J deu reputação a luanluciano93 em (Resolvido)[Pedido] Script Change Worldtype!Dá uma olhada nessa: http://www.tibiaking.com/forum/topic/33243-mudar-pvp-a-cada-x-tempo/
-
O.J deu reputação a Cat em (Resolvido)NPC de quest para Ot 8.60O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680
Este tópico foi movido:
De: "OTServ → Scripting → Monsters e NPCs"
Para: "OTServ → Suporte OTServ → Suporte de Scripts"
-
O.J deu reputação a luanluciano93 em (Resolvido)NPC de quest para Ot 8.60um modelo simples de npc para você entender ...
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 FUNCAO_NOME(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid,2516) >= 1 then -- SE TIVER 1 OU MAIS ITEM COM ID 2516 if doPlayerRemoveItem(cid,2516,1) then -- remove 1 ITEM DO ITEM COM ID 2516 npcHandler:say('Here is your item!', cid) -- MENSAGEM AO REMOVER O ITEM doPlayerAddItem(cid,5908,1) -- ADD 1 ITEM COM ID 5908 end else npcHandler:say('You don\'t have these items!', cid) end end local node2 = keywordHandler:addKeyword({'teste'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'vocÊ quer testar a função desse script?'}) node2:addChildKeyword({'yes'}, FUNCAO_NOME, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Até mais.', reset = true}) npcHandler:addModule(FocusModule:new()) Se tentar ler ela, você entenderá facilmente ...
DICA: use o notepad c++ ao envés do bloco de notas.
-
O.J deu reputação a luanluciano93 em (Resolvido)NPC de quest para Ot 8.60local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 FUNCAO_NOME(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local storage = 50001 if getPlayerStorageValue(cid, storage) ~= 1 then if getPlayerItemCount(cid,2516) >= 1 then -- SE TIVER 1 OU MAIS ITEM COM ID 2516 if doPlayerRemoveItem(cid,2516,1) then -- remove 1 ITEM DO ITEM COM ID 2516 npcHandler:say('Here is your item!', cid) -- MENSAGEM AO REMOVER O ITEM doPlayerAddItem(cid,5908,1) -- ADD 1 ITEM COM ID 5908 setPlayerStorageValue(cid, storage, 1) end else npcHandler:say('Você não tem o item!', cid) end else npcHandler:say('Você já fez a quest!', cid) end end local node2 = keywordHandler:addKeyword({'teste'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'vocÊ quer testar a função desse script?'}) node2:addChildKeyword({'yes'}, FUNCAO_NOME, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Até mais.', reset = true}) npcHandler:addModule(FocusModule:new())
-
O.J deu reputação a Vampira em [Tutorial] Criando quest log*Criando quest log por Action*
Como eu não achei nenhum tutorial desse por aqui resolvi criar um, neste tutorial ensinarei vocês a criar um quest log para suas quests
Oque é quest log: Quest Log tem a função de armazenar as quests que você fez ou está fazendo, mostrar em que parte da QUEST você está e como seguir adiante, etc...
Em data/XML abra o arquivo chamado quests.xml nele vai ter mais ou menos assim:
Entendendo:
Vermelho = Nome da sua Quest
Verde = Storage ID da Quest que vai aparecer no Quest Log
Azul = Numéro de Início da Quest
Negrito = Nome da Missão
Rosa = Storage da Missão
Laranja = Valor de Início da Missão
Marrom = Valor de Finalização
Preto = Descrição da Missão
Bom, agora que nós já entendemos o que cada coisa faz, podemos dar continuidade com o SCRIPT. aonde estáNome da Quest você deve colocar o Nome que vai aparecer no Quest Log, depois que você inseriu o nome da sua Quest você deve ir na pasta data/actions/scripts e achar o arquivo .lua da sua Quest, nele você apertaCTRL+F e depois digita isso aqui:
Depois que você encontrar este comando clique em Cancelar, depois vai ter mais ou menos isso:
Exemplo:
Relembrando que a cor Verde é o nosso Storage ID e o Azul é o nosso Comando de Início
Agora que nós achamos o nosso Storage ID e o nosso Comando de Início podemos preencher a primeira linha da nossa Quest assim:
Explicando um pouco para poder continuarmos com nosso Tutorial, uma quest é composta de Storages Values, cada movimento que você avança em sua Quest é dado um Storage Value novo.
EX: Você pega a Quest (Ganhou seu primeiro Storage Value), Você abriu o Baú (Ganhou seu Storage Value Final.). Isso quando você está fazendo a Quest por Action.
Então nós entendemos que na primeira linha da Quest nós precisamos por o Value de quando você pega a Quest. Agora continuando com o SCRIPT...
Nós vimos que o nosso Storage ID era 1 e o nosso Comando de Início era 1, então nós acabamos de preencher a primeira linha com os números que encontramos.
Agora nós vamos para a segunda linha, primeiramente você deve colocar o nome da sua missão, dai você me pergunta:
- Nós já não colocamos o nome da nossa Quest?
Resposta: Sim, nós colocamos o NOME DA QUEST agora vamos colocar o NOME DA MISSÃO, ou seja, aqueles nomes que fica no retângulo de cima quando você da SHOW na QUEST, aquilo é uma Missão.
Bom, depois que você colocou o Nome da sua Missão, como eu havia explicado antes sobre Storages Values, nós devemos pegar agora o nosso primeiro Storage Value novamente e o nosso primeiro Comando de início, ficando assim:
Pronto, nós preenchemos o nosso StorageValue e o nosso Comando de Início agora nós precisamos inserir o valor de término, depois que você pega o Baú (como expliquei ali em cima) você recebe o seu segundo Storage Value digamos que o meu seja assim:
Observe que o Storage Value de quando você pega o Baú tem 2 em vez de 1, isto porque o 2 é o número de encerramento da missão, então nós devemos colocar assim na segunda linha:
Resumindo, a nossa missão começa logo quando você recebe a missão do NPC e ela se completa quando você abre o Baú. Agora que a parte mais difícil já foi, vamos para a parte mais fácil do nosso SCRIPT, a Descrição da missão (a frase que aparece no quadro de baixo).
Esse
é o número da descrição, no caso nós colocamos apenas uma Missão então seria uma Descrição, se você colocar 2 Missão, você vai colocar e na outra você vai colocar depois da nossa missionstate tudo que devemos fazer é colocar nossa descrição onde está "Descrição da Missão.", ficando assim:
Lembrando que nunca se deve usar carácteres especiais, como:
Terminamos aqui nosso tutorial espero que tenham gostado
Creditos: meu
Inspiração: joaovbz
-
O.J deu reputação a MaXwEllDeN em {Simple} Level Points#Introdução
Este é um sistema muito simples e básico que eu fiz baseando-me no jogo Mu Online, no qual ao avançar de nível você ganha pontos que podem ser distribuídos para aumentar seus "stats".
#Instalação
Faça o download do sistema e cole na pasta do seu servidor.
@Creaturescripts
Depois abra a pasta creaturescripts/scripts que fica dentro da pasta data do seu servidor, abra o arquivo login.lua, com algum editor de texto, e lá no final antes do último return true cole a seguinte linha:
registerCreatureEvent(cid, "PointSystem") #Configuração No arquivo PointsSystem.lua da pasta lib L_LvlPoints = { vocPoints = { -- [Skill] = Pontos que ganha, [1] = 3, [2] = 3, [3] = 3, [4] = 5, [5] = 5, [6] = 5, [7] = 5, [8] = 8, }, entre Colchetes fica o id da vocation, e depois do sinal de igualdade a quantidade de pontos que ele ganhará por level que for upado. attributes = { ["vitalidade"] = {np = 2, vl = 5, nm = "Hit Points"}, -- Precisa usar 2 points para adicionar 10 de hp ["energy"] = {np = 4, vl = 2, nm = "Mana Points"}, ["magic"] = {np = 30, vl = 1, nm = "Magic Level"}, ["shielding"] = {np = 40, vl = 1, nm = "Shielding Skill"}, ["sword"] = {np = 20, vl = 1, nm = "Sword Skill"}, ["axe"] = {np = 20, vl = 1, nm = "Axe Skill"}, ["club"] = {np = 20, vl = 1, nm = "Club Skill"}, ["distance"] = {np = 20, vl = 1, nm = "Distance Skill"}, } np - quantidade de pontos para adicionar o stat vl - quanto vai adicioanar pelo np. Exemplo: ["vitalidade"] = {np = 2, vl = 5, nm = "Hit Points"}
Com 2 pontos eu compro 5 de HP
É isso ai galera, bye bye
-
O.J deu reputação a tonyplyson em [NPC] Quest de entregar items para npcsOlá galera do tibiaking , eu estava sem fazer nada (como sempre)
E Resolvi criar uma questzinha que da um Ars mais de RPG no servidor
é uma quest simples .
Funciona da segunte maneira
Eu chego para um NPC e falo
Player : Hi
NPC : Olá |PlayerName|, Eu Tenho uma missãozinha para voce!
Player : Mission
NPC: Entregue X Items para Marlon e Ganhe Uma X Recompensa!
Player: Yes
NPC: Obrigado , Boa sorte com sua jornada
Ai o player ganha um item.
Ai ele vai no Marlon e fala
Player: Hi
NPC: Olá |PlayerName|, Está terminando de fazer Uma Missao?
Player: Mission
NPC: Frederic Mandou Voce me Entregar Esse X Item?
Player : Yes
NPC: Obrigado Por me trazer esses items
----------------------------------------------
Então galera , maos a Obra
Primeiro , Abra a Pasta do OT/Data/NPC/ Copie um arquivo qualquer XML , Renomeie para frederic , e lá coloque
Depois abra a pasta Scripts do NPC. copie um arquivo qualquer lua, e renomeie para frederic e edntro dele coloque
Pronto , o NPC para voce pegar a missao está pronto
agora vamos criar o NPC para voce entregar o item e receber seu premio
Volte a pasta NPC , copie outro arquivo xml e renomeie para marlon , e dentro dele voce coloca
Agora vá de novo a pasta Scripts do NPC
e dentro dele , voce copia outro arquivo lua , renomeia para marlon e dentro dele voce coloca
Se voce quizer adicionar para o player dar como premio , EXP , basta voce adicionar
doPlayerAddExp(cid,30000) No lugar de 30000 , voce edita a quantidade de exp a ser adiiconada e para voce poe dentro da script voce procura a funçao doPlayerAddItem(cid,PREMIO,PQUANT)
e debaixo dele voce adiciona a função de adicionar a exp
Qualquer duvida sobre a script só perguntar
REP+ se ajudei
REP+ , se voce aprovou
REP+ , se voce usar em seu servidor
-
O.J deu reputação a tonyplyson em [NPC] Quest de entregar items para npcsNossa ki grande honra , ser elogiado pelo mestre em lua /o
fiquei mt feliz com o seu elogio quase xorei
flw hein
-
O.J deu reputação a xWhiteWolf em Spell que cai do céu!é só editar as áreas:
e no final vc muda quantas vezes vc quer que isso aconteça e de quanto em quanto tempo:
addEvent(onCastSpell1, 500, parameters) -- faz a area 1 em 0,5 segundo addEvent(onCastSpell2, 700, parameters) -- faz a area 2 em 0,7 segundo, 0,2 segundo a mais que a anterior addEvent(onCastSpell3, 900, parameters) -- . addEvent(onCastSpell4, 1200, parameters)-- . addEvent(onCastSpell5, 1300, parameters)-- . addEvent(onCastSpell6, 1500, parameters)-- . addEvent(onCastSpell7, 1700, parameters)-- . addEvent(onCastSpell8, 1800, parameters) -- faz a area 8 em 1,8 segundo, 0,1 segundo a mais que a anterior a lógica da coisa é essa daqui:
adicionarevento(lançarAMagiadeNumero1, em 500 milisegundos (1000 milisegundos = 1 segundo), utilizando os parametros definidos anteriormente) -
O.J deu reputação a xWhiteWolf em Spell que cai do céu!sim, é só desenhar as areas e colocar addEvent... segue esse exemplo aqui:
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat6 = createCombatObject() setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat7 = createCombatObject() setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat7, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) local combat8 = createCombatObject() setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat8, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -4, -70, -3, -90, 2, 2, 1, 4) arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr4 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr5 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr6 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr7 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr8 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) local area6 = createCombatArea(arr6) local area7 = createCombatArea(arr7) local area8 = createCombatArea(arr8) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) setCombatArea(combat6, area6) setCombatArea(combat7, area7) setCombatArea(combat8, area8) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end local function onCastSpell6(parameters) doCombat(parameters.cid, parameters.combat6, parameters.var) end local function onCastSpell7(parameters) doCombat(parameters.cid, parameters.combat7, parameters.var) end local function onCastSpell8(parameters) doCombat(parameters.cid, parameters.combat8, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6, combat7 = combat7 , combat8 = combat8 } --local nor = doCreatureSetLookDirection(cid, 0) --local sul = doCreatureSetLookDirection(cid, 2) --local les = doCreatureSetLookDirection(cid, 1) --local oes = doCreatureSetLookDirection(cid, 3) --addEvent(sul, 90) addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell3, 300, parameters) addEvent(onCastSpell4, 400, parameters) addEvent(onCastSpell5, 500, parameters) addEvent(onCastSpell6, 600, parameters) addEvent(onCastSpell7, 700, parameters) addEvent(onCastSpell8, 800, parameters) --1 addEvent(onCastSpell1, 900, parameters) addEvent(onCastSpell2, 1000, parameters) addEvent(onCastSpell3, 1200, parameters) addEvent(onCastSpell4, 1400, parameters) addEvent(onCastSpell5, 1500, parameters) addEvent(onCastSpell6, 1600, parameters) addEvent(onCastSpell7, 1700, parameters) addEvent(onCastSpell8, 1800, parameters) --2 addEvent(onCastSpell1, 1900, parameters) addEvent(onCastSpell2, 2000, parameters) addEvent(onCastSpell3, 2100, parameters) addEvent(onCastSpell4, 2200, parameters) addEvent(onCastSpell5, 2300, parameters) addEvent(onCastSpell6, 2400, parameters) addEvent(onCastSpell7, 2500, parameters) addEvent(onCastSpell8, 2600, parameters) --3 addEvent(onCastSpell1, 2700, parameters) addEvent(onCastSpell2, 2800, parameters) addEvent(onCastSpell3, 2900, parameters) addEvent(onCastSpell4, 3000, parameters) addEvent(onCastSpell5, 3100, parameters) addEvent(onCastSpell6, 3200, parameters) addEvent(onCastSpell7, 3300, parameters) addEvent(onCastSpell8, 3400, parameters) --4 addEvent(onCastSpell1, 3500, parameters) addEvent(onCastSpell2, 3600, parameters) addEvent(onCastSpell3, 3700, parameters) addEvent(onCastSpell4, 3800, parameters) addEvent(onCastSpell5, 3900, parameters) addEvent(onCastSpell6, 4000, parameters) addEvent(onCastSpell7, 4100, parameters) addEvent(onCastSpell8, 4200, parameters) --5 addEvent(onCastSpell1, 4300, parameters) addEvent(onCastSpell2, 4400, parameters) addEvent(onCastSpell3, 4500, parameters) addEvent(onCastSpell4, 4600, parameters) addEvent(onCastSpell5, 4700, parameters) addEvent(onCastSpell6, 4800, parameters) addEvent(onCastSpell7, 4900, parameters) addEvent(onCastSpell8, 5000, parameters) --6 addEvent(onCastSpell1, 5100, parameters) addEvent(onCastSpell2, 5200, parameters) addEvent(onCastSpell3, 5300, parameters) addEvent(onCastSpell4, 5400, parameters) addEvent(onCastSpell5, 5500, parameters) addEvent(onCastSpell6, 5600, parameters) addEvent(onCastSpell7, 5700, parameters) addEvent(onCastSpell8, 5800, parameters) --7 addEvent(onCastSpell1, 5900, parameters) addEvent(onCastSpell2, 6000, parameters) return true end -
O.J deu reputação a luanluciano93 em (Resolvido)Item que eu quero aparecem na bag do player quando ele mata tal monstroObrigado Max <3
-
O.J deu reputação a luanluciano93 em (Resolvido)Item que eu quero aparecem na bag do player quando ele mata tal monstrocara deixa tudo do jeito que ta o primeiro script, só muda essa linha :
["Azerus"] = {item_win = 2160, quantidade = 1}
Onde ta Azerus tu coloca o nome do monster, onde ta 2160 se coloca o id do item, só isso!
-
O.J deu reputação a luanluciano93 em (Resolvido)Item que eu quero aparecem na bag do player quando ele mata tal monstroTenta assim amigo ..
-- <event type="kill" name="Pascoa" script="pascoa.lua"/> function onKill(cid, target, damage, flags) local monster = { ["Demon"] = {item_win = 2160, quantidade = 1} } if(bit.band(flags, 1) == 1 and isMonster(target)) then if (monster[getCreatureName(target)]) == nil then return true end doPlayerAddItem(cid, monster[getCreatureName(target).item_win, monster[getCreatureName(target).quantidade) end return true end Eu sou inciante ainda, estou fazendo oque posso =x
-
O.J deu reputação a MaXwEllDeN em (Resolvido)Item que eu quero aparecem na bag do player quando ele mata tal monstroSó organizando melhor a ideia do Luan:
Primeiro adicione isso no arquivo data/creaturescripts/creaturescripts.xml:
<event type="kill" name="Pascoa" script="pascoa.lua"/> Depois, abra o arquivo data/creaurescripts/scripts/login.lua
e antes do ÚLTIMO return true, adicione isso:
registerCreatureevent(cid, "Pascoa") Ficando, por exemplo assim:
registerCreatureevent(cid, "Pascoa") return true end Depois, crie um arquivo de nome pascoa.lua na pasta data/creaturescripts/scripts
e adicione isso dentro dele:
local config = { -- NOME SEMPRE EM LETRAS MINÚSCULAS ["azerus"] = {item_win = 2160, quantidade = 1}, ["black knight"] = {item_win = 2160, quantidade = 10}, } function onKill(cid, target, damage, flags) local reward = config[getCreatureName(target):lower()] if isMonster(target) and reward then doPlayerAddItem(cid, reward.item_win, reward.quantidade) end return true end -
O.J deu reputação a luanluciano93 em (Resolvido)Item que eu quero aparecem na bag do player quando ele mata tal monstroFiz algo rápido aqui, não testei ..
-- <event type="kill" name="Pascoa" script="pascoa.lua"/> function onKill(cid, target, damage, flags) local config = { monster = { -- [Monster ] =(item_win = ID , quantidade = X} ["Azerus"] = {item_win = 2160, quantidade = 1} } } if(bit.band(flags, 1) == 1 and isMonster(target)) then local t = config.monster[getCreatureName(target)] if t == nil then return true end doPlayerAddItem(cid, item_win, quantidade) end return true end Só colocar em creaturescripts, a tag esta na primeira linha do script, e só de olhar acho que tu consegue configurar ...
Espero ter ajudado, abraços!