Postado Agosto 8, 2018 6 anos 42 minutos atrás, Jinx disse: GOSTARIA DE PEDIR O EVENTO BLOOD CASTLE QUE FUNCIONE PERFEITAMENTE. O que seria um Blood Castle? Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Agosto 8, 2018 6 anos Autor 4 minutos atrás, tataboy67 disse: O que seria um Blood Castle? Esse aqui amigo. Porem Esse para de funcionar. Gostaria de algum q funcionasse tranquilamente.
Postado Agosto 8, 2018 6 anos @Jinx 0.3.6 8.54 monstros.xml anexados globalevents function onTimer(cid, interval) local plural = bloodconfig.tempoTP == 1 and "minuto" or "minutos" local plurals = bloodconfig.tempoAberto == 1 and "minuto" or "minutos" doBroadcastMessage("[Blood Castle] O portal para o evento vai ser aberto em " .. bloodconfig.tempoTP .. " " .. plural .. ", nao percam!") addEvent(createTeleportb, bloodconfig.tempoTP*60*1000) addEvent(doBroadcastMessage, bloodconfig.tempoTP*60*1000, "[Blood Castle] O teleport para o evento foi aberto na sala de eventos e vai sumir em " .. bloodconfig.tempoAberto .. " " .. plurals .. ". Se apressem!") addEvent(removeTpb, bloodconfig.tempoTP+bloodconfig.tempoAberto*60*1000) addEvent(checkBlood, bloodconfig.tempoTP+bloodconfig.tempoAberto*60*1000+60*1000) addEvent(Guarantee, bloodconfig.tempoMaximo*60*1000+15000) return true end function onStartup() setGlobalStorageValue(bloodconfig.playersStorage, 0) print(getPlayersInBlood().. "Jogadores no Blood Castle") return true end globalevents.xml <globalevent name="Blood Castle" time="20:24:00" event="script" value="BloodGlobalEvent.lua"/> Lib bloodconfig = { templo = {x = 1026, y = 909, z = 7}, -- templo posGuarda = {x = 751, y = 1574, z = 7}, -- Onde o guarda do portão vai nascer premios = {{2160, 30}, {1995, 1}}, -- Premios que o vencedor vai ganhar {id, quantidade} positionTP = {x = 1018, y = 889, z = 7}, -- Onde o tp será criado positionEvento = {x = 759, y = 1617, z = 7}, -- Para onde o tp vai levar tempoTP = 1, -- Depois de quanto tempo que avisou vai ser criado o tp? Em minutos tempoAberto = 5, -- Tempo que o tp fica aberto. Em minutos minPlayers = 3, -- Número mínimo de players que devem entrar para que o evento aconteça tempoMaximo = 5, -- Tempo máximo, em minutos, que alguem pode permanecer no evento playersStorage = 54910, -- Não mude posPedras = {{x = 759, y = 1614, z = 7, stackpos=1}, {x = 760, y = 1614, z = 7, stackpos=1}}, -- Posições das pedras que bloqueiam a entrada do evento idDasParedes = 3515, -- ID das paredes que vao ser removidas quando o Guarda morrer (todas devem ter o mesmo id) estatua = {x = 751, y = 1542, z = 7}, -- Posicao onde o arcanjo vai ser criado tempoSaida = 70, -- Quando tempo o tp q é criado quando a estátua morre vai ficar? Em segundos posParedes = {{x = 751, y = 1573, z = 7, stackpos=1}}, -- Posições das paredes que ficam atrás do guarda fromPos = {x = 720, y = 1536, z = 7}, -- Canto superior esquerdo da área do seu evento ---- Deve ser uma área quadrada ou retangular, de forma que todo o evento fique dentro dela. toPos = {x = 800, y = 1622, z = 7}, -- Canto inferior direito da área do seu evento } -- [[ NAO ALTERE MAIS NADA DAQUI PARA BAIXO! ]] -- function removeTpb() local t = getTileItemById(bloodconfig.positionTP, 1387) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(bloodconfig.positionTP, CONST_ME_POFF) end end function removeStones() for i = 1, #bloodconfig.posPedras do local pedra = getTileItemById(bloodconfig.posPedras[i], 1304) if pedra then doRemoveItem(pedra.uid, 1) end end end function putStones() for i = 1, #bloodconfig.posPedras do local pedra = getTileItemById(bloodconfig.posPedras[i], 1304).uid if pedra < 1 then doCreateItem(1304, 1, bloodconfig.posPedras[i]) end end end function createTeleportb() local tip = doCreateTeleport(1387, bloodconfig.positionEvento, bloodconfig.positionTP) doItemSetAttribute(tip, "aid", 4726) end function removeTpa() local t = getTileItemById(bloodconfig.estatua, 1387) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(bloodconfig.estatua, CONST_ME_POFF) end end function getPlayersInBlood() local playersInBlood = getGlobalStorageValue(bloodconfig.playersStorage) return playersInBlood < 0 and 0 or playersInBlood end function removePlayers() for _, pid in pairs(getPlayersOnline()) do if isInArea(getThingPos(pid), bloodconfig.fromPos, bloodconfig.toPos) then doTeleportThing(pid, bloodconfig.templo, false) doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce foi removido do Blood Castle. Possiveis causas: o evento nao atingiu o numero minimo de players, Voce permaneceu no evento por mais de " .. bloodconfig.tempoMaximo .. " minutos.") end end end function checkBlood() if getPlayersInBlood() >= bloodconfig.minPlayers then removeStones() doBroadcastMessage("[Blood Castle] O Evento comecou e o teleporte para ele foi fechado. Boa sorte a todos!") if not isMonster(getTopCreature(bloodconfig.posGuarda).uid) then doCreateMonster("Guarda do Portao", bloodconfig.posGuarda) end addEvent(removePlayers, bloodconfig.tempoMaximo*60*1000) else removePlayers() setGlobalStorageValue(bloodconfig.playersStorage, 0) doBroadcastMessage("[Blood Castle] O evento nao atingiu o numero minimo de participantes e foi cancelado.") if isMonster(getTopCreature(bloodconfig.posGuarda).uid) then doRemoveCreature(getTopCreature(bloodconfig.posGuarda).uid) end if isMonster(getTopCreature(bloodconfig.estatua).uid) then doRemoveCreature(getTopCreature(bloodconfig.estatua).uid) end end end function putWalls() for i = 1, #bloodconfig.posParedes do doCreateItem(bloodconfig.idDasParedes, 1, bloodconfig.posParedes[i]) end end function removeWalls() for i = 1, #bloodconfig.posParedes do local wall = getTileItemById(bloodconfig.posParedes[i], bloodconfig.idDasParedes) if wall then doRemoveItem(wall.uid, 1) end end end function createAngel() if not isMonster(getTopCreature(bloodconfig.estatua).uid) then doCreateMonster("Arcanjo", bloodconfig.estatua) doBroadcastMessage("[Blood Castle] A estatua do arcanjo apareceu!") end end function Guarantee() if isMonster(getTopCreature(bloodconfig.posGuarda).uid) then putWalls() doRemoveCreature(getTopCreature(bloodconfig.posGuarda).uid) elseif isMonster(getTopCreature(bloodconfig.estatua).uid) then putStones() putWalls() doRemoveCreature(getTopCreature(bloodconfig.estatua).uid) end end movements function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if item.actionid == 4726 then setGlobalStorageValue(bloodconfig.playersStorage, getPlayersInBlood()+1) print(getPlayersInBlood().. " Jogadores no Blood Castle") elseif item.actionid == 9371 then setGlobalStorageValue(bloodconfig.playersStorage, getPlayersInBlood()-1) print(getPlayersInBlood().. " Jogadores no Blood Castle") end return true end movements.xml <movevent type="StepIn" actionid="4726;9371" event="script" value="BloodMovement.lua"/> creaturescript 3 scripts bloodcreature function onDeath(cid, corpse, mostDamageKiller) if isPlayer(cid) and isInArea(getCreaturePosition(cid), bloodconfig.fromPos, bloodconfig.toPos) then setGlobalStorageValue(bloodconfig.playersStorage, getPlayersInBlood()-1) end return true end function onLogin(cid) if isInArea(getCreaturePosition(cid), bloodconfig.fromPos, bloodconfig.toPos) then doTeleportThing(cid, bloodconfig.templo, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce estava no meio do evento Blood Castle quando o servidor caiu. Voce foi teleportado para o templo.") end registerCreatureEvent(cid, "morrerblood") registerCreatureEvent(cid, "guardablood") registerCreatureEvent(cid, "arcanjoblood") return true end bloodanjo function onDeath(cid, corpse, mostDamageKiller) local artigo = getPlayerSex(mostDamageKiller[1]) == 0 and "A jogadora" or "O jogador" if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower("Arcanjo") then doBroadcastMessage("[Blood Castle] " .. artigo .. " " .. getPlayerName(mostDamageKiller[1]) .. " destruiu a estatua do Arcanjo e foi o vencedor da rodada!") for _, premio in pairs(bloodconfig.premios) do doPlayerAddItem(mostDamageKiller[1], premio[1], premio[2]) end doPlayerSendTextMessage(mostDamageKiller[1], 25, "Parabens voce venceu o evento Blood Castle!") doSendMagicEffect(getCreaturePosition(mostDamageKiller[1]), 66) doCreateTeleport(1387, bloodconfig.templo, bloodconfig.estatua) addEvent(removeTpa, bloodconfig.tempoSaida*1000) setGlobalStorageValue(bloodconfig.playersStorage, 0) putWalls() putStones() end return true end bloodguarda function onDeath(cid, corpse, mostDamageKiller) local artigo = getPlayerSex(mostDamageKiller[1]) == 0 and "A jogadora" or "O jogador" if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower("Guarda do Portao") then removeWalls() addEvent(createAngel, 2*60*1000) doBroadcastMessage("[Blood Castle] " .. artigo .. " " .. getPlayerName(mostDamageKiller[1]) .. " derrotou o Guarda do Portao! Prossigam para proxima sala e aguardem ate o arcanjo nascer!") end return true end creaturescript.xml <event type="death" name="guardablood" event="script" value="BloodCreatureGuarda.lua"/> <event type="death" name="arcanjoblood" event="script" value="BloodCreatureAnjo.lua"/> <event type="death" name="morrerblood" event="script" value="BloodCreature.lua"/> <event type="death" name="loginblood" event="script" value="BloodCreature.lua"/> Anjo.xml Arcanjo.xml Gargula.xml Guarda do Portao.xml Hidan Blood.xml Sentinela.xml @Jinx funcionou? Projeto ATS (Naruto)Informações AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Agosto 29, 2018 6 anos Autor @Brunds O Teleport nao esta aparecendo, ja tentei mil vezes e nada.
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.