Postado Abril 28, 2013 12 anos Então galeraa, estou eu aqui, mais uma vez para pedir a ajuda de vocês. Meu servidor está ficando cada vez melhor em termos de equilibrios e diminuição de bugs, mas, estou com um problema no Coliseum Event, quando o pessoal entra e tal, quem morre perde level, loot, e skill. Não sei muito bem o porque disso, alguém sabe como arrumar? Um outro problema é a WoE, a guild que conquista o castelo, não consegue entrar nele depois. Alguém saberia arrumar esses 2 problemas? ou pelo menos 1 deles, o principal é o Coliseum Event, que está me dando uma certa dor de cabeça, tem vezes até que o players fica preso lá e eu tenho q puxar ele. REP+ a quem souber arrumar.
Postado Abril 28, 2013 12 anos Olá meu amigo, quanto ao coliseum tente por PVP-ZONE na área toda do coliseum, quanto ao woe eu nem entendi
Postado Abril 28, 2013 12 anos Então galeraa, estou eu aqui, mais uma vez para pedir a ajuda de vocês. Meu servidor está ficando cada vez melhor em termos de equilibrios e diminuição de bugs, mas, estou com um problema no Coliseum Event, quando o pessoal entra e tal, quem morre perde level, loot, e skill. Não sei muito bem o porque disso, alguém sabe como arrumar? Um outro problema é a WoE, a guild que conquista o castelo, não consegue entrar nele depois. Alguém saberia arrumar esses 2 problemas? ou pelo menos 1 deles, o principal é o Coliseum Event, que está me dando uma certa dor de cabeça, tem vezes até que o players fica preso lá e eu tenho q puxar ele. REP+ a quem souber arrumar. Tente postar o script do WoE. Att. Giovani Rodrigo Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Abril 28, 2013 12 anos Autor aqui está amigo: dofile("./_woe.lua") local config = woe_config function onSay(cid, words, param) if words == "/woe" and param == "/!/SETUP" then Woe.setup() return true end Woe.getInfo() local myTable = {} for _, i in ipairs({"%d", "%B", "%Y", "%X"}) do table.insert(myTable, os.date(i, infoLua[4])) end if Woe.isStarted() then text = "time left = " .. Woe.timeToEnd().mins .. ":" .. Woe.timeToEnd().secs .. "\nActually the castle " .. Castle.name .. " is owned by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."." else text = "the last woe was won by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."." end if words == "/woe" then if getPlayerAccess(cid) >= config.accessToStar then if param == "on" then if Woe.isTime() ~= true then doBroadcastMessage("War of Emperium will start in next 5 minutes...", config.bcType) doBroadcastMessage("will have a duration of " .. config.timeToEnd .. " Minutes.", config.bcType) setGlobalStorageValue(stor.WoeTime, 1) else doPlayerSendCancel(cid, "WoE is already running.") end elseif param == "off" then if Woe.isTime() == true then doBroadcastMessage("WoE was canceled...", config.bcType) setGlobalStorageValue(stor.WoeTime, 0) setGlobalStorageValue(stor.Started, 0) if isCreature(getThingFromPos(Castle.empePos).uid) == TRUE then doRemoveCreature(getThingFromPos(Castle.empePos).uid) end if getThingFromPos(Castle.desde).itemid > 0 then doRemoveItem(getThingFromPos(Castle.desde).uid) end Woe.removePre() Woe.removePortals() else doPlayerSendCancel(cid, "WoE is not running.") end elseif param == "empe" then doSummonCreature("empe", Castle.empePos) elseif param == "go" then local newPos = Castle.empePos newPos.y = newPos.y + 1 doTeleportThing(cid, newPos, FALSE) elseif param == "info" then doPlayerPopupFYI(cid, text) else doPlayerSendCancel(cid, "not valid param.") end elseif getPlayerAccess(cid) < config.accessToStar then if param == "info" then doPlayerPopupFYI(cid, text) end else doPlayerSendCancel(cid, "not possible.") end elseif words == "!recall" then if Woe.isStarted() == true then if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then if Woe.isInCastle(cid) == true then local members = Woe.getGuildMembers(getPlayerGuildId(cid)) if #members > 1 then if(exhaust(cid, stor.recall, config.recallTime) == 1) then for _, i in ipairs(members) do if getPlayerGuildLevel(i) ~= GUILDLEVEL_LEADER then local pos = getClosestFreeTile(cid, getCreaturePosition(cid), FALSE, TRUE) doTeleportThing(i, pos, FALSE) end end doCreatureSay(cid, "Emergency Recall", TALKTYPE_SAY) else doPlayerSendCancel(cid, "you can only use this every " .. config.recallTime / 60 .. " minutes.") end else doPlayerSendCancel(cid, "no members online.") end else doPlayerSendCancel(cid, "only can be used in the castle.") end else doPlayerSendCancel(cid, "you are not the leader.") end else doPlayerSendCancel(cid, "woe is not running.") end end return true end @edit: Continuo com o problema no evento Coliseum e já verifiquei no Rme e está tudo em PVP Zone. Script Coliseum: local config = { semana_mes = "semana", days = {2,5,7}, goblet = 5805, -- id of the gold goblet you'll get when finishing the event. rewards = {2195, 2152, 2160}, -- You will get this + a gold goblet with your name on. moneyReward = {2160, 10, 1}, -- second collumn(count) 0 if you don't want money to be used. or a stackable item you want more than 1 of. playerCount = 12001, -- Global storage for counting the players left/entered in the event teleportActionId = 12008, -- Action id of the teleport needed for the movement script teleportPosition = {x = 32364, y = 32233, z = 7, stackpos = 1}, -- Where the teleport will be created teleportToPosition = {x = 32143, y = 32202, z = 7}, -- Where the teleport will take you teleportId = 1387, -- Id of the teleport timeToStartEvent = 10, -- Minutes, after these minutes the teleport will be removed and the event will be declared started coliseumName = "event lion", -- Name of the coliseum that should be summoned coliseumName2 = "event tiger", -- Name of the coliseum that should be summoned playersNeededToStartEvent = 3, -- Players needed before the coliseums can spawn. -- Should be the same as in the creaturescript! -- The coliseums will spawn randomly inside this area fromPosition = {x = 32129, y = 32188, z = 7}, -- top left cornor of the playground toPosition = {x = 32159, y = 32215, z = 7}, -- bottom right cornor of the playground posportoescima={{{x = 32143, y = 32188, z = 7},{x = 32144, y = 32188, z = 7}},{{x = 32144, y = 32215, z = 7},{x = 32145, y = 32215, z = 7}}}, posportoeslado={{{x = 32131, y = 32202, z = 7},{x = 32131, y = 32201, z = 7}},{{x = 32156, y = 32202, z = 7},{x = 32156, y = 32203, z = 7}}}, idportaocima = 1547, idportaolado = 1546, tempoparaabrir = 120, --em segundos poslion = {{x = 32142, y = 32187, z = 7},{x = 32130, y = 32201, z = 7},{x = 32146, y = 32216, z = 7}, {x = 32157, y = 32201, z = 7}}, postigre = {{x = 32142, y = 32187, z = 7},{x = 32129, y = 32203, z = 7},{x = 32143, y = 32216, z = 7}, {x = 32157, y = 32204, z = 7}} } function onTime() local time = os.date("*t") local asd = config.timeToStartEvent*60 for x=0,3 do local pol = asd + (x*config.tempoparaabrir) addEvent(doBroadcastMessage,pol*1000,"The next coliseum gate will open in " .. config.tempoparaabrir .. " seconds! Good luck!",MESSAGE_EVENT_ADVANCE) end if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then local tt = config.timeToStartEvent*60000 for p,u in pairs(config.posportoescima) do for a,b in pairs(u) do doCreateItem(config.idportaocima,b) addEvent(rrport,tt,b,config.idportaocima) end tt = tt + (config.tempoparaabrir*(p - 1)*1000) end for p,u in pairs(config.posportoeslado) do for a,b in pairs(u) do doCreateItem(config.idportaolado,b) addEvent(rrport,tt,b,config.idportaolado) end tt = tt + (config.tempoparaabrir*p*1000) end local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doItemSetAttribute(tp, "aid", config.teleportActionId) doBroadcastMessage("Coliseum event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) addEvent(startEvent2, config.timeToStartEvent * 1000 * 60) for _,k in pairs(config.poslion) do doCreateMonster(config.coliseumName, k,false) end for _,k in pairs(config.postigre) do doCreateMonster(config.coliseumName2, k,false) end end return TRUE end function rrport(pos,id) local uid = getTileItemById(pos,id).uid doRemoveItem(uid) end function startEvent2() local get = getThingfromPos(config.teleportPosition) if get.itemid == config.teleportId then doRemoveItem(get.uid, 1) end local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then doBroadcastMessage("Good luck in the Coliseum event people! The teleport has closed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then --doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The next coliseum gate will open in " .. config.tempoparaabrir .. " seconds! Good luck!") pvgaylord2() return true end end end end else doBroadcastMessage("The coliseum event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) elseif isMonster(getPlayers.uid) then doRemoveCreature(getPlayers.uid) end end end end end end function spawncoliseum(p) if getGlobalStorageValue(config.playerCount) >= 2 then if p ~= getGlobalStorageValue(config.playerCount) then doBroadcastMessage("There is currently " .. getGlobalStorageValue(config.playerCount) .. " players in the coliseum event!", MESSAGE_STATUS_CONSOLE_RED) end else local fromp, top = config.fromPosition, config.toPosition for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} cid = getThingfromPos(areapos).uid if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doBroadcastMessage(getCreatureName(cid)..' has survived at coliseum event!') local n = #config.rewards if config.moneyReward[3] then n = n + 1 end if config.rewards[math.random(1,n)] then doPlayerAddItem(cid, items, 1) else doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2]) end doBroadcastMessage(getPlayerName(cid) .. " won the coliseum event! Congratulations!", MESSAGE_STATUS_WARNING) local goblet = doPlayerAddItem(cid, config.goblet, 1) doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the coliseum event.") doPlayerAddLevel(cid, 1, "You advanced from level " ..getPlayerLevel(cid).. " to level " ..(getPlayerLevel(cid) + 1).. " in Coliseum Event.") elseif isMonster(cid) then doRemoveCreature(cid) end end end end end end function pvgaylord2() local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0 for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do local areapos = {x = x, y = y, z = z, stackpos = 253} local cid = getThingfromPos(areapos).uid if isPlayer(cid) then p = p+1 elseif isMonster(cid) then m = m+1 end end end end local ll = getGlobalStorageValue(config.playerCount) if p ~= getGlobalStorageValue(config.playerCount) then setGlobalStorageValue(config.playerCount, p) end spawncoliseum(ll) if p < 2 then return true end addEvent(pvgaylord2,300,nil) end Editado Abril 28, 2013 12 anos por sear10 (veja o histórico de edições)
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.