Tudo que Storm postou
-
[PEDIDO] PROIBIDO USAR MAGIA EM TAL LUGAR
Em cada spell , depois de : function onCastSpell(cid, var) Adicione local from = {x=1001, y=705, z=7} -- Começo do castle local to = {x=1031, y=737, z=7} -- Final do castle if isInRange(getCreaturePosition(cid), from, to) then doPlayerSendTextMessage(cid, 27, "voce não pode usar essa spell nessa area") return doSendMagicEffect(getCreaturePosition(cid), 2) end
-
(Resolvido)[PEDIDO] PARALYZE MODIFICADO
@Baiak Furion local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 27) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 60000) setConditionFormula(condition, 3.0, -24, 3.0, -24) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureCondition(cid, CONDITION_PARALYZE) then doSendMagicEffect(getCreaturePosition(cid), 1) return doPlayerSendTextMessage(cid, 27, "Não pode usar essa magia enquanto estiver paralizado") else return doCombat(cid, combat, var) end end
-
[PEDIDO] Spell Transferência de MP
??? O player que doa a MP irá perder a quantidade determinada por ele e o player que irá receber as MP ganhará a tal quantidade
-
Tfs 0.4
Simples , abre o remeres e remove partes inúteis do seu mapa e eu acho que em Options do programa deve ter alguma opção relacionada ao tamanho do mapa
-
(Resolvido)[PEDIDO] PARALYZE MODIFICADO
@Baiak Furion local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 27) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 60000) setConditionFormula(condition, 3.0, -24, 3.0, -24) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureCondition(cid) == CONDITION_PARALYZE then doSendMagicEffect(getCreaturePosition(cid), 1) return doPlayerSendTextMessage(cid, 27, "Não pode usar essa magia enquanto estiver paralizado") end return doCombat(cid, combat, var) end
-
(Resolvido)Script para disisti do evento Capture the flag
@Jociel Agora eu entendi , o problema é nos creatureevents : function removePlayerCTF(cid) doPlayerSetTown(cid, getPlayerStorageValue(cid, 16701)) doTeleportThing(cid, getTownTemplePosition(getPlayerStorageValue(cid, 16701))) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) setPlayerStorageValue(cid, 16701, -1) setPlayerStorageValue(cid, 16700, -1) return true end function onStepIn(cid, item, position, fromPosition) removePlayerCTF(cid) unregisterCreatureEvent(cid, "CTFLogout") unregisterCreatureEvent(cid, "CTFAttack") unregisterCreatureEvent(cid, "CTFCombat") unregisterCreatureEvent(cid, "CTFDeath") return true end
-
(Resolvido)Script para disisti do evento Capture the flag
Ele continuar participando do evento de que modo ?
-
(Resolvido)Script para disisti do evento Capture the flag
Ok , tenta assim então : function removePlayerCTF(cid) doPlayerSetTown(cid, getPlayerStorageValue(cid, 16701)) doTeleportThing(cid, getTownTemplePosition(getPlayerStorageValue(cid, 16701))) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) setPlayerStorageValue(cid, 16701, -1) setPlayerStorageValue(cid, 16700, -1) return true end function onStepIn(cid, item, position, fromPosition) removePlayerCTF(cid) return true end
-
(Resolvido)Script para disisti do evento Capture the flag
Essa script acima que você passou do CTF , você colocou ela na pasta LIB ?
-
(Resolvido)Script para disisti do evento Capture the flag
Cria um teleporte que manda pro templo e no TILE embaixo dele , coloque ; XML <movevent type="StepIn" actionid="920" event="script" value="ip.lua"/> Script function onStepIn(cid, item, position, fromPosition) CTF.removePlayer(cid) return true end Basicamente é um tile que remove o player do evento.
-
(Resolvido)[PEDIDO] PARALYZE MODIFICADO
Manda a script do utani gran hur
-
[PEDIDO] Eventos
Chuva de itens XML <talkaction log="yes" words="/chuva" access="5" event="script" value="chuva.lua"/> Script function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end -- local itens = {{2160, 10}, {2150, 3}, {2155, 1}} -- {ITEM ID, COUNT}, {ITEM ID, COUNT} local from = {x = 92, y = 114, z = 7} local to = {x = 98, y = 120, z = 7} local chance = 30 -- Chance de cada item ser criado de 1 a 100 local max = 20 -- Máximo de itens em cada vez que usar o comando local effect = 5 -- Efeito ao criar o item function onSay(cid, words, param, channel) local spawned = 0 for x = from.x, to.x do for y = from.y, to.y do for z = from.z, to.z do if math.random(1, 100) <= chance and spawned <= max then local pos = {x = x, y = y, z = z} if isWalkable(pos, false, false, false) then local item = math.random(1, #itens) doCreateItem(itens[item][1], math.random(1, itens[item][2]), pos) doSendMagicEffect(pos, effect) spawned = spawned + 1 end end end end end return doBroadcastMessage("Chuva de itens iniciou", 12) end
-
Magia de Summon nova
@bernasch Já existe uma script assim e ela vem em todos os servidores por padrão , basta você mudar alguns detalhes <instant name="Summon Creature new" words="utevo res new" lvl="300" params="1" exhaustion="2000" needlearn="0" event="function" value="summonMonster"> <vocation id="1"/> </instant> Se não for assim que você quer , pode me mandar algum exemplo ?(Vídeo , imagem)
-
(Resolvido)Npc que dê outfitte por Quest
E qual erro que dá ?
-
[PEDIDO] Eventos
@joaopedrosilvano Sobre a chuva de itens , seria automático em X hora ou seria ativado manualmente pelo administrador ?
-
(Resolvido)Npc que dê outfitte por Quest
Testei pelo outfits.xml e foi , não seria um problema de configuração seu ?
-
(Resolvido)Npc que venda Livro com Texto
Tava faltando uns parametros , aqui vai : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local money = 1000 -- Custo local id = 7122 -- id do Book local text = "Livro misterioso" if(msgcontains(msg, 'yes')) then if doPlayerRemoveMoney(cid, money) then doSetItemText(doPlayerAddItem(cid, id, 1), text) selfSay('Obrigado', cid) else selfSay('Você precisa de '.. money ..' de money para comprar esse livro', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
(Resolvido)Npc que dê outfitte por Quest
@peterson18 Então vamos fazer do jeito classico , XML > OUTFITS.XML , deixei a tag da outfit que você quer que ganhe assim <outfit id="2" quest="181654"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> Observe que quest é uma storage , que voce vai colocar respectivamente na script que te passarei : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local storage = 35678 -- monster kill | local sto = 24529 -- don't pick premio | ---- | Não mecha nessa gambiarra aqui , só certifique que nenhuma dessas storages sejam usadas em outros sistemas local rage = 24525 -- inicializate contage | local ok = 45651 -- don't inicializate | local exp = 100 -- Quantidade de XP local monster = 100 -- Quantos monstros terá que matar local outfit = 181654 -- Storage que está na outfits.xml if(msgcontains(msg, 'premio')) then if getPlayerStorageValue(cid, sto) == -1 then if getPlayerStorageValue(cid, storage) >= 100 then selfSay("You have finished the task", cid) doPlayerAddExp(cid, exp) doSendMagicEffect(getCreaturePosition(cid), 5) setPlayerStorageValue(cid, rage, -1) setPlayerStorageValue(cid, sto, 1) setPlayerStorageValue(cid, fuck, 1) setPlayerStorageValue(cid, outfit, 1) else selfSay("You need kill 100 monsters do finish the task", cid) end else selfSay("back from here nigga", cid) end end if(msgcontains(msg, 'accept')) then if getPlayerStorageValue(cid, ok) == -1 then selfSay("You have intialized the task", cid) setPlayerStorageValue(cid, ok, 1) setPlayerStorageValue(cid, rage, 1) else selfSay("You started the task", cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
(Resolvido)Npc que dê outfitte por Quest
@peterson18 Se você observar bem , na penúltima linha desse erro , olhe a tradução Outfit has not all four directions = Outfit não tem todas as quatro direções Tente colocar outra outfit e veja se funciona.
-
(Resolvido)Npc que venda Livro com Texto
@peterson18Tenta mudar a xml pra essa <?xml version="1.0" encoding="UTF-8"?> <npc name="Booker" script="data/npc/scripts/book.lua" walkinterval="2000" speed="100" floorchange="0"> <health now="100" max="100"/> <look type="167" head="38" body="79" legs="107" feet="114"/> <parameters> <parameter key="message_greet" value="I' have a book for you , say {yes} "/> </parameters></npc>
-
[PEDIDO] Sistema de contagem para uma determinada arena de PVP
@TicioMadara Enfim , a mensagem não aparece para quem está fora da arena se você tiver configurado corretamente e segundo , esses caracteres que você quer não são típicos de um servidor , nesse caso ai são Effects , o que você pode fazer é configurar nessa parte doPlayerSendTextMessage(area[i], 21, "3") addEvent(doPlayerSendTextMessage, 1000 , area[i], 21, "2") addEvent(doPlayerSendTextMessage, 2000 , area[i], 21, "1") addEvent(doPlayerSendTextMessage, 3000 , area[i], 21, "GO!") Onde 21 é o tipo de mensagem enviada , sendo elas : MESSAGE_FIRST = 18 MESSAGE_STATUS_CONSOLE_RED = MESSAGE_FIRST MESSAGE_EVENT_ORANGE = 19 MESSAGE_STATUS_CONSOLE_ORANGE = 20 MESSAGE_STATUS_WARNING = 21 MESSAGE_EVENT_ADVANCE = 22 MESSAGE_EVENT_DEFAULT = 23 MESSAGE_STATUS_DEFAULT = 24 MESSAGE_INFO_DESCR = 25 MESSAGE_STATUS_SMALL = 26 MESSAGE_STATUS_CONSOLE_BLUE = 27 Onde está 1000 , 2000 , 3000 são os milissegundos de atraso que as mensagens são enviadas
-
Tfs 0.4
Pode ser a máquina que não é muito boa e também pode ser o tamanho do mapa que está grande demais e isso consume muita memória.
-
[PEDIDO] Sistema pra abrir inscrições torneio, fechar inscrições e iniciar torneio
@TicioMadara Essa talkactions apenas envia o broadcast , pois não sei como funciona seu sistema de torneio , lembrando que o /torneio iniciar eu já te respondi em outro tópico. -- XML = <talkaction log="yes" words="/torneio" access="5" event="script" value="torneio.lua"/> function onSay(cid, words, param, channel) if param == "abrir" then doBroadcastMessage("As inscrições para o Torneio de Kanto foram iniciadas", 12) -- /torneio abrir return true end if param == "fechar" then doBroadcastMessage("Inscrições fechada", 12) -- /torneio fechar return true end end
-
[PEDIDO] Sistema de contagem para uma determinada arena de PVP
@TicioMadara Perdão , erro meu , agora vai : function getPlayersInArea(fromPos, toPos) playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x = x, y= y, z = z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end function onSay(cid, words, param, channel) local fromPos = {x = 10, y = 10, z = 7} local toPos = {x = 5, y = 5, z = 7} local area = getPlayersInArea(fromPos, toPos) if area then for i=1, #area do doPlayerSendTextMessage(area[i], 12, "3") addEvent(doPlayerSendTextMessage, 1000 , area[i], 12, "2") addEvent(doPlayerSendTextMessage, 2000 , area[i], 12, "1") addEvent(doPlayerSendTextMessage, 3000 , area[i], 12, "GO!") end else doPlayerSendTextMessage(cid, 27, "Não tem nenhum player na área") end end
-
(Resolvido)Npc que dê outfitte por Quest
Tem um simbolo na linha 27 , retire porque você está copiando e colando a script errado , ou se preferir faça o DOWNLOAD da script : task.lua