Ir para conteúdo

Sttorm

Campones
  • Total de itens

    22
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Histórico de Reputação

  1. Upvote
    Sttorm recebeu reputação de ITALOx em [NtoLost.com] Anti-red System   
    Talkactions
    -- <talkaction words="!antired" event="script" value="antired.lua"/> function onSay(cid, words, param) local storage = 43686 if (param == '') then doSendMagicEffect(getCreaturePosition(cid), 2) return doPlayerSendTextMessage(cid, 25, "Digite !PVP ON ou OFF") end if (param == 'OFF') then doSendMagicEffect(getCreaturePosition(cid), 2) setPlayerStorageValue(cid, storage, 1) return doPlayerSendTextMessage(cid, 25, "Você desabilitou o PVP") end if (param == 'ON') then doSendMagicEffect(getCreaturePosition(cid), 2) setPlayerStorageValue(cid, storage, -1) return doPlayerSendTextMessage(cid, 25, "Você habilitou o PVP") end end CreatureScripts
    -- <event type="attack" name="offattack" event="script" value="killdeath.lua"/> -- <event type="statschange" name="offstats" event="script" value="killdeath.lua"/> -- registerCreatureEvent(cid, offattack) -- registerCreatureEvent(cid, offstats) local storage = 43686 function onAttack(cid, target) local pos = getCreaturePosition(cid) if isPlayer(cid) and isPlayer(target) and getPlayerStorageValue(cid, storage) == 1 then doPlayerSendTextMessage(cid, 23, "Você não pode atacar enquanto estiver com o PvP OFF") doSendMagicEffect(pos, 2) return false end return true end function onStatsChange(cid, attacker, type, combat, value) local storage = 43686 if value >= 1 and (type == STATSCHANGE_HEALTHLOSS or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == STATSCHANGE_MANALOSS)) and isPlayer(attacker) then if getPlayerStorageValue(attacker, storage) == 1 then doPlayerSendTextMessage(attacker, 23, "Você não pode atacar enquanto estiver com o PvP OFF") doSendMagicEffect(getCreaturePosition(attacker), 2) return false end end return true end  
  2. Upvote
    Sttorm recebeu reputação de ElementalOT em [REWORK] Naruto B&W Open Source !! Att 06/07   
    ATUALIZADO DIA 06/07
     
    Hey guys , suave ? Hoje vim trazer o rework da base Nto B&W , sendo refeita por mim , Segue as informações
    Se achar algum bug comente no tópico.
    Scan acusando vírus , já passei Nod32 e Norton e não encontrou vírus , apenas dll's necessárias para funcionar 
     
    Informações
     
    Erros e Bugs
     
    Prints
     
    Downloads
     
    Créditos
  3. Upvote
    Sttorm recebeu reputação de Shiroe em Qual tipo de servidor vale a pena investir?   
    Na minha opinião , nenhum. O Tibia e sua comunidade está acabando aos poucos , sendo muito difícil um Ot se tornar grande hoje em dia devido as concorrências, mesmo fazendo um excelente Ot , sempre vai haver melhores .
  4. Upvote
    Sttorm recebeu reputação de Stigal em [Resolvido] Anti summon   
    No código do summon , na primeira linha após a função principal adicione ; 
     
    local from,to = {x=1001, y=705, z=7},{x=1031, y=737, z=7} -- começo e final do local if isInRange(getCreaturePosition(cid), from, to) then doPlayerSendCancel(cid, "Você não pode usar summon nessa área") return true end  
  5. Upvote
    Sttorm recebeu reputação de Stigal em [Resolvido] NPC PEDE STORAGE PRA VIAJAR   
    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 storage = 11234 -- Storage local pos = {x = 100, y = 200, z = 7} -- Local que ele será teleportado; local item = 2150 -- ID do item local count = 10 -- Count do item local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'travel')) then if getPlayerStorageValue(cid, storage) >= 1 then if doPlayerRemoveItem(cid, item, count) then doTeleportThing(cid, pos) selfSay('Thanks!!!', cid) else selfSay('you dont have the item', cid) end else selfSay('you dont have the storage', cid) end else selfSay('say [travel]', cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  6. Upvote
    Sttorm recebeu reputação de leozinpbb em [Resolvido] NPC PEDE STORAGE PRA VIAJAR   
    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 storage = 11234 -- Storage local pos = {x = 100, y = 200, z = 7} -- Local que ele será teleportado; local item = 2150 -- ID do item local count = 10 -- Count do item local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'travel')) then if getPlayerStorageValue(cid, storage) >= 1 then if doPlayerRemoveItem(cid, item, count) then doTeleportThing(cid, pos) selfSay('Thanks!!!', cid) else selfSay('you dont have the item', cid) end else selfSay('you dont have the storage', cid) end else selfSay('say [travel]', cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  7. Upvote
    Sttorm recebeu reputação de rpaliotta em [REWORK] Naruto B&W Open Source !! Att 06/07   
    A source está junto ao datapack.
     
     
     
    È simples , copie e cole a DAT e SPR em outra pasta e as passe para 8.60 , ou use o client para editar o items.otb
  8. Upvote
    Sttorm recebeu reputação de bradoock em [REWORK] Naruto B&W Open Source !! Att 06/07   
    ATUALIZADO DIA 06/07
     
    Hey guys , suave ? Hoje vim trazer o rework da base Nto B&W , sendo refeita por mim , Segue as informações
    Se achar algum bug comente no tópico.
    Scan acusando vírus , já passei Nod32 e Norton e não encontrou vírus , apenas dll's necessárias para funcionar 
     
    Informações
     
    Erros e Bugs
     
    Prints
     
    Downloads
     
    Créditos
  9. Upvote
    Sttorm recebeu reputação de Ryuunosuke em [REWORK] Naruto B&W Open Source !! Att 06/07   
    ATUALIZADO DIA 06/07
     
    Hey guys , suave ? Hoje vim trazer o rework da base Nto B&W , sendo refeita por mim , Segue as informações
    Se achar algum bug comente no tópico.
    Scan acusando vírus , já passei Nod32 e Norton e não encontrou vírus , apenas dll's necessárias para funcionar 
     
    Informações
     
    Erros e Bugs
     
    Prints
     
    Downloads
     
    Créditos
  10. Upvote
    Sttorm recebeu reputação de Ryuunosuke em [REWORK] Naruto B&W Open Source !! Att 06/07   
    Atualizado dia 06/07 . Acrescentado o client para editar o mapa e items.otb.
  11. Upvote
    Sttorm recebeu reputação de pokemonxps em [NTO] Kuchyose no jutsu!!   
    Venho trazer uma script que o nome ja diz tudo , você fala o nome da spell e ela invoca o summon.

    Spells.xml
    <instant name="Kuchyose gamaguren" words="Kuchyose gamaguren" lvl="200" mana="2500" prem="0" aggressive="0" exhaustion="10000" needlearn="0" event="script" value="naruto/pet.lua"> <vocation id="1"/> </instant> Configure de acordo com o que está pedindo , exemplo : Lvl : 200 -- Coloque o level que o player poderá usar a spell.

    Script ( Explicações na propria script )
    function onCastSpell(cid, var)local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapalocal from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapalocal playerpos = getPlayerPosition(cid)local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} -- Não mechalocal position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} -- Não mecha local MaximoSummon = 1 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 1 Cloneslocal monster = "Gamaguren" -- Nome do monstro que será sumonadolocal effect = 5local summons = getCreatureSummons(cid)if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) thendoPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return trueendif(table.maxn(summons) < MaximoSummon) then -- no summonslocal clone = doCreateMonster(monster, playerpos)doConvinceCreature(cid, clone)doSendMagicEffect(position1, effect)doSendMagicEffect(position2, effect)doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') return TRUEendend  
  12. Upvote
    Sttorm recebeu reputação de PablinRush em [WEAPON] Wand com Critico   
    XML
    <wand id="2524" level="100" event="script" value="sound.lua"> </wand> SCRIPT
    local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 4)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -7.2, 1, -3.3, 1)local critical = createCombatObject()setCombatParam(critical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(critical, COMBAT_PARAM_DISTANCEEFFECT, 2)setCombatFormula(critical, COMBAT_FORMULA_LEVELMAGIC, -14.2, 1, -6.3, 1)function onUseWeapon(cid, var)local chance = 5 -- porcentagem de chance de dar criticalif isCreature(getCreatureTarget(cid)) and math.random(1,100) <= chance thendoCombat(cid, critical, var)local targetpos = getCreaturePosition(getCreatureTarget(cid))local pos = {x=targetpos.x+1, y=targetpos.y+1, z=targetpos.z}doSendMagicEffect(pos, 86)doSendAnimatedText(getCreaturePosition(cid), "S O U N D!", math.random(1,255))elsedoCombat(cid, combat, var)endreturn trueend  
  13. Upvote
    Sttorm recebeu reputação de DarkWore em [NTO] New saga system   
    XML
    <talkaction words="!saga" event="script" value="saga.lua"/> Script 
    local saga = {-- Minato ---[11] = {727,728,729,730,731,732,733,734},-- Hashirama ---[10] = {2,3,4,5,6,7,8,9,10,11,12,13},-- Shikamaru ---[9] = {824,825,826,827,823,828},-- Tenten ---[8] = {814,815,816,817,818,819,820,821,822},-- Kakashi ---[7] = {1040, 1037, 1036, 1032, 1035, 1034, 1033, 1031, 1030, 1038, 1044, 1045},-- Hinata ---[6] = {24,327,857,858,859,860,855,600},-- Neji ---[5] = {832,833,834,835,836,837,830,831},-- Sakura ---[4] = {175,171,665,664,667,668,611,612},-- Lee ---[3] = {843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 1026, 1027, 1028, 1029},-- Sasuke ---[2] = {1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023,906,907,908, 1024, 1025},-- Naruto ---[1] = {1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1009, 1008, 1010, 1011, 1012, 1013, 1014, 1015},}local level = 25 -- Limite para liberar uma saga novafunction onSay(cid, words, param, channel)if exhaustion.check(cid, 120) == TRUE thendoPlayerSendCancel(cid, "You are exhausted.")doSendMagicEffect(getCreaturePosition(cid), 3)return TRUEend if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true endif not saga[getPlayerVocation(cid)] thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.")exhaustion.set(cid, 120, 0.5)return trueendlocal t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true endif tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.")exhaustion.set(cid, 120, 0.5)return trueendif getPlayerLevel(cid) >= (tonumber(t[1])*level) thendoCreatureChangeOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]})doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect)doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce escolheu uma nova saga!")doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1)exhaustion.set(cid, 120, 0.5)elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.")endreturn trueend Como configurar ?

    Primeiro você coloca o ID da voc e em seguida suas outfits , com isso não precisa criar varias vezes na vocations.xml e sim apenas uma vez.

    Ficando ASSIM
    [iD DA VOCATION] = {ID DAS OUTFITS , COLOQUE VIRGULA PARA SEPARAR CADA UMA.},  
    Créditos para o Xwhitewolf autor do script.
  14. Upvote
    Sttorm recebeu reputação de marcelinhok em [WEAPON] Wand com Critico   
    XML
    <wand id="2524" level="100" event="script" value="sound.lua"> </wand> SCRIPT
    local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 4)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -7.2, 1, -3.3, 1)local critical = createCombatObject()setCombatParam(critical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(critical, COMBAT_PARAM_DISTANCEEFFECT, 2)setCombatFormula(critical, COMBAT_FORMULA_LEVELMAGIC, -14.2, 1, -6.3, 1)function onUseWeapon(cid, var)local chance = 5 -- porcentagem de chance de dar criticalif isCreature(getCreatureTarget(cid)) and math.random(1,100) <= chance thendoCombat(cid, critical, var)local targetpos = getCreaturePosition(getCreatureTarget(cid))local pos = {x=targetpos.x+1, y=targetpos.y+1, z=targetpos.z}doSendMagicEffect(pos, 86)doSendAnimatedText(getCreaturePosition(cid), "S O U N D!", math.random(1,255))elsedoCombat(cid, combat, var)endreturn trueend  
  15. Downvote
    Sttorm deu reputação a FireShok em [Encerrado] Client com som   
    mas vlw rep++ pela tentativa
  16. Downvote
    Sttorm deu reputação a FireShok em [Encerrado] Client com som   
    kkk mechi nas sources nao , eu peguei o script aki no forum mesmo .
    mas deve ser o client n ?
  17. Downvote
    Sttorm deu reputação a FireShok em [Encerrado] Client com som   
    continua do mesmo geito  
  18. Upvote
    Sttorm recebeu reputação de Crypter em [ACTION] Item que cura HP or MANA   
    Script
    function onUse(cid, item, fromPosition, itemEx, toPosition)local waittime = 3.0 -- Tempo de exhaustionlocal storage = 9999 -- storagelocal pid = getCreaturePosition(cid)local cura = 2000 -- qnt hp/mana vai curar if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, " Exausted ... " ) else doCreatureAddMana(cid, cura) -------- LEIA : ESTA SCRIPT ESTA CONFIGURADA PARA MANA , SE QUISER QUE SEJA HP BASTA MUDAR A PALAVRA " Mana " PARA A PALAVRA " Health " doPlayerRemoveItem(cid, thing.uid, 1) exhaustion.set(cid, storage, waittime ) doSendAnimatedText(pid, "+"..cura.."", 65) end return trueend XML
    <action itemid="13468" event="script" value="ramen.lua"/>  
  19. Upvote
    Sttorm deu reputação a Crypter em [Encerrado] Utilizando o For   
    Como fazer um For infinito /(Loop infinito) em lua?
  20. Upvote
    Sttorm deu reputação a Crypter em [MODS](0.4-0.3.6) - Fire Storm Event   
    Nome: Evento for fun 
    Infos: quem é atingido pelo fogo morre, o último a sobreviver ganha.
     
    O evento é automático, mas também possui um comando para dar inicio ao evento, só usar /firestart minutos
     
    exemplo: /firestart 1
     
     
     
     
    Fire_Storm_Event.xml
    <?xml version="1.0" encoding="ISO-8859-1"?><mod name="Fire Storm Event" version="8.6" author="Vodkart" contact="" enabled="yes"><config name="fire_config"><![CDATA[Fire = { storages = {172354, 172355}, -- storage Count players = {min = 2, max = 50}, -- min, max players no evento minLevel = 20, -- level minimo para entrar no event rewards = {{2160,10},{2494,1}}, -- premios que vai receber timeToStartEvent = 30, -- segundos para começar o evento CheckTime = 5, -- time to check event teleport = {{x=158, y=53, z=7}, {x=189 , y=58, z=7}}, -- posição do teleport, posição para onde o jogador vai arena = {{x=186,y=54,z=7},{x=193,y=60,z=7}} -- posição começo e final da area}Fire_Days = { ["Monday"] = {"13:00","18:00","20:00","22:00"}, ["Tuesday"] = {"13:00","18:00","20:00","22:00"}, ["Wednesday"] = {"13:00","18:00","20:00","22:00"}, ["Thursday"] = {"13:00","18:00","20:00","22:00"}, ["Friday"] = {"13:00","18:00","20:00","22:00"}, ["Saturday"] = {"13:00","18:00","20:00","22:00"}, ["Sunday"] = {"13:00","18:00","20:00","22:00"}}function removeFireTp() local t = getTileItemById(Fire.teleport[1], 1387).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(Fire.teleport[1], CONST_ME_POFF)endfunction ZerarStorFire() setGlobalStorageValue(Fire.storages[1], 0) setGlobalStorageValue(Fire.storages[2], 0)endfunction getPlayersInFireEvent() local t = {} for _, pid in pairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), Fire.arena[1], Fire.arena[2]) then t[#t+1] = pid end end return tendfunction getFireRewards(cid, items) local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID for _, i_i in ipairs(items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end endendfunction doFireInArea(n) if #getPlayersInFireEvent() > 1 then for i = 1, n do local pos = {x=math.random(Fire.arena[1].x, Fire.arena[2].x), y=math.random(Fire.arena[1].y,Fire.arena[2].y), z=Fire.arena[1].z} local m = getTopCreature(pos).uid doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA) if m ~= 0 and isPlayer(m) then doSendMagicEffect(getCreaturePosition(m), CONST_ME_FIREAREA) doCreatureSay(m, "Ooh Burn Burn", TALKTYPE_ORANGE_1) local corpse = doCreateItem(3058, 1, getPlayerPosition(m)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(m) .. ". He was killed by Fire Field.") doSendMagicEffect(getPlayerPosition(m), CONST_ME_POFF) doTeleportThing(m, getTownTemplePosition(getPlayerTown(m))) doPlayerSendTextMessage(m, MESSAGE_EVENT_ADVANCE, "[Fire Storm Event] You died burned out.") end end local x = 2700-(200*n) addEvent(doFireInArea, x <= 0 and 500 or x, n+1) elseif #getPlayersInFireEvent() == 1 then local cid = getPlayersInFireEvent()[1] doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) getFireRewards(cid, Fire.rewards) doBroadcastMessage("Fire Storm Event have finished. The winner is ".. getCreatureName(cid).. ". Congratulations.", MESSAGE_EVENT_ADVANCE) ZerarStorFire() else doBroadcastMessage("No one Won the Fire Storm Event.", MESSAGE_EVENT_ADVANCE) ZerarStorFire() endendfunction CheckFireEvent(delay) if getGlobalStorageValue(Fire.storages[1]) ~= (Fire.players.max+1) then if delay > 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.max then doBroadcastMessage("[Fire Stortm Event] Starting in " .. delay .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.min then for _, cid in pairs(getPlayersInFireEvent()) do doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end removeFireTp() doBroadcastMessage("The Fire Storm event could not start because of to few players participating.\n At least " .. Fire.players.min .. " players is needed!", MESSAGE_STATUS_WARNING) ZerarStorFire() elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) >= Fire.players.min then removeFireTp() doBroadcastMessage("Good Lucky! The event will start on "..Fire.timeToStartEvent.." seconds. get ready!") addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1) end addEvent(CheckFireEvent, 60000, delay-1) endend]]></config><globalevent name="Storm_Fire_Start" interval="60" event="script"><![CDATA[domodlib('fire_config')function onThink(interval, lastExecution) if Fire_Days[os.date("%A")] then local hrs = tostring(os.date("%X")):sub(1, 5) if isInArray(Fire_Days[os.date("%A")], hrs) and getGlobalStorageValue(Fire.storages[2]) <= 0 then local tp = doCreateItem(1387, 1, Fire.teleport[1]) doItemSetAttribute(tp, "aid", 45111) CheckFireEvent(Fire.CheckTime) setGlobalStorageValue(Fire.storages[1], 0) end end return trueend]]></globalevent><event type="login" name="Storm_Fire_Login" event="script"><![CDATA[domodlib('fire_config')function onLogin(cid) registerCreatureEvent(cid, "FireStormBatle") if isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end return trueend]]></event><event type="combat" name="FireStormBatle" event="script"><![CDATA[domodlib('fire_config')if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then doPlayerSendCancel(cid, "You may not attack this player.") return falseendreturn true]]></event><movevent type="StepIn" actionid ="45111" event="script"><![CDATA[domodlib('fire_config')function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, Fire.teleport[2]) end if getPlayerLevel(cid) < Fire.minLevel then doTeleportThing(cid, fromPosition, true) doPlayerSendCancel(cid, "You need to be at least level " .. Fire.minLevel .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end if getGlobalStorageValue(Fire.storages[1]) <= Fire.players.max then doTeleportThing(cid, Fire.teleport[2]) setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1) doBroadcastMessage(getPlayerName(cid) .. " entered the fire stortm event! Currently " .. getGlobalStorageValue(Fire.storages[1]) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED) if getGlobalStorageValue(Fire.storages[1]) == Fire.players.max then setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1) removeFireTp() doBroadcastMessage("The event will start on "..Fire.timeToStartEvent.." seconds. get ready!") addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1) end end return trueend]]></movevent><talkaction words="/firestart;!firestart" access="5" event="buffer"><![CDATA[domodlib('fire_config')if getGlobalStorageValue(Fire.storages[2]) > 0 then doPlayerSendCancel(cid, "The event is already starting.") return trueelseif not param or not tonumber(param) then doPlayerSendCancel(cid, "Use only numbers.") return true endlocal param = tonumber(param) <= 0 and 1 or tonumber(param)local tp = doCreateItem(1387, 1, Fire.teleport[1])doItemSetAttribute(tp, "aid", 45111)CheckFireEvent(tonumber(param))setGlobalStorageValue(Fire.storages[1], 0)setGlobalStorageValue(Fire.storages[2], 1)]]></talkaction><globalevent name="FireDebug-Start" type="start" event="buffer"><![CDATA[domodlib('fire_config')ZerarStorFire()return true]]></globalevent></mod>  
    Baixa esse arquivo e adicione no seu servidor no respectivo lugar.!
     
    fire lua.rar
    fire lua.rar
  21. Upvote
    Sttorm recebeu reputação de Crypter em [WEAPON] Wand com Critico   
    XML
    <wand id="2524" level="100" event="script" value="sound.lua"> </wand> SCRIPT
    local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 4)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -7.2, 1, -3.3, 1)local critical = createCombatObject()setCombatParam(critical, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatParam(critical, COMBAT_PARAM_DISTANCEEFFECT, 2)setCombatFormula(critical, COMBAT_FORMULA_LEVELMAGIC, -14.2, 1, -6.3, 1)function onUseWeapon(cid, var)local chance = 5 -- porcentagem de chance de dar criticalif isCreature(getCreatureTarget(cid)) and math.random(1,100) <= chance thendoCombat(cid, critical, var)local targetpos = getCreaturePosition(getCreatureTarget(cid))local pos = {x=targetpos.x+1, y=targetpos.y+1, z=targetpos.z}doSendMagicEffect(pos, 86)doSendAnimatedText(getCreaturePosition(cid), "S O U N D!", math.random(1,255))elsedoCombat(cid, combat, var)endreturn trueend  
  22. Upvote
    Sttorm deu reputação a Crypter em Npc - Saffari Zone Automático!   
    È um sistema para poketibia que serio o Saffari totalmente automático.




     




    [+] O jogador não perde level(experience) ao morrer.




    [+] O jogador é teleportado quando acabar o tempo ou quando suas Saffari balls acabar!




    [+] Mostra o tempo restante num comando exclusivo !saffari time




     








     




     




     




    Pasta mods




     




    Saffari.xml




    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="Saffari" version="2.0" author="Vodkart" contact="none.com" enabled="yes">
    <config name="saffari_func"><![CDATA[
    config = {
    price = 5000,
    level = 50,
    need_premium = false,
    minutes = 60,
    saffari_positions = {enter = {x=152,y=51,z=5}, exit = {x=163,y=51,z=5}},
    saffari_balls = {11445,30}, -- itemid e quantidade
    blocked_pokeballs = {2146, 2147, 11437, 11441, 11445}, -- pokeball, ultraball, greatball, masterball, safarriball
    storages = {874547,874548} -- start, time
    }
    function timeString(timeDiff)
    local dateFormat = {
    {"day", timeDiff / 60 / 60 / 24},
    {"hour", timeDiff / 60 / 60 % 24},
    {"minute", timeDiff / 60 % 60},
    {"second", timeDiff % 60}
    }
    local out = {}
    for k, t in ipairs(dateFormat) do
    local v = math.floor(t[2])
    if(v > 0) then
    table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))
    end
    end
    local ret = table.concat(out)
    if ret:len() < 16 and ret:find("second") then
    local a, b = ret:find(" and ")
    ret = ret:sub(b+1)
    end

    return ret
    end

    ]]></config>
    <event type="login" name="SaffariRegister" event="script"><![CDATA[
    function onLogin(cid)
    registerCreatureEvent(cid, "SaffariDeath")
    return true
    end]]></event>
    <talkaction words="/saffari;!saffari" event="buffer"><![CDATA[
    domodlib('saffari_func')
    param = string.lower(param)
    if getPlayerStorageValue(cid, config.storages[1]) <= 0 then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not in Saffari") return true
    end
    if (param == "") then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"invalid command, enter !saffari time or !safari leave") return true
    elseif isInArray({"time","tempo"}, param) then
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, (getPlayerStorageValue(cid, config.storages[2]) - os.time() > 0 and "Left "..timeString(getPlayerStorageValue(cid, config.storages[2]) - os.time()).."" or "Time is over. Please wait a moment.").."\nTo leave enter command: !saffari leave") return true
    elseif isInArray({"sair","leave"},param) then
    doTeleportThing(cid, config.saffari_positions.exit)
    setPlayerStorageValue(cid, config.storages[1], 0)
    setPlayerStorageValue(cid, config.storages[2], 0)
    doPlayerSendTextMessage(cid,22,'you left the saffari zone.') return true
    end
    ]]></talkaction>
    <globalevent name="SaffariCheck" interval="60" event="script"><![CDATA[
    domodlib('saffari_func')
    function onThink(interval, lastExecution)
    local on = getPlayersOnline()
    if #on > 0 then
    for i = 1, #on do
    if getPlayerStorageValue(on[i], config.storages[1]) > 0 then
    if getPlayerItemCount(on[i], config.saffari_balls[1]) <= 0 or getPlayerStorageValue(on[i], config.storages[2]) - os.time() <= 0 then
    doTeleportThing(on[i], config.saffari_positions.exit)
    setPlayerStorageValue(on[i], config.storages[1], 0)
    setPlayerStorageValue(on[i], config.storages[2], 0)
    doPlayerSendTextMessage(on[i],22,'you left the saffari zone.')
    end
    end
    end
    end
    return true
    end
    ]]></globalevent>
    <event type="death" name="SaffariDeath" event="script"><![CDATA[
    domodlib('saffari_func')
    function onDeath(cid, corpse, deathList)
    if isPlayer(cid) and getPlayerStorageValue(cid, config.storages[1]) >= 1 then
    setPlayerStorageValue(cid, config.storages[1], 0)
    setPlayerStorageValue(cid, config.storages[2], 0)
    doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
    end
    return true
    end
    ]]></event>
    </mod>


     




     




    NPC




     




     




    Saffari Man.xml




    <?xml version="1.0"?>
    <npc name="Saffari Man" script="data/npc/scripts/saffari.lua" walkinterval="50000" floorchange="0">
    <health now="100" max="100"/>
    <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/>
    <parameters>
    <parameter key="message_greet" value="Hello |PLAYERNAME|. You want to {enter} in the {saffari} zone!" />
    </parameters>
    </npc>


     




    saffari.lua




    domodlib('saffari_func')
    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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid,msg:lower()
    if isInArray({"saffari","enter","entrar"}, msg) then
    npcHandler:say('you can stay in the Saffari zone by '..config.minutes..' minutes, the price is '..config.price..' gp(s), You want enter? {yes}', cid)
    talkState[talkUser] = 1
    elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
    for i = 1, #config.blocked_pokeballs do
    if getPlayerItemCount(cid, config.blocked_pokeballs[i]) >= 1 then
    npcHandler:say('Keep your '..getItemNameById(config.blocked_pokeballs[i])..'!', cid) return true
    end
    end
    if config.need_premium and not isPremium(cid) then
    npcHandler:say('Sorry, you need to be premium!', cid) return true
    elseif getPlayerLevel(cid) < config.level then
    npcHandler:say('Sorry, you must be at least level '..config.level..' to enter the Saffari zone!', cid) return true
    elseif not doPlayerRemoveMoney(cid, config.price) then
    npcHandler:say('Sorry, you do not have enough money!', cid) return true
    end
    doPlayerAddItem(cid, config.saffari_balls[1], config.saffari_balls[2])
    selfSay("Thanks, you've been teleported to the Saffari zone and has "..config.minutes.." minutes, if you want to leave enter {!saffari leave}.", cid)
    doTeleportThing(cid, config.saffari_positions.enter)
    setPlayerStorageValue(cid, config.storages[1], 1)
    setPlayerStorageValue(cid, config.storages[2], os.time()+config.minutes*60)
    elseif msg == "no" and talkState[talkUser] >= 1 then
    selfSay("then ok.", cid)
    talkState[talkUser] = 0
    npcHandler:releaseFocus(cid)
    end
    return true
    end
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
  23. Upvote
    Sttorm recebeu reputação de Crypter em [NTO] Kuchyose no jutsu!!   
    Venho trazer uma script que o nome ja diz tudo , você fala o nome da spell e ela invoca o summon.

    Spells.xml
    <instant name="Kuchyose gamaguren" words="Kuchyose gamaguren" lvl="200" mana="2500" prem="0" aggressive="0" exhaustion="10000" needlearn="0" event="script" value="naruto/pet.lua"> <vocation id="1"/> </instant> Configure de acordo com o que está pedindo , exemplo : Lvl : 200 -- Coloque o level que o player poderá usar a spell.

    Script ( Explicações na propria script )
    function onCastSpell(cid, var)local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapalocal from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapalocal playerpos = getPlayerPosition(cid)local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} -- Não mechalocal position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} -- Não mecha local MaximoSummon = 1 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 1 Cloneslocal monster = "Gamaguren" -- Nome do monstro que será sumonadolocal effect = 5local summons = getCreatureSummons(cid)if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) thendoPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return trueendif(table.maxn(summons) < MaximoSummon) then -- no summonslocal clone = doCreateMonster(monster, playerpos)doConvinceCreature(cid, clone)doSendMagicEffect(position1, effect)doSendMagicEffect(position2, effect)doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') return TRUEendend  
  24. Upvote
    Sttorm recebeu reputação de mrlhsl em [Resolvido] Preciso de ajuda!   
    Você modifica o 4.8 e 4.2 , lembre se que vai ser multiplicado pelo magic level e sempre deixe " - " antes dos numeros
  25. Upvote
    Sttorm deu reputação a saviomu em [8.60] Distro para Narutibia V1 by F1nal1ty   
    Olá estou postando esta distro que refiz para um antigo server, ela foi testada no NTO Shinobi do Robinhood.
     
    Changelog's:
     
    Caso encontrem bugs, por favor reportem com imagens que irei me dedicar 100% para Fixar.
    e paciência pois sou iniciante.
    Créditos


     
    TFS
    F1nal1ty (Its Me)
    TheForgottenServer-console.exe
    TheForgottenServer-console.exe
  • Quem Está Navegando   0 membros estão online

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