Postado Abril 16, 2021 4 anos .Qual servidor ou website você utiliza como base? Rev 3996 8.60 0.4 Qual o motivo deste tópico? Eu estou tentando usar o Event Rush event . mod , mas ele não teleporta após termino do evento. Não aparece nenhum erro na distro. Você tem o código disponível? Se tiver publique-o aqui: Spoiler <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Rush Event" version="1.0" author="ChaitoSoft.com" contact="[email protected]" enabled="yes"> <description> TUTORIAL DE COMO CONFIGURAR O EVENTO ACOMPANHE POR AQUI: q - mensagem que vai ser exibida quando o evento começar d_1 - posição do tempo vermelho ao começar evento d_2 - posição do tempo azul ao começar evento x - mensagem que vai ser exibida quando o evento não começar w - posição da sala de espera, onde os players vão ficar antes de começar lvl - level minimo para participar do evento v - a quantidade de frags que será necessária para o time ganhar mn - quantidade minima de players para começar o evento m - maximo de players dentro do evento o - mensagem exibida quando o time vermelho ganhar y - mensagem exibida quando o time azul ganhar i_1 - id do premio (agora é crystal coin = 2160) i_2 - quantidade do premio (agora esta 10 crystal coins) t - tempo para começar o evento (agora esta is 5 minutos) r - tempo em que os resultados da batalha serão mostrados aos players (agora esta 3 minutos) Adicione isto em 050-function.lua: ------------------------------------------------------------------------------------------------- function doPlayerRemoveLethalConditions(cid) local tmp = {1, 2, 4, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 32768, 65536} for i = 1, #tmp do if(hasCondition(cid, tmp[i])) then doRemoveCondition(cid, tmp[i]) end end return true end ------------------------------------------------------------------------------------------------- Adicione isto em login.lua: ------------------------------------------------------------------------------------------------- registerCreatureEvent(cid, "RushCombat") registerCreatureEvent(cid, "RushAttack") registerCreatureEvent(cid, "RushDead") registerCreatureEvent(cid, "RushOutfit") ------------------------------------------------------------------------------------------------- Agora daqui pra baixo você vai configurar de acordo com o tutorial acima, o resto se não tiver conhecimento não mecha em nada pois poderá bugar o evento e não daremos suporte: </description> <config name="re"><![CDATA[ t = { a = 32145, g = 32146, l = 32147, u = 32148, h = 32149, wv = 32150, c = 32151, q = "Rush Event começou! Aproveite!", f = 5447, f_1 = 5448, f_2 = 5449, d_1 = {x = 1187, y = 683, z = 8}, -- red temple d_2 = {x = 1098, y = 683, z = 8}, -- blue temple x = "O evento não aconteceu porque poucas pessoas participaram.", w = {x = 1020, y = 755, z = 7}, lvl = 80, v = 3, mn = 2, m = 40, o = "Rush event acabou, o time vermelho ganhou!", y = "Rush event acabou, o time azul ganhou!", i_1 = 2160, i_2 = 10, t = 1, r = 1 } ]]></config> <lib name="Rush-lib"><![CDATA[ function giveReward(cid) local hkz = math.random(1,100) if hkz <= 30 then local rare = rewards_random[10].items[math.random(1,#rewards_random[10].items)] doPlayerAddItem(cid,2160,10) doPlayerSendTextMessage(cid,25,"Nunca vá em um cassino: voce ganhou 100k.") elseif hkz > 30 and hkz <= 90 then local semi = rewards_random[30].items[math.random(1,#rewards_random[30].items)] doPlayerAddItem(cid,2160,30) doPlayerSendTextMessage(cid,25,"Joga na quina: voce ganhou 300k.") elseif hkz > 90 then local aver = rewards_random[60].items[math.random(1,#rewards_random[60].items)] doPlayerAddItem(cid,2640,1) doPlayerSendTextMessage(cid,25,"Cagou: voce ganhou uma soft boots.") end return true end ]]></lib> <globalevent name="Recognition" interval="150000" event="script"><![CDATA[ domodlib('re') function onThink(interval, lastExecution, thinkInterval) if(getGlobalStorageValue(t.a) == 1) then for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, t.f) == 1 then if(getPlayerStorageValue(pid, t.f_1) == 0) then doSendAnimatedText(getCreaturePosition(pid), "RED TEAM", TEXTCOLOR_RED) elseif(getPlayerStorageValue(pid, t.f_1) == 1) then doSendAnimatedText(getCreaturePosition(pid), "BLUE TEAM", TEXTCOLOR_LIGHTBLUE) end end end return true end return true end ]]></globalevent> <talkaction words="!start" event="script"><![CDATA[ domodlib('re') function onSay(cid, words, param, channel) if getPlayerGroupId(cid) > 3 then setGlobalStorageValue(t.g, 1) setGlobalStorageValue(t.u, 0) setGlobalStorageValue(t.l, 0) setGlobalStorageValue(t.a, 1) setGlobalStorageValue(t.c, 0) setGlobalStorageValue(t.wv, 0) doBroadcastMessage("ATENÃÃO! Registre-se no Rush Event, iremos começar em ".. t.t .." minutos. Se você quiser entrar DIGA: !rush", MESSAGE_STATUS_WARNING) addEvent(function() doBroadcastMessage("Rush Event começará em 2 minutos. Se você quiser entrar DIGA: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 2) * 1000 * 60) addEvent(function() doBroadcastMessage("Rush Event começará em 1 minuto. Se você quiser entrar DIGA: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 1) * 1000 * 60) addEvent(start, t.t * 1000 * 60, cid) return true end return true end function results() for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, 987456) == 1 then local red = getGlobalStorageValue(t.l) local blue = getGlobalStorageValue(t.u) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Rush Event, PLACAR:\nRed Team scored: ".. red .." frags.\nBlue Team scored: ".. blue .." frags.\nGanha o time que fizer ".. t.v .." frags.") --doBroadcastMessage("Rush Event, PLACAR:\nRed Team scored: ".. red .." frags.\nBlue Team scored: ".. blue .." frags.\nGanha o time que fizer ".. t.v .." frags.", MESSAGE_STATUS_WARNING) addEvent(results, t.r * 1000 * 60) end return true end --if(getGlobalStorageValue(t.a) == 1) then -- local red = getGlobalStorageValue(t.l) -- local blue = getGlobalStorageValue(t.u) -- doBroadcastMessage("Rush Event, PLACAR:\nRed Team scored: ".. red .." frags.\nBlue Team scored: ".. blue .." frags.\nGanha o time que fizer ".. t.v .." frags.", MESSAGE_STATUS_WARNING) -- addEvent(results, t.r * 1000 * 60) --end end function start(cid) if(getGlobalStorageValue(t.a) == 1 and getGlobalStorageValue(t.c) >= t.mn) then for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, 987456) == 1 then doPlayerSendTextMessage(cid, 25, t.q) end end setGlobalStorageValue(t.wv, 1) addEvent(results, t.r * 1000 * 60) for _, pid in ipairs(getPlayersOnline()) do local myOutfit = getCreatureOutfit(pid) local red = {lookType = myOutfit.lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} local blue = {lookType = myOutfit.lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} if getPlayerStorageValue(pid, t.f) == 1 then doCreatureAddHealth(pid, getCreatureMaxHealth(pid)) doCreatureAddMana(pid, getCreatureMaxMana(pid)) if((getPlayerStorageValue(pid, t.g) % 2) == 1) then doCreatureChangeOutfit(pid, red) setPlayerStorageValue(pid, t.h, 0) doTeleportThing(pid, t.d_1) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 0) setPlayerStorageValue(pid, t.f_2, 1) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você está no RED TEAM!\nEssa batalha acabará quando algum time fizer ".. t.v .." frags!") else doCreatureChangeOutfit(pid, blue) doTeleportThing(pid, t.d_2) setPlayerStorageValue(pid, t.h, 0) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 1) setPlayerStorageValue(pid, t.f_2, 0) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você está no BLUE TEAM!\nEssa batalha acabará quando algum time fizer ".. t.v .." frags!") end end end elseif(getGlobalStorageValue(t.c) < t.mn) then doBroadcastMessage(t.x, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.a, 0) for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, t.f) == 1 then setPlayerStorageValue(pid, t.f, -1) setPlayerStorageValue(cid, 987456, 0) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(pid))) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end end end end ]]></talkaction> <globalevent name="RushStart" time="15:53" event="script"><![CDATA[ domodlib('re') function onTime(interval, lastExecution) setGlobalStorageValue(t.g, 1) setGlobalStorageValue(t.u, 0) setGlobalStorageValue(t.l, 0) setGlobalStorageValue(t.a, 1) setGlobalStorageValue(t.c, 0) setGlobalStorageValue(t.wv, 0) doBroadcastMessage("ATENÃÃO! Registre-se no Rush Event, iremos começar em ".. t.t .." minutos. DIGA: !rush", MESSAGE_STATUS_WARNING) addEvent(function() doBroadcastMessage("Rush Event começará em 2 minutos. Se você quiser entrar DIGA: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 2) * 1000 * 60) addEvent(function() doBroadcastMessage("Rush Event começará em 1 minuto. Se você quiser entrar DIGA: !rush", MESSAGE_STATUS_WARNING) end, (t.t - 1) * 1000 * 60) addEvent(start, t.t * 1000 * 60, cid) end function results() if(getGlobalStorageValue(t.a) == 1) then local red = getGlobalStorageValue(t.l) local blue = getGlobalStorageValue(t.u) doBroadcastMessage("Rush Event, PLACAR:\nRed Team scored: ".. red .." frags.\nBlue Team scored: ".. blue .." frags.\nGanha o time que fizer ".. t.v .." frags.", MESSAGE_STATUS_WARNING) addEvent(results, t.r * 1000 * 60) end end function start(cid) if(getGlobalStorageValue(t.a) == 1 and getGlobalStorageValue(t.c) >= t.mn) then doBroadcastMessage(t.q, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.wv, 1) addEvent(results, t.r * 1000 * 60) for _, pid in ipairs(getPlayersOnline()) do local myOutfit = getCreatureOutfit(pid) local red = {lookType = myOutfit.lookType, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} local blue = {lookType = myOutfit.lookType, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = myOutfit.lookAddons} if getPlayerStorageValue(pid, t.f) == 1 then doCreatureAddHealth(pid, getCreatureMaxHealth(pid)) doCreatureAddMana(pid, getCreatureMaxMana(pid)) if((getPlayerStorageValue(pid, t.g) % 2) == 1) then doCreatureChangeOutfit(pid, red) setPlayerStorageValue(pid, t.h, 0) doTeleportThing(pid, t.d_1) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 0) setPlayerStorageValue(pid, t.f_2, 1) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você está no RED TEAM!\nEssa batalha acabará quando algum time fizer ".. t.v .." frags!") else doCreatureChangeOutfit(pid, blue) setPlayerStorageValue(pid, t.h, 0) doTeleportThing(pid, t.d_2) setPlayerStorageValue(pid, t.f, 1) setPlayerStorageValue(pid, t.f_1, 1) setPlayerStorageValue(pid, t.f_2, 0) doSendMagicEffect(getCreaturePosition(pid), 10) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você está no BLUE TEAM!\nEssa batalha acabará quando algum time fizer ".. t.v .." frags!") end end end elseif(getGlobalStorageValue(t.c) < t.mn) then doBroadcastMessage(t.x, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.a, 0) for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, t.f) == 1 then setPlayerStorageValue(pid, t.f, -1) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doSendMagicEffect(getCreaturePosition(pid), CONST_ME_TELEPORT) end end end end ]]></globalevent> <talkaction words="!rush" event="script"><![CDATA[ domodlib('re') function onSay(cid, words, param, channel) if getGlobalStorageValue(t.a) == 1 and getGlobalStorageValue(t.wv) ~= 1 then if getPlayerLevel(cid) >= t.lvl then if getPlayerStorageValue(cid, t.f) == -1 then if getTilePzInfo(getPlayerPosition(cid)) == true then if getGlobalStorageValue(t.c) < t.m then setGlobalStorageValue(t.c, getGlobalStorageValue(t.c)+1) if getGlobalStorageValue(t.c) == t.m then doPlayerSendCancel(cid, "O evento esta cheio [" .. getGlobalStorageValue(t.c) .. " players]!") else doBroadcastMessage("" .. getPlayerName(cid) .. " se juntou ao Rush Event! Atualmente temos: " .. getGlobalStorageValue(t.c) .. " players!", 19) setPlayerStorageValue(cid, t.f, 1) setPlayerStorageValue(cid, t.h, -1) doTeleportThing(cid, t.w) setPlayerStorageValue(cid, 987456, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, t.g, getGlobalStorageValue(t.g)) setGlobalStorageValue(t.g, tonumber(getGlobalStorageValue(t.g))+1) end else doPlayerSendCancel(cid, "O evento esta cheio [" .. getGlobalStorageValue(t.c) .. " players]!") return true end else doPlayerSendCancel(cid, "Voce tem que estar em area PZ.") return true end else doPlayerSendCancel(cid, "Voce ja se registrou.") return true end else doPlayerSendCancel(cid, "O seu level e muito baixo.") return true end else doPlayerSendCancel(cid, "Nao esta acontecendo o evento.") return true end return true end ]]></talkaction> <event type="combat" name="RushCombat" event="script"><![CDATA[ domodlib('re') function onCombat(cid, target) if(getGlobalStorageValue(t.a) == 1) then if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, t.f) == 1 and getPlayerStorageValue(target, t.f) == 1 then if getPlayerStorageValue(cid, t.f_1) == getPlayerStorageValue(target, t.f_1) then return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false end end end end return true end ]]></event> <event type="attack" name="RushAttack" event="script"><![CDATA[ domodlib('re') function onAttack(cid, target) if(getGlobalStorageValue(t.a) == 1) then if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, t.f) == 1 and getPlayerStorageValue(target, t.f) == 1 then if getPlayerStorageValue(cid, t.f_1) == getPlayerStorageValue(target, t.f_1) then return doPlayerSendCancel(cid, "Sorry, you cannot attack your own team.") and false end end end end return true end ]]></event> <event type="preparedeath" name="RushDead" event="script"><![CDATA[ domodlib('re') domodlib('Rush-lib') function onPrepareDeath(cid, deathList) if(not isPlayer(cid)) then return true end if getPlayerStorageValue(cid, 987456) == 1 then local strings = {""} local j, position, corpse = 1, 1, 0 for _, pid in ipairs(deathList) do if isCreature(pid) == true then strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .. getCreatureName(pid) .. "" j = j + 1 else strings[position] = j == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .."a field item" j = j + 1 end end for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end desc = "You recognize " desc = desc .. "" .. getCreatureName(cid) .. ". He was killed by " .. str end if(getPlayerSex(cid) == 1) then corpse = doCreateItem(3058, getCreaturePosition(cid)) else corpse = doCreateItem(3065, getCreaturePosition(cid)) end doItemSetAttribute(corpse, "description", desc) if((getPlayerStorageValue(cid, t.g) % 2) == 1) then setGlobalStorageValue(t.u, getGlobalStorageValue(t.u)+1) else setGlobalStorageValue(t.l, getGlobalStorageValue(t.l)+1) end local red = getGlobalStorageValue(t.l) local blue = getGlobalStorageValue(t.u) if blue < t.v or red < t.v then if(isPlayer(cid) == false) then return true end if((getPlayerStorageValue(cid, t.g) % 2) == 1) then doTeleportThing(cid, t.d_1) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) if getCreatureSkullType(cid) == SKULL_WHITE then doCreatureSetSkullType(cid, 0) end else doTeleportThing(cid, t.d_2) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) if getCreatureSkullType(cid) == SKULL_WHITE then doCreatureSetSkullType(cid, 0) end end end if blue >= t.v then doBroadcastMessage(t.y, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.h, 1) for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, t.f_1) == 1 then setPlayerStorageValue(cid, 987456, 0) elseif getPlayerStorageValue(cid, t.f_2) == 1 then setPlayerStorageValue(cid, 987456, 0) end end elseif red >= t.v then doBroadcastMessage(t.o, MESSAGE_STATUS_WARNING) setGlobalStorageValue(t.h, 1) for _,cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, t.f_2) == 1 then setPlayerStorageValue(cid, 987456, 0) elseif getPlayerStorageValue(cid, t.f_1) == 1 then setPlayerStorageValue(cid, 987456, 0) end end end if getGlobalStorageValue(t.h) == 1 then setGlobalStorageValue(t.l, 0) setGlobalStorageValue(t.u, 0) setGlobalStorageValue(t.a, 0) setGlobalStorageValue(t.h, 0) setGlobalStorageValue(t.wv, -1) setPlayerStorageValue(cid, t.f, -1) setPlayerStorageValue(cid, t.g, 0) setPlayerStorageValue(cid, t.l, 0) setPlayerStorageValue(cid, 987456, 0) setPlayerStorageValue(cid, t.u, 0) setPlayerStorageValue(cid, t.f_1, -1) setPlayerStorageValue(cid, t.f_2, -1) setPlayerStorageValue(cid, t.h, -1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true) doSendMagicEffect(getCreaturePosition(cid), 10) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doPlayerRemoveLethalConditions(cid) for _, pid in ipairs(getPlayersOnline()) do if(getPlayerStorageValue(pid, t.f_1) == 1 or getPlayerStorageValue(pid, t.f_2) == 1) then setPlayerStorageValue(pid, t.f, -1) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doSendMagicEffect(getCreaturePosition(pid), CONST_ME_TELEPORT) setPlayerStorageValue(pid, t.g, 0) setPlayerStorageValue(pid, t.l, 0) setPlayerStorageValue(pid, t.u, 0) setPlayerStorageValue(pid, t.f_1, -1) setPlayerStorageValue(pid, t.f_2, -1) setPlayerStorageValue(pid, t.h, -1) doCreatureAddHealth(pid, getCreatureMaxHealth(pid), MAGIC_EFFECT_UNKNOWN, COLOR_UNKNOWN, true) doCreatureAddMana(pid, getCreatureMaxMana(pid)) doPlayerRemoveLethalConditions(pid) end end return false end return false end return true end ]]></event> <event type="outfit" name="RushOutfit" event="script"><![CDATA[ domodlib('re') function onOutfit(cid) if(getGlobalStorageValue(t.a) == 1) then if getPlayerGroupId(cid) > 3 then return true end if getPlayerStorageValue(cid, t.h) == 0 then if getPlayerStorageValue(cid, t.f) > -1 then doPlayerSendCancel(cid, "You cannot change your outfit during the event.") return false end end end return true end ]]></event> </mod>
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.