-
Total de itens
22 -
Registro em
-
Última visita
-
Dias Ganhos
2
Histórico de Reputação
-
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
-
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
-
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 .
-
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
-
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())
-
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())
-
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
-
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
-
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
-
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.
-
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
-
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
-
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.
-
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
-
-
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 ?
-
-
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"/>
-
Sttorm deu reputação a Crypter em [Encerrado] Utilizando o For
Como fazer um For infinito /(Loop infinito) em lua?
-
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
-
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
-
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())
-
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
-
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
-
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.