Ir para conteúdo

SkyLigh

Lorde
  • Total de itens

    2183
  • Registro em

  • Última visita

  • Dias Ganhos

    23

Tudo que SkyLigh postou

  1. Duvida Sanada reportado Para um Superior
  2. use o xml assim <?xml version="1.0" encoding="UTF-8"?> <monster name="Clefable" nameDescription="a clefable" race="normal" experience="288" speed="0" manacost="0"> <health now="130" max="130"/> <look type="419" head="60" body="80" legs="95" feet="113" corpse="11854"/> <targetchange interval="10000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> <flag hungerdelay="19"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Doubleslap" interval="2617" chance="30" range="1"/> <attack name="Sing" interval="5625" chance="31" range="6"/> <attack name="Multislap" interval="3920" chance="20" range="4"/> <attack name="Lovely Kiss" interval="3920" chance="20" range="3"/> <attack name="Selfheal" interval="5625" chance="18" range="6"/> <attack name="Healarea" interval="5625" chance="18" range="6"/> <attack name="Great Love" interval="4125" chance="18" range="6"/> <attack name="Focus" interval="4625" chance="18" range="6"/> <attack name="Metronome" interval="6330" chance="17" range="6"/> </attacks> <defenses armor="0" defense="0"/> <voices interval="5000" chance="10"> <voice sentence="CLEFABLE!"/> </voices> <loot> <item id="12179" chance="4000" count="1" countmax="1"/> <item id="11453" chance="100" count="1" countmax="1"/> </loot> <script> <event name="Spawn"/> </script> <event name="BlockSpells"/> <event name="BlockHit"/> <event name="Configuration"/> <event name="AvoidLook"/> <event name="Exp"/> </script> </monster> em data / lib / speed.lua configura a speed do monster
  3. duvida sanada reportado para um superior
  4. SkyLigh

    Walkback

    então tente assim local SPECIAL_QUESTS = {2001} function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor, creatures) if(not isPlayer(cid)) then return true end if(isContainer(item.uid)) then if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then return true end elseif getTileInfo(position.creatures) == 1 then return true end if(fromPosition.x == 0) then -- player just logged in fromPosition = getTownTemplePosition(getPlayerTown(cid)) doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) end doTeleportThing(cid, fromPosition, true) return true end
  5. veja assim local config = { doorPosition = {x = 100, y = 100, z = 7}, doorID = 1000, minAccess = 6, message = { doorOpen = "The door has been opened!", doorClose = "The door has been closed!" } } function onUse(cid, item, frompos, item2, topos) if getPlayerAccess(cid) >= config.minAccess then local item = getTileItemById(config.doorPosition, config.doorID) if item.uid > 0 then doRemoveItem(item.uid, 1) doPlayerSnedTextMessage(cid, 22, config.message.doorOpen) else doCreateItem(config.doorID, 1, config.doorPosition) doPlayerSendTextMessage(cid, 22, config.message.doorClose) end end return true end
  6. Achei na net -- POR MASTERCRAFT (######) / BRUN123 (xtibia.com) -- Para um pokemon tornar-se passivo, você deve adicionar a seguinte tag no final do arquivo XML do monstro (antes de </monster>) as seguintes tags: <script> <event name="BlockSpells"/> <event name="BlockHit"/> <event name="Configuration"/> <event name="AvoidLook"/> <event name="Exp"/> </script> LEMBRANDO: Deve-se colocar a velocidade (speed) do monstro = 0, senão não funcionará. Agora vai em data/lib/speed.lua, aqui você deve colocar a velocidade que o monstro vai ter ao ser atacado por algum player. Se não for adicionado aqui, o monstro ficará com a velocidade 145. OBS: EM MONSTROS AGRESSIVOS, DEVE-SE COLOCAR A TAG: <script> <event name="Exp"/> </script> ISSO É PARA O FUNCIONAMENTO GERAL DO MONSTRO. ESSA TAG DEVE ESTAR EM CADA MONSTRO SELVAGEM SENDO AGRESSIVO OU NÃO. LEMBRANDO QUE POKEMONS SELVAGEM TEM UM "S" NA FRENTE DO NOME. EXEMPLO: "Bellsprout s". OS POKEMONS DE PLAYERS NÃO TEM ESSE "S" NA FRENTE E NÃO É NECESSÁRIO ADICIONAR NENHUM TIPOE DE SCRIPT NELE.
  7. Duvida sanada reportado Para um superior
  8. Título Irregular Reportado Para um superior
  9. achei um do lordbug tenta ai local gatepos = {x=9845, y=10284, z=15, stackpos=1} --posição do primeiro portão local gatepos2 = {x=9845, y=10284, z=15, stackpos=1} -- posição do segundo portão,altere local g = 1355 --id do primeiro portão local g2 = 1355 --id do segundo portão function onUse(cid, item, frompos, item2, topos) local getgate = getThingfromPos(gatepos) local getgate2 = getThingfromPos(gatepos2) if item.itemid == 1945 and getgate.itemid == g and getgate2.itemid == g2 then doRemoveItem(getgate.uid, 1) doRemoveItem(getgate2.uid, 1) doTransformItem(item.uid, item.itemid+1) elseif item.itemid == 1946 and getgate.itemid == 0 and getgate2.itemid == 0 then doCreateItem(g, 1, gatepos) doCreateItem(g2, 1, gatepos2) doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid,"Sorry, not possible.") end return 1 end
  10. Duvida Sanada Reportado Para Um Superior
  11. Duvida Sanada Reportado Para Um Superior
  12. SkyLigh

    Walkback

    faza assim local SPECIAL_QUESTS = {2001} function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(isContainer(item.uid)) then if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then return true end elseif getTileInfo(position.creatures) <= 1 then return true end if(fromPosition.x == 0) then -- player just logged in fromPosition = getTownTemplePosition(getPlayerTown(cid)) doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) end doTeleportThing(cid, fromPosition, true) return true end
  13. SkyLigh

    Reset !

    veja assim --[[ SCRIPTING> MarcelloMkez <scriptING ]] --[[ [Advanced Reset System] Autor: MarcelloMkez Versão: 1.0 TFS: 0.3.6 Testado em: 8.50 Fórum: www.xtibia.com/forum/topic/138026-talk-action-advanced-reset-system/ [Características] ~ Versão 1.0 ~ - Resets no Look; - Premium Account ou não; - Mudar Vocação; - Limite de Resets; - Opções para Abilitar e Desabilitar Condições; [Em Construção] - Stages Free e Premium; - 'Talvez' um novo sistema de mudar Vocação; sem data para postagem. ]] function onSay(cid, words, param) --[Configurações de Condição]__ config = { --[[verdadeiro / Falso]] needPa = false, -- Precisa de Premium Account? [true / false] needPz = true, -- Precisa estar em Protection Zone? [true / false] battle = true, -- Precisa estar sem Batlle para Resetar? [true / false] withe = false, -- Players PK Withe pode Resetar? [true / false] red = false, -- Players PK Red pode Resetar? [true / false] tp = true, -- Teleportar para o Templo após o reset? [true / false] look = true, -- Mostrar Resets no Look do Player? [true / false] addLimite = true, -- Abilitar Limite de Resets? [true / false] setClasse = false, -- Mudar Vocação do player quando resetar? [true / false] storage = 2310, -- Storage [valor] --[Configurações do Reset]__ resetStatus = { player = getPlayerGUID(cid), -- Não Mude. lvl = 717217, -- Level Necessário para Resetar. [valor] lvlreset = 8, -- Level que retornará após o Reset. [valor] limite = 100, -- Máximo de resets que um player pode chegar. [valor] newClasse = 1, -- Id da Nova Vocação após o Reset. [valor] tempo= 3 -- Tempo para o Player deslogar para Resetar. Em segundos. [valor] }, } --[Funções]__ function Reseting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function noAll(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noTeleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noLook(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) return TRUE end function noClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function setClasse(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doPlayerSetVocation(cid, config.resetStatus.newClasse) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function look(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function teleporting(cid) resets = getResets(cid) setPlayerStorageValue(cid,config.storage,resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) doPlayerAddExperience(cid, - getPlayerExperience(cid) + getExperienceForLevel(LEVEL)) db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player) return TRUE end function getResets(cid) resets = getPlayerStorageValue(cid,config.storage) if resets < 0 then resets = 0 end return resets end local resets = getResets(cid) local needLvl ="You need "..config.resetStatus.lvl-getPlayerLevel(cid).." level's to reset." local msg ="~[Reset: "..getResets(cid).."]~ 'Reset to Success! You will be logged out in "..config.resetStatus.tempo.." Seconds." --[Condiçoes]__ if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"You Need Protection Zone to be Reset.") return TRUE elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then doPlayerSendTextMessage(cid, 22, "Congratulations, you reached the limit of Resets.") return TRUE elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid,22,"You PK White, so I Can not reset.") return TRUE elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid,22,"You PK Red, so I Can not reset.") return TRUE elseif(config.needPa == true) and not isPremium(cid) then doPlayerSendTextMessage(cid,22,"You need to be Premium Account Reset.") return TRUE elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid,22,"You need to be out of Battle Reset.") return TRUE elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then addEvent(Reseting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then addEvent(noAll, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then addEvent(noLook, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then addEvent(noClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then addEvent(setClasse, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then addEvent(look, config.resetStatus.tempo* 1000, cid) elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then addEvent(teleporting, config.resetStatus.tempo* 1000, cid) elseif doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, needLvl) then doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return TRUE end if doPlayerPopupFYI(cid, msg) then end return TRUE end --[by: MarcelloMkez]__
  14. tente assim local gatepos = {x=1351, y=1666, z=5, stackpos=1} --posição do primeiro portão local gatepos2 = {x=1352, y=1666, z=5, stackpos=1} -- posição do segundo portão,altere local gatepos3 = {x=1353, y=1666, z=5, stackpos=1} -- posição do segundo portão local g = 9485 --id do primeiro portão local g2 = 9485 --id do segundo portão local g3 = 9485 --id do terceiro portão function onUse(cid, item, frompos, item2, topos) local getgate = getThingfromPos(gatepos) local getgate2 = getThingfromPos(gatepos2) local getgate3 = getThingfromPos(gatepos3) if item.itemid == 9797 and getgate.itemid == g and getgate2.itemid == g2 and getgate3.itemid == g3 then doRemoveItem(getgate.uid, 1) doRemoveItem(getgate2.uid, 1) doRemoveItem(getgate3.uid, 1) doTransformItem(item.uid, item.itemid+1) elseif item.itemid == 9826 and getgate.itemid == 1 and getgate2.itemid == 1 and getgate3.itemid == 1 then doCreateItem(g, 1, gatepos) doCreateItem(g2, 1, gatepos2) doCreateItem(g3, 1, gatepos3) doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid,"Nao e possivel.") end return 1 end
  15. qual erro que acontece no console
  16. tente assim local gatepos = {x=1351, y=1666, z=5, stackpos=1} --posição do primeiro portão local gatepos2 = {x=1352, y=1666, z=5, stackpos=1} -- posição do segundo portão,altere local gatepos3 = {x=1353, y=1666, z=5, stackpos=1} -- posição do segundo portão local g = 9485 --id do primeiro portão local g2 = 9485 --id do segundo portão local g3 = 9485 --id do terceiro portão function onUse(cid, item, frompos, item2, topos) local getgate = getThingfromPos(gatepos) local getgate2 = getThingfromPos(gatepos2) local getgate3 = getThingfromPos(gatepos3) if item.itemid == 9797 and getgate.itemid == g and getgate2.itemid == g2 and getgate3.itemid == g3 then doRemoveItem(getgate.uid, 1) doRemoveItem(getgate2.uid, 1) doRemoveItem(getgate3.uid, 1) doTransformItem(item.uid, item.itemid+1) elseif item.itemid == 9826 and getgate.itemid == 0 and getgate2.itemid == 0 and getgate3.itemid == 0 then doCreateItem(g, 1, gatepos) doCreateItem(g2, 1, gatepos2) doCreateItem(g3, 1, gatepos3) doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid,"Nao e possivel.") end return 1 end
  17. Veja assim. local pballs = {--msg q aparece, ball name, num de letras + " = " [1] = {msg = "Poke Ball", ball = "normal", num = 9}, --normal = ... 9 letras [2] = {msg = "Great Ball", ball = "great", num = 8}, --great = ... 8 letras [3] = {msg = "Super Ball", ball = "super", num = 8}, [4] = {msg = "Ultra Ball", ball = "ultra", num = 8}, [5] = {msg = "Saffari Ball", ball = "saffari", num = 10}, } local function sendBrokesCountMsg(cid, name, str) if getPlayerStorageValue(cid, str) == -1 then doPlayerSendTextMessage(cid, 27, "You haven't wasted any pokeball to try catch a "..name) return true end local t = string.explode(getPlayerStorageValue(cid, str), ",") local msg = "You have wasted: " local n = 0 for a = 1, #t do local st2 = string.sub(t[a], d + pballs[a].num, e +5) if tonumber(st2) ~= 0 then if n ~= 0 then msg = msg..", " end if tonumber(st2) ~= 1 then msg = msg..st2.." "..pballs[a].msg.."s" n = n +1 else msg = msg..st2.." "..pballs[a].msg n = n +1 end end end msg = msg.." to try catch a "..name..", ultil now." if n == 0 then msg = "You haven't wasted any pokeball to try catch a "..name end doPlayerSendTextMessage(cid, 27, msg) end function onSay(cid, words, param) if(param == '') then doPlayerSendTextMessage(cid, 27, "Enter with a pokemon name...") return true elseif newpokedex[doCorrectPokemonName(param)] then local storage = newpokedex[doCorrectPokemonName(param)].stoCatch local name = doCorrectPokemonName(param) sendBrokesCountMsg(cid, name, storage) else doPlayerSendTextMessage(cid, 27, "This isn't a pokemon...") return true end return true end
  18. Troquei algumas funções veja se melhora
  19. function onTime() function doBroadSave(delay) local shallow = "no" if delay ~= 0 then doBroadcastMessage("[sS GLOBAL SERVER SAVE] O server será desligado em "..delay.." Minuto"..(delay > 1 and "s" or "")) doSaveServer(shallow) else doSaveServer() doShutdown() end end doBroadSave(5) return true end
  20. não entendi muito o seu pedido mais veja este http://www.xtibia.com/forum/topic/189703-arena-sobrevivencia-event-system/
  21. so você usar assim function onSay(cid, words, param) local itens = { ["2173"] = {cash = 2157, palavr = "aol", count = 1}, ["2677"] = {cash = 2157, palavr = "food", count = 100} } for k,v in pairs(itens) do if (words == "buy") then if param == v.palavr then if doPlayerRemoveItem(cid,itens.cash,itens.count) == true then doPlayerAddItem(cid, k, v.count) else doPlayerSendCancel(cid, "Desculpe, Você não tem dinheiro suficiente") end end end end end ali em cash poem o id do gold nugget
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...