Postado Janeiro 31, 2014 11 anos Me ajudem por batlefield plz!!! Galera Me ajude Por favor eu to querendo por batlefield no meu servidor de tibia, mas so que eu abaixo o mpa do batlefield e vo colar no meu mapa mas tem uma cidade na position do batle field e eu não sei configurar as position para cair dentro do evento me de um tutorial exlicando tudo certinho com mapa do evento as scripts... e como mudo a posiçoes para cair nobatle field eu não sei mudar as posiçoes exemplo eu quero colar o mapa do batle field no meu mapa mas em um lugar vazio ae eu não sei por as posiçoes para o player ir ate no lugar q eu puis o evento!. essas cosia me ajudem plz... Dou 3 REPS e ajudo em augo para retribuir! TFS 0.4 DEV Página no facebook: https://www.facebook.com/Suporterking Skype: fabinhodias01 愛"A almapermanece em suas criações" 平 (Dou suporte apenas em tópicos..)
Postado Janeiro 31, 2014 11 anos Lembre-se:- De colocar Pvp Tool na área- De colocar área NoLogout Data/Lib/BattleLib.lua : _Lib_Battle_Info = { Reward = {2160,10}, TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=613,y=802,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=631,y=801,z=7}}, storage_count = 180400, tpPos = {x=158, y=57, z=7}, limit_Time = 10 -- em minutos } function resetBattle() return setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) and setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) end function OpenWallBattle() local B = { {1543,{x=622, y=803, z=7, stackpos = 1}}, {1543,{x=622, y=804, z=7, stackpos = 1}}, {1543,{x=622, y=805, z=7, stackpos = 1}}, {1543,{x=622, y=806, z=7, stackpos = 1}} } for i = 1, #B do if getTileItemById(B[i][2], B[i][1]).uid == 0 then doCreateItem(B[i][1], 1, B[i][2]) else doRemoveItem(getThingfromPos(B[i][2]).uid,1) end end end function doBroadCastBattle(type,msg) local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then table.insert(players, cid) end end for i = 1, #players do doPlayerSendTextMessage(players[i],type,msg) end end function removeBattleTp() local t = getTileItemById(_Lib_Battle_Info.tpPos, 1387).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(_Lib_Battle_Info.tpPos, CONST_ME_POFF) end function getWinnersBattle(storage) local players,str = {},"" for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, storage) == 1 then table.insert(players, cid) end end str = str .. ""..#players.." Player"..(#players > 1 and "s" or "").." from team "..(getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 and _Lib_Battle_Info.TeamTwo.name or _Lib_Battle_Info.TeamOne.name).." won the event battlefield, they received a ".._Lib_Battle_Info.Reward[2].." "..getItemNameById(_Lib_Battle_Info.Reward[1]).."!" for i = 1, #players do doPlayerAddItem(players[i], _Lib_Battle_Info.Reward[1], _Lib_Battle_Info.Reward[2]) doRemoveCondition(players[i], CONDITION_OUTFIT) doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i]))) setPlayerStorageValue(players[i], storage, -1) end resetBattle() OpenWallBattle() return doBroadcastMessage(str) end function CheckEvent(delay) if delay > 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then doBroadcastMessage("[BattleField Event] We are waiting "..getGlobalStorageValue(_Lib_Battle_Info.storage_count).." players to Battlefield starts") elseif delay == 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then table.insert(players, cid) end end for i = 1, #players do doRemoveCondition(players[i], CONDITION_OUTFIT) doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i]))) setPlayerStorageValue(players[i], getPlayerStorageValue(players[i], _Lib_Battle_Info.TeamOne.storage) == 1 and _Lib_Battle_Info.TeamOne.storage or _Lib_Battle_Info.TeamTwo.storage, -1) end doBroadcastMessage("The event cannot be started because not had enough players.") setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0) resetBattle() removeBattleTp() end addEvent(CheckEvent, 60000, delay-1) end Data/CreatureScript/BattleCreatureScript.lua : function onLogin(cid) if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == -1 then setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0) end registerCreatureEvent(cid, "BattleTeam") registerCreatureEvent(cid, "BattleDeath") return true end function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamOne.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamTwo.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end return true end return true end function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamTwo.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end elseif getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamOne.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end end return true end creaturescript.xml : <event type="login" name="BattleLogin" event="script" value="BattleCreatureScript.lua"/> <event type="PrepareDeath" name="BattleDeath" event="script" value="BattleCreatureScript.lua"/> <event type="combat" name="BattleTeam" event="script" value="BattleCreatureScript.lua"/> Data/Globalevents/BattleGlobalEvents.lua : function onThink(interval, lastExecution) local _Lib_Battle_Days = { ["Monday"] = { ["16:00"] = {players = 30}, ["21:30"] = {players = 20} }, ["Tuesday"] = { ["17:02"] = {players = 8} }, ["Thursday"] = { ["11:26"] = {players = 4}, ["20:30"] = {players = 10} } } if _Lib_Battle_Days[os.date("%A")] then local hours = tostring(os.date("%X")):sub(1, 5) local tb = _Lib_Battle_Days[os.date("%A")][hours] if tb and (tb.players % 2 == 0) then local tp = doCreateItem(1387, 1, _Lib_Battle_Info.tpPos) doItemSetAttribute(tp, "aid", 45000) CheckEvent(_Lib_Battle_Info.limit_Time) doBroadcastMessage("The event BattleField was opened and We are waiting "..tb.players.." Players! Team divided into "..((tb.players)/2).." VS "..((tb.players)/2)) setGlobalStorageValue(_Lib_Battle_Info.storage_count, tb.players) return true end end return true end Data/Movements/BattleMovements.lua : local conditionBlack = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlack, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlack, {lookType = 134, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) function onStepIn(cid, item, position, fromPosition) if getPlayerAccess(cid) > 3 then doTeleportThing(cid, _Lib_Battle_Info.TeamOne.pos) return false elseif getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then setGlobalStorageValue(_Lib_Battle_Info.storage_count, getGlobalStorageValue(_Lib_Battle_Info.storage_count)-1) end if getGlobalStorageValue(_Lib_Battle_Info.storage_count) >= 0 then if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) < getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage) then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage, 1) doAddCondition(cid, conditionBlack) setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage)+1) doTeleportThing(cid, _Lib_Battle_Info.TeamOne.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. _Lib_Battle_Info.TeamOne.name .. "!") else setPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage, 1) doAddCondition(cid, conditionRed) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage)+1) doTeleportThing(cid, _Lib_Battle_Info.TeamTwo.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. _Lib_Battle_Info.TeamTwo.name .. "!") end end if getGlobalStorageValue(_Lib_Battle_Info.storage_count) == 0 then removeBattleTp() doBroadcastMessage("Battlefield will start in 2 minutes, please create your strategy!") addEvent(doBroadcastMessage, 2*60*1000-500, "BattleField will begin now!") addEvent(OpenWallBattle, 2*60*1000) end return true end Como configurar: Configuração dos Times: em Data/Lib/BattleLib.lua vai ter essa tabela: _Lib_Battle_Info = { Reward = {2160,10}, TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=613,y=802,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=631,y=801,z=7}}, storage_count = 180400, tpPos = {x=158, y=57, z=7}, limit_Time = 10 -- em minutos } Reward = {2160,10} -- aqui se configura o prêmio que os jogadores vão receber--TeamOne = {name = "Black Assassins", -- É o nome do timestorage = 140120, -- n mexapos = {x=613,y=802,z=7} -- é a posição para onde eles vão entrar no teleport, cada time tem o seu.}--storage_count = 180400, -- n mexa--tpPos = {x=158, y=57, z=7}, -- É A POSIÇÃO ONDE O TELEPORT VAI ABRIR--limit_Time = 10 -- É o tempo limite para os jogadores entrarem no teleport. Configurar Datas do evento: Em data/globalevents/script/BattleGlobalEvents.lua vai ter essa tabela: _Lib_Battle_Days = { ["Monday"] = { ["16:00"] = {players = 30}, ["21:30"] = {players = 20} }, ["Wednesday"] = { ["19:00"] = {players = 16} }, ["Thursday"] = { ["11:26"] = {players = 4}, ["20:30"] = {players = 10} } } ["DIA DA SEMANA"] = {["HORARIO] = {players = QUANTOS JOGADORES IRÃO PARTICIPAR}Regra: Sempre coloque números pares para os jogadores, do contrário o evento não irá iniciar.-- Configuração Paredes: É importante que você faça no mapper editor as paredes que vão separar os times, quando o evento começar elas serão removidas, e quanto terminar o evento elas serão repostas automaticamente.em Data/Lib/BattleLib.lua vai ter essa função: function OpenWallBattle() local B = { {1543,{x=622, y=803, z=7, stackpos = 1}}, {1543,{x=622, y=804, z=7, stackpos = 1}}, {1543,{x=622, y=805, z=7, stackpos = 1}}, {1543,{x=622, y=806, z=7, stackpos = 1}} } for i = 1, #B do if getTileItemById(B[i][2], B[i][1]).uid == 0 then doCreateItem(B[i][1], 1, B[i][2]) else doRemoveItem(getThingfromPos(B[i][2]).uid,1) end end end local B = { {1543,{x=622, y=803, z=7, stackpos = 1}}, {1543,{x=622, y=804, z=7, stackpos = 1}},{1543,{x=622, y=805, z=7, stackpos = 1}},{1543,{x=622, y=806, z=7, stackpos = 1}} }{ID DA SUA PAREDE, E A PÓS DELA}PODE AUMENTAR O NÚMERO DE PAREDES E OS ID DELAS. Creditos : 100% Vodkart Para botar o mapa Battlefield no servidor abra o mapa do BF no RME copie completamente a area,copie e aperte "file/new" abra o seu mapa e cole na area que você desejar. Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
Postado Fevereiro 1, 2014 11 anos Autor Mas Qualquer mapa vale ?? voce poderia pasar o seu? TFS 0.4 DEV Página no facebook: https://www.facebook.com/Suporterking Skype: fabinhodias01 愛"A almapermanece em suas criações" 平 (Dou suporte apenas em tópicos..)
Postado Fevereiro 1, 2014 11 anos Eu uso o mapa feito pelo AnneMotta : http://www.tibiaking.com/forum/index.php?app=core&module=attach§ion=attach&attach_id=1975 Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
Postado Fevereiro 1, 2014 11 anos Autor vLW MAS eu posso colar o apa aonde eu kiser no remr que vai ter o evento tudo certin??? ou presiso configura augo? me ensina ae man plz TFS 0.4 DEV Página no facebook: https://www.facebook.com/Suporterking Skype: fabinhodias01 愛"A almapermanece em suas criações" 平 (Dou suporte apenas em tópicos..)
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.