Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • 1 month later...
  • Respostas 45
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Script/Tutorial+ Php +Map +Talkaction +Portal. Ps: Antes de falar q o topico já existe no forum teste os outros scripts Então começando por informações basícas : Para abrir o evento :

Mano no caso deve ser assim .. Com tanto que pegue a arena toda aquele mapa quadrado q usei como exemplo tá postado ali nos mapas tambem ele eh o ultimo link o do speedshare parece .

Impossivel.. a graça do sistema eh essa o evento abrir quando vc quiser sem ter q modificar nada .   Confira seu OnStartup.. sua distro e TFS 0.4? e sobre a msg tu tem q por /zombiestart 2 zombies

eu usei este system no serve de poketibia funfo tudo mais na hora do zumbie nasce ele não nasceu eu fiz um mapa redondo seria melhor eu fazer quadrado ????? ou vc tem uma solção melhor ?

Se ajudei rep++ não vai cair seu dedo muito menos acontecer algo de ruim

Link para o post
Compartilhar em outros sites
  • 5 months later...

vou fazer um mapa melhor,para o zumbie event

este mapa não tem graça jogabilidade nenhuma!

não sobe escada nada...irei criar um mapa melhor e postar a vocês.

                                                                         github.png TFS 0.4 DEV                                                                                                       nvzl0l.jpg
 
Página no facebook: https://www.facebook.com/Suporterking                                                                                     
Skype: fabinhodias01
 
 
"A almapermanece em suas criações" 


h3dhnuI.jpg           
(Dou suporte apenas em tópicos..)

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

capturarhoz.png

Script/Tutorial+ Php +Map +Talkaction +Portal.

Ps: Antes de falar q o topico já existe no forum teste os outros scripts

Então começando por informações basícas :

starct.pngPara abrir o evento : /zombiestart numero de players . exemplo : /zombiestart 2

starct.pngPara Iniciar o evento sem o numero maximo de players: /zombiestart force.

starct.png Apos aberto sempre q um player ente no portal do evento e avisado por broadcast quem

starct.pngentrou na arena e o numero de players restantes para o evento ser iniciado.

starct.png Apos o evento ser iniciado um zombie e sumonado a cada 20 segundos, o player que for infectado e teleportado para o templo vence o ultimo player restante na arena.

starct.png Ao terminar o evento e anuciado por broadcast o nome do player vencedor tempo q durou na arena e por quantos zombies ele sobreviveu, entrega de premio automatica, premio configuravel.

starct.png Garantia de funcionabilidade perfeita em TFS 0.4 se configurado corretamente, não testado em outras versões de distros.

starct.png Creditos: Me .. não criei mais montei peguei de varios servers/topicos e corigi os varios bugs de distro colocaria os creditos de onde peguei a maioria do script mais foi de um server sem creditos q nem era pra ter sido postado.

Enfim Vamos ao Evento !

Primeiro vou estar postando a pagina classica do Zombie event no Gesior que seria a parte PHP para informar os players sobre o evento.

Pagina PHP + Tutorial de como implementar ela no seu site.

Vá ate

"C:/xampp/htdcos/" crie um arquivo chamado Zombieevent.php dentro coloque isso.

<?PHP

$main_content .= '<h4 id="pt">

<br>

<center><h2><b> Zombie Event</b></h2></center><br><br>

<center><object height="350" width="425"><img

src="http://i52.tinypic.c...com/wjdth1.jpg" height="700"

width="525"></object></center><br>

<br><br> </h4>

<center><b>O que é o Zombie Event?</b><br>

<br>

É um evento que acontece todos os dias as 12:00, 18:30 e 21:30 hr no

servidor.<br>

<br>

<br>

<b>Como funciona?<br></b>

<br>

Quando estiver na hora irá abrir um teleport no mesmo lugar onde aparece o

teleport da WoE, basta você entrar e aguardar o tempo para inicio do Evento,

o objetivo do jogo é correr dos zombies, a cada 20 segundos irá nascer um novo em

alguma área randomica, você deve correr pois se eles te tocarem você

automaticamente é retirado do evento e volta para o seu temple.

O ultimo jogador que sobrar vivo vence o evento.<br>

<br>

<br>

<b>Quais são os prêmios?<br></b>

<br>

O ganhador irá ganhar<b> 100k</b>, uma <b>Boots of Haste</b> e um <b>Globet com o

nome dele</b>.<br>

<br>

</center>';

?>

Depois abra o index.php em "C:/xampp/htdcos/".

case "buypoints":

$topic = "Buy Points";

$subtopic = "buypoints";

include("buypoints.php");

break;

Cole isso:

case "zombieevent":

$topic = "Zombie event";

$subtopic = "zombieevent";

include("zombieevent.php");

break;

Agora vá em "C:/xampp/htdcos/layout/tibiacom/" abra o arquivo layout.php.

Depois de:

<a href='?subtopic=highscores'>

<div id='submenu_highscores' class='Submenuitem' onmouseover='MouseOverSubmenuItem(this)' onmouseout='MouseOutSubmenuItem(this)'>

<div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>

<div id='ActiveSubmenuItemIcon_highscores' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div>

<div class='SubmenuitemLabel'>Highscores</div>

<div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div>

</div>

</a>

Cole isso:

<a href='?subtopic=zombieevent'>

<div id='submenu_zombieevent' class='Submenuitem'

onmouseover='MouseOverSubmenuItem(this)' onmouseout='MouseOutSubmenuItem(this)'>

<div class='LeftChain' style='background-image:url(<?PHP echo $layout_name;

?>/images/general/chain.gif);'></div>

<div id='ActiveSubmenuItemIcon_highscores' class='ActiveSubmenuItemIcon'

style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-

activesubmenu.gif);'></div>

<div class='SubmenuitemLabel'>Zombie Event</div>

<div class='RightChain' style='background-image:url(<?PHP echo $layout_name;

?>/images/general/chain.gif);'></div>

</div>

</a>

- CREDITOS -

Isbigo [Por postar em outro forum]

AnneMotta [Por postar aqui.]

Agora alguns mapas para o zombie event:

http://tibiaking.com...apa-modificado/ - tiago.bordin1988

http://tibiaking.com...mbie-event-v10/ - ricardo3

http://tibiaking.com...map-86-inovado/ - OhGod

No meu caso uso esse : http://www.speedysha...ombieEvent.otbm

Entre outros ..

Então Agora vamos ao script !

data\creaturescripts\scripts\zombie – A pasta ‘zombie’ deve ser criada no diretorio citado.

\data\creaturescripts\scripts\Zombie\onattack.lua

function loseOnZombieArena(cid)
kickPlayerFromZombiesArea(cid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "BOOM! You are dead.")
local players = getZombiesEventPlayers()
if(#players <= 1) then
	 local winner = players[1]
	 if(winner) then
		 doPlayerAddItem(winner, 2157, 5, true)
		 doPlayerAddItem(winner, 6119, 1, true)
		 doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "You won zombies arena event.")
		 doBroadcastMessage("After " .. os.time() - getPlayerZombiesEventStatus(winner) .. " seconds of fight " .. getCreatureName(winner) .. " won Zombie Arena Event in game versus " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zombies!")
		 kickPlayerFromZombiesArea(winner)
	 else
		 doBroadcastMessage("Zombie arena event finished! No one win?!?!?! WTF!")
	 end
	 doSetStorage(ZE_STATUS, 0)
	 doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS)
	 doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0)
	 doSetStorage(ZE_ZOMBIES_SPAWNED, 0)
	 local width = (math.max(ZE_spawnFromPosition.x, ZE_spawnToPosition.x) - math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)) / 2 + 1
	 local height = (math.max(ZE_spawnFromPosition.y, ZE_spawnToPosition.y) - math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)) / 2 + 1
	 local centerPos = {x=math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)+width,y=math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)+height,z=ZE_spawnFromPosition.z}
	 for z = math.min(ZE_spawnFromPosition.z, ZE_spawnToPosition.z), math.max(ZE_spawnFromPosition.z, ZE_spawnToPosition.z) do
		 centerPos.z = z
		 for i, uid in pairs(getSpectators(centerPos, width, height, false)) do
			 if(isMonster(uid)) then
				 doRemoveCreature(uid)
			 end
		 end
	 end
end
end

function onStatsChange(target, cid, changetype, combat, value)
if((cid and isMonster(cid) and getCreatureName(cid) == "Zombie Event") or (isInRange(getThingPosition(target), ZE_spawnFromPosition, ZE_spawnToPosition) and changetype == STATSCHANGE_HEALTHLOSS and math.abs(value) >= getCreatureHealth(target))) then
	 doCreatureAddHealth(target, getCreatureMaxHealth(target))
	 loseOnZombieArena(target)
	 return false
end
return true
end
\data\creaturescripts\scripts\Zombie\ondeath.lua

function onDeath(cid)
	 setZombiesToSpawnCount(getZombiesToSpawnCount() + 2)
	 doCreatureSay(cid, "I'll be back!", 19)
	 return true
end
\data\creaturescripts\scripts\Zombie\onthink.lua

function onThink(cid)
		 local target = getCreatureTarget(cid)
		 if(target ~= 0 and not isPlayer(target)) then
					 doRemoveCreature(target)
		 end
		 return true
end
\data\globalevents\scripts\zombie\ onstartup.lua

function onstartup()
		 db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = " .. ZE_isOnZombieArea .. ";")
		 doSetStorage(ZE_STATUS, 0)
		 doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS)
		 doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0)
		 doSetStorage(ZE_ZOMBIES_SPAWNED, 0)
		 addZombiesEventBlockEnterPosition()
		 return true
end
\data\globalevents\scripts\zombie\onthink.lua

function onThink(interval, lastExecution, thinkInterval)
		 if(getStorage(ZE_STATUS) == 2) then
					 setZombiesToSpawnCount(getZombiesToSpawnCount()+1)
					 local players = getZombiesEventPlayers()
					 for i=1, getZombiesToSpawnCount() * 2 do
								 if(getZombiesToSpawnCount() > 0 and spawnNewZombie()) then
											 setZombiesToSpawnCount(getZombiesToSpawnCount()-1)
								 end
					 end
		 end
		 return true
end
\data\lib\zombie_event.lua

-- CONFIG
ZE_DEFAULT_NUMBER_OF_PLAYERS = 20
ZE_ACCESS_TO_IGNORE_ARENA = 4
-- POSITIONS
ZE_blockEnterItemPosition = {x=32341, y=32213, z=7} -- onde nasce o teleport?
ZE_enterPosition = {x=32154, y=32578, z=7} -- onde os players nascem dentro da arena zombie?
ZE_kickPosition = {x=32368, y=32241, z=7} -- quando morre vai para onde?
ZE_spawnFromPosition = {x=32140,y=32566,z=7} -- para sumonar zombie (de)
ZE_spawnToPosition = {x=32168,y=32590,z=7} -- para sumonar zombie (ate)
-- ITEM IDS
--ZE_blockEnterItemID = 2700
ZE_blockEnterItemID = 1387


-- STORAGES
-- - player
ZE_isOnZombieArea = 34370
-- - global
ZE_STATUS = 34370 -- =< 0 - off, 1 - waiting for players, 2 - is running
ZE_PLAYERS_NUMBER = 34371
ZE_ZOMBIES_TO_SPAWN = 34372
ZE_ZOMBIES_SPAWNED = 34373

-- FUNCTION

function setZombiesEventPlayersLimit(value)
	 doSetStorage(ZE_PLAYERS_NUMBER, value)
end

function getZombiesEventPlayersLimit()
	 return getStorage(ZE_PLAYERS_NUMBER)
end

function addPlayerToZombiesArea(cid)
	 doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	 doTeleportThing(cid, ZE_enterPosition, true)
	 doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	 if(getPlayerAccess(cid) < ZE_ACCESS_TO_IGNORE_ARENA) then
			 setPlayerZombiesEventStatus(cid, os.time())
	 end
end

function kickPlayerFromZombiesArea(cid)
	 doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	 doTeleportThing(cid, ZE_kickPosition, true)
	 doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	 setPlayerZombiesEventStatus(cid, 0)
end

function getPlayerZombiesEventStatus(cid)
	 return getCreatureStorage(cid, ZE_isOnZombieArea)
end

function setPlayerZombiesEventStatus(cid, value)
	 doCreatureSetStorage(cid, ZE_isOnZombieArea, value)
end

function getZombiesEventPlayers()
	 local players = {}
	 for i, cid in pairs(getPlayersOnline()) do
			 if(getPlayerZombiesEventStatus(cid) > 0) then
					 table.insert(players, cid)
			 end
	 end
	 return players
end

function getZombiesCount()
	 return getStorage(ZE_ZOMBIES_SPAWNED)
end

function addZombiesCount()
	 doSetStorage(ZE_ZOMBIES_SPAWNED, getStorage(ZE_ZOMBIES_SPAWNED)+1)
end

function resetZombiesCount()
	 doSetStorage(ZE_ZOMBIES_SPAWNED, 0)
end

function getZombiesToSpawnCount()
	 return getStorage(ZE_ZOMBIES_TO_SPAWN)
end

function setZombiesToSpawnCount(count)
	 doSetStorage(ZE_ZOMBIES_TO_SPAWN, count)
end

function addZombiesEventBlockEnterPosition() -- remove tp
	 -- remove o TP
	 local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID)
	 if(item.uid ~= 0) then
			 doRemoveItem(item.uid)
	 end
	 --doRemoveItem(getThingFromPos(Castle.desde).uid)
	 --[[
	 if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then
			 doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition)
	 end
	 ]]--
	
end

function removeZombiesEventBlockEnterPosition() -- add tp	
	 if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then
			 --doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition)
			 local tp = doCreateTeleport(ZE_blockEnterItemID, ZE_enterPosition, ZE_blockEnterItemPosition)
			 doItemSetAttribute(tp, "aid", "5555")
	 end
	 --[[
	 local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID)
	 if(item.uid ~= 0) then
			 doRemoveItem(item.uid)
	 end
	 ]]--
end

function spawnNewZombie()
	 local posx = {}
	 local posy = {}
	 local posz = {}
	 local pir = {}
	 for i=1, 5 do
			 local posx_tmp = math.random(ZE_spawnFromPosition.x ,ZE_spawnToPosition.x)
			 local posy_tmp = math.random(ZE_spawnFromPosition.y ,ZE_spawnToPosition.y)
			 local posz_tmp = math.random(ZE_spawnFromPosition.z ,ZE_spawnToPosition.z)
			 local pir_tmp = 0
			 local spec = getSpectators({x=posx_tmp, y=posy_tmp, z=posz_tmp}, 3, 3, false)
			 if(spec and #spec > 0) then
	 				 for z, pid in pairs(spec) do
							 if(isPlayer(pid)) then
									 pir_tmp = pir_tmp + 1
							 end
					 end
			 end
			 posx[i] = posx_tmp
			 posy[i] = posy_tmp
			 posz[i] = posz_tmp
			 pir[i] = pir_tmp
	 end
	 local lowest_i = 1
	 for i=2, 5 do
			 if(pir[i] < pir[lowest_i]) then
					 lowest_i = i
			 end
	 end
	 local ret = doCreateMonster("Zombie Event", {x=posx[lowest_i], y=posy[lowest_i], z=posz[lowest_i]}, false)
	 if type(ret) == "number" then
			 addZombiesCount()
			 setGlobalStorageValue(201201051801, ret)
	 end
	 return type(ret) == "number"
end
\data\movements\scripts\zombie\ onenter.lua

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
		 if(not isPlayer(cid)) then
					 return true
		 end
		 if(getPlayerAccess(cid) >= ZE_ACCESS_TO_IGNORE_ARENA) then
					 addPlayerToZombiesArea(cid)
		 elseif(#getZombiesEventPlayers() < getZombiesEventPlayersLimit() and getStorage(ZE_STATUS) == 1) then
					 addPlayerToZombiesArea(cid)
					 local players_on_arena_count = #getZombiesEventPlayers()
					 if(players_on_arena_count == getZombiesEventPlayersLimit()) then
								 addZombiesEventBlockEnterPosition() -- removeTP
								 doSetStorage(ZE_STATUS, 2)
								 doBroadcastMessage("Zombie Arena Event started.")
								
					 else
								 doBroadcastMessage(getCreatureName(cid) .. " has entered a Zombie Arena. We still need " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players.")
					 end
		 else
					 doTeleportThing(cid, fromPosition, true)
					 addZombiesEventBlockEnterPosition()
		 end
		 return true
end
\data\talkactions\scripts\zombie\ onsay.lua

function onSay(cid, words, param, channel)
if(getStorage(ZE_STATUS) ~= 2) then
local players_on_arena_count = #getZombiesEventPlayers()
if(param == 'force') then
if(players_on_arena_count > 0) then
	 setZombiesEventPlayersLimit(players_on_arena_count )
	 addZombiesEventBlockEnterPosition()
	 doSetStorage(ZE_STATUS, 2)
	 doBroadcastMessage("Zombie Arena Event started.")
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event started.")
else
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot start Zombies event. There is no players on arena.")
end
else
if(param ~= '' and tonumber(param) > 0) then
	 setZombiesEventPlayersLimit(tonumber(param))
end
removeZombiesEventBlockEnterPosition()
doSetStorage(ZE_STATUS, 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Event started.")
doPlayerBroadcastMessage(cid, "Zombie Arena Event teleport is opened. We are waiting for " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players to start.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event is already running.")
end
return true
end
data\monster\zombie_event.xml

<monster name="Zombie Event" nameDescription="an event zombie" race="undead" experience="480" speed="170" manacost="0">
	 <health now="20000" max="20000"/>
	 <look type="311" corpse="9875"/>
	 <targetchange interval="5000" chance="50"/>
	 <strategy attack="100" defense="0"/>
	 <flags>
			 <flag summonable="0"/>
			 <flag attackable="1"/>
			 <flag hostile="1"/>
			 <flag illusionable="0"/>
			 <flag convinceable="0"/>
			 <flag pushable="0"/>
			 <flag canpushitems="1"/>
			 <flag canpushcreatures="1"/>
			 <flag targetdistance="1"/>
			 <flag staticattack="90"/>
			 <flag runonhealth="0"/>
	 </flags>
	 <attacks>
			 <attack name="melee" interval="1000" min="-1500" max="-2350"/>
	 </attacks>
	 <defenses armor="0" defense="0"/>
<immunities>
<immunity paralyze="1"/>
<immunity invisible="1"/>
<immunity fire="1"/>
<immunity energy="1"/>
<immunity poison="1"/>
</immunities>
	 <voices interval="5000" chance="10">
			 <voice sentence="You wont last long!"/>
			 <voice sentence="Mmmmh.. braains!"/>
	 </voices>
<script>
<event name="ZombieThink"/>
<event name="ZombieDeath"/>
</script>
	 <loot>
	 </loot>
</monster>
Agora as Tags nos xml’s .

/data/creaturescripts/creaturescripts.xml

<event type="think" name="ZombieThink" event="script" value="zombie/onthink.lua"/>
<event type="statschange" name="ZombieAttack" event="script" value="zombie/onattack.lua"/>
<event type="death" name="ZombieDeath" event="script" value="zombie/ondeath.lua"/>
/data/globalevents/globalevents.xml

<globalevent name="ZombieGlobalThink" interval="5000" event="script" value="zombie/onthink.lua"/>
<globalevent name="ZombieGlobalStartup" type="start" event="script" value="zombie/onstartup.lua"/>
/data/movements/movements.xml

<movevent type="StepIn" actionid="5555" event="script" value="zombie/onenter.lua"/>
/data/talkactions/talkactions.xml

<talkaction log="yes" words="/zombiestart" access="4" event="script" value="zombie/onsay.lua"/>
/data/monster/monsters.xml

<monster name="Zombie Event" file="zombie_event.xml"/>
Script Terminado !

Next: Tutorial de como configurar o zombie event !

Estarei postando apenas as partes q podem ou devem ser editadas em cada script.

data\creaturescripts\scripts\zombiez\onattack.lua

[/b]
function loseOnZombieArena(cid)
kickPlayerFromZombiesArea(cid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "BOOM! You are dead.")
local players = getZombiesEventPlayers()
if(#players <= 1) then
	 local winner = players[1]
	 if(winner) then
		 doPlayerAddItem(winner, 2157, 5, true)
		 doPlayerAddItem(winner, 6119, 1, true)
		 doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "You won zombies arena event.")
		 doBroadcastMessage("After " .. os.time() - getPlayerZombiesEventStatus(winner) .. " seconds of fight " .. getCreatureName(winner) .. " won Zombie Arena Event in game versus " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zombies!")
		 kickPlayerFromZombiesArea(winner)
	 else
		 doBroadcastMessage("Zombie arena event finished! No one win?!?!?! WTF!")
	 end
[b]

Explicando:

Partes configuraveis no script no caso são os avisos do evento q não recomendo mudar na vdd e os premios que no caso são esses:

doPlayerAddItem(winner, 2157, 5, true) --/ 2157= ID do item no caso golden nugguets mais vc pode por o q quiser, 5= Quatidade do item a ser dado. True= no caso creio q seja para deixar essa premiação ativa ou não true = verdadeira no caso ativa para deixar a premiação inativa apenas mude o true por false ou remova a tag .. para adicionar mais premios e só adicionar mais tags como tá ae no script o outro premio no caso ali e uma boh.

Next: \data\lib\zombie_event.lua

-- CONFIG

ZE_DEFAULT_NUMBER_OF_PLAYERS = 20 –- Não precisa mexer.

ZE_ACCESS_TO_IGNORE_ARENA = 4 –- Não precisa mexer.

-- POSITIONS

ZE_blockEnterItemPosition = {x=32341, y=32213, z=7} -- onde nasce o teleport?

ZE_enterPosition = {x=32154, y=32578, z=7} -- onde os players nascem dentro da arena zombie?

ZE_kickPosition = {x=32368, y=32241, z=7} -- quando morre vai para onde?

ZE_spawnFromPosition = {x=32140,y=32566,z=7} -- para sumonar zombie (de)/ aqui vc pega no rme na area do seu evento o primeiro tile da arena </\ e copia a position.

ZE_spawnToPosition = {x=32168,y=32590,z=7} -- para sumonar zombie (ate) e aqui a mesma coisa mais o tile de\/> só lembrando e o ultimo tile da arena do lado de fora não o ultimo tile do mapa.

Exemplo: semttulophp.png

Então galera eh isso ai .-. meu primeiro post não mim crucifiquem k Duvidas, reclamações elogios chigamentos u.u só comentar como dizia o mestre o topico ta explicado nos minimos detalhes e ''de forma bem entendida'' trollface.png (entendedoresentenderam) então eh isso vlw ai a todos q mim ajudaram nisso e nem sabem :-D

 

ai meu server e de nto e eu tentei e os zumbi nao vem pode me ajudar alguem?

Link para o post
Compartilhar em outros sites

Me dizem uma coisa..

Era pro monstro "Zombie Event" sair matando? Que saco desses script, sempre dá algum erro.

 

E louco eu não sou, tenho absoluta certeza que eu segui isso tudo de cabo-a-rabo.

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

20:29 Zombies event is already running.   

 

como fexa isso ? -.-BUGOU! 

 

já tentei fechar o servidor e abrir denovo mesmo assim está bugado. 

troquei script para testar depois voltei mais mesmo assim está dando que o evento está aberto :/

 

 

[Warning - Event :: LoadScript ] Event onStartup is not found <data/globalevents/scripts/zombie/onstartup.lua

Editado por kelnaru (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 month later...

[10/3/2015 16:3:44] > Loading globalscripts... [Error - Event::checkScript] Event onStartup not found (data/globalevents/scripts/zombie/onstartup.lua) 
[10/3/2015 16:3:44] done. 

 

 

[10/3/2015 16:4:8] [Error - GlobalEvent Interface] 

[10/3/2015 16:4:8] data/globalevents/scripts/zombie/onthink.lua:onThink 
[10/3/2015 16:4:8] Description: 
[10/3/2015 16:4:8] (luaDoCreateMonster) Cannot create monster: Zombie Event 

 

 

Minha Distro é 0.3.7 podem me ajudar?

tibia-logo-artwork-top.gif

www.undea-global.com

Link para o post
Compartilhar em outros sites
  • 1 month later...

sério como ele tem coragem de falar que esse é "PERFECT ZOMBIE EVENT", esse evento ta cheio de bug e não aparece uma moderador pra dar bronca no cara!

Link para o post
Compartilhar em outros sites

Desculpem Ta Enchendo aqui... Mas Existe algo que devo fazer que não fiz sei lá eu, Eu não me lembro, Mas os Players Entram na área e já saem matando uns aos outros! :O

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

Desculpe... Mas está muito Longe de ser o Perfect Zombie!

Só acho que tem um pouco até demais de bugs!

Testado e não aprovado

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

@PobrePreto:

 

Se tem que ir no RME e adicionar aquele PZ especial chamado "No PvP Tool" em toda a área do evento.

Exato, eu fiz isso usei o script por alguns dias, e não da pra aprovar não, Muitos e muitos Bugs, tem dia que não iniciava o Evento, dizia que já estava em Andamento, ai eu tinha que reinicia o Servidor...

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

Poisé, Pelo Menos o titulo Dizia!

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

Pode me ajuda ? 

Esta tudo funcionando , porém ao final quando sobra apenas 1 player, o evento não acaba, e o player morre e nao ganha o item e nao anuncia quem foi o ganhador , e os zombies fica lá no local.

Link para o post
Compartilhar em outros sites

Topico Abandonado... Esqueça, Faça que nem eu, Cace outro Event Zombie e Seja Feliz e sem dor de cabeça!

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 2 weeks later...

POR FAVOOOOR ME AJUDAA

 

ao carregar scripts aparece esse erro:

 

[3:15:15.760] [Warning - Event::loadScript] Event onStartup not found (data/glob

alevents/scripts/zombie/onstartup.lua)

 

E quando eu inicio o evento, tudo ok, mas começa a aparecer esse erro a cada 5 segundos no distro:

 

[3:10:46.260] [Error - GlobalEvent Interface]

[3:10:46.260] data/globalevents/scripts/zombie/onthink.lua:onThink
[3:10:46.260] Description:
[3:10:46.261] (luaDoCreateMonster) Cannot create monster: Zombie Event

 

Mas os Zombies são sumonados a cada 1 segundo, não da pra matar tudo, e meu char não foi teleportado para o templo vitorioso...

 

 

SCRIPT onstartup:

 

function onstartup()

db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = " .. ZE_isOnZombieArea .. ";")
doSetStorage(ZE_STATUS, 0)
doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS)
doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0)
doSetStorage(ZE_ZOMBIES_SPAWNED, 0)
addZombiesEventBlockEnterPosition()
return true
end

 

SCRIPT onthink:

 

function onThink(interval, lastExecution, thinkInterval)

if(getStorage(ZE_STATUS) == 2) then
setZombiesToSpawnCount(getZombiesToSpawnCount()+1)
local players = getZombiesEventPlayers()
for i=1, getZombiesToSpawnCount() * 2 do
if(getZombiesToSpawnCount() > 0 and spawnNewZombie()) then
setZombiesToSpawnCount(getZombiesToSpawnCount()-1)
end
end
end
return true
end 

Distrô usada: TFS 0.4

Editado por jvcasarin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por maleskinho
      Olá pessoal, vi que muitos estavam tentando resolver o problema de um "CityWar Anti-Entrosa".de tal Empresa...
       
      "O script só roda uma vez a  war e depois ele TRAVA, ."
      Estava olhando o script aonde ocorria o problema e consegui resolver fiz vários testes e está rodando 100% sem erros! 
       
      No arquivo tem o tutorial que ensina a instalar, se ajudei deixa um rep+
       

       
      File:Link
      Scan: Link
       
       
      -- EDIT---
      Summon que matava os player na war fazia cair o servidor, agora está 100% estável o script.
       
      Substituir o arquivo diretório talkactions/lib/war.lua 
      @Way20 Créditos pela ajuda.
       

    • Por Wend II
      Olá vi que os zombie events de tibia funciona da seguinte forma, quando o zombie bate no player o player é teleportado para o templo certo? 
      queria que esse sistema fosse modificado para poketibia da seguinte forma:  o zombi no caso ia ser um picachu e quando o pikachu tocasse nos players os players fossem teleportados para o templo.   só que o ultimo player que fica na sala ganhase um item e fosse anunciado o nome dele para todos    facil não ?
       
      alguém porfavor responda se é possivel fazer isso ?
    • Por Garou
      ADVANCED FORGE SYSTEM
      O SISTEMA DE CRIAÇÃO DE ITENS PARA SEU SERVIDOR
       
      Creio que muitos já conhecem o sistema de forja criado por mim, acontece que o código já estava um pouco obsoleto, então resolvi reescrever ele do 0.
      Simplesmente consiste em um sistema de criação de itens avançado que ressuscita um pouco do RPG perdido nos servidores de hoje em dia. O jogador poderá criar itens através de forja, agindo como um verdadeiro ferreiro medieval. Adiciona itens em cima de uma bigorna previamente colocada no mapa e com um martelo cria um item totalmente novo.
      CARACTERÍSTICAS DA VERSÃO FINAL:
      - Configuração intuitiva e fácil de compreender;
      - Mini-tutorial auxiliando criação de novas receitas;
      - Receitas podem conter até 250 itens diferentes com suas respectivas quantidades;
      - Sistema inteligente que identifica uma receita em qualquer ordem;
      - Código totalmente orientado a objetos;
      - Possibilidade de configurar diferentes requerimentos, diferentes skills, magic level e level
       
      Há dois modos de instalar o Advanced Forge System, o primeiro é seguir os passos deste tópico e o segundo e baixar pasta data/ anexada no tópico com os arquivos em seus respectivos diretórios, precisando apenas o registro das chaves nos arquivos XML.
      Escolha o modo que mais convém a você.
       
      Crie um arquivo em data/lib chamado forgesystem.lua e cole o conteúdo abaixo:
        --[[ ADVANCED FORGE SYSTEM FINAL Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- RecipeHandler = { itemtype = 0, items = {}, level = 1, maglevel = 0, skills = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0} } Forge = { type = nil, position = nil, magicEffect = CONST_ME_MAGIC_GREEN, messages = { class = MESSAGE_STATUS_DEFAULT, success = "You have successfully forged a %s.", needskill = "You don't have enough %s to create a %s.", needlevel = "You need level %s to create a %s.", needmaglevel = "You need magic level %s to create a %s." } } function RecipeHandler:new(itemtype, items, level, maglevel, skills) local obj = { itemtype = (itemtype or 0), items = (items or {}), level = (level or 1), maglevel = (maglevel or 0), skills = (skills or {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0}) } table.insert(Recipes, obj) return setmetatable(obj, {__index = self}) end function RecipeHandler:setItem(itemtype) self.itemtype = (itemtype or 0) end function RecipeHandler:setRecipe(...) self.items = {...} end function RecipeHandler:setRecipeItem(itemid, amount) table.insert(self.items, {itemid, amount}) end function RecipeHandler:setSkill(skillid, value) self.skills[skillid] = value end function RecipeHandler:setLevel(value) self.level = value end function RecipeHandler:setMagLevel(value) self.maglevel = value end function RecipeHandler:check(position) local match = false for n, item in ipairs(self.items) do local thing = getTileItemById(position, item[1]) if thing.uid > 0 and math.max(1, thing.type) >= item[2] then if n == #self.items then match = true end else break end end return match end function RecipeHandler:get(position) if self:check(position) == true then return setmetatable({type = self, position = position}, {__index = Forge}) end return false end function Forge:create(cid) if self.type.itemid == 0 then print("[FORGE SYSTEM - ERROR] ATTEMPT TO CREATE A RECIPE ITEMID 0") return end local status = true if(cid) then if getPlayerLevel(cid) < self.type.level then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needlevel:format(self.type.level, getItemNameById(self.type.itemtype))) return end if getPlayerMagLevel(cid) < self.type.maglevel then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needmaglevel:format(self.type.maglevel, getItemNameById(self.type.itemtype))) return end for skillid, value in pairs(self.type.skills) do if getPlayerSkillLevel(cid, skillid) < value then status = false doPlayerSendTextMessage(cid, self.messages.class, self.messages.needskill:format(SKILL_NAMES[skillid], getItemNameById(self.type.itemtype))) break end end end if status == true then for _, item in ipairs(self.type.items) do local thing = getTileItemById(self.position, item[1]) doRemoveItem(thing.uid, item[2]) end doSendMagicEffect(self.position, self.magicEffect) doPlayerSendTextMessage(cid, self.messages.class, self.messages.success:format(getItemNameById(self.type.itemtype))) doCreateItem(self.type.itemtype, self.position) end end dofile(getDataDir() .."/lib/recipes.lua") Crie um arquivo em data/lib chamado recipes.lua e adicione o conteúdo abaixo:
        ---------------------------------------- -----** TUTORIAL DE CONFIGURAÇÃO **----- ---------------------------------------- --[[ O 'ADVANCED FORGE SYSTEM' é muito fácil e intuitivo de configurar, você só precisa chamar a função RecipeHandler:new(...), sendo que você já configurar os atributos da receita nela ou usar outras funções para isso. Por exemplo, quero criar uma Magic Sword que precise de 100 Gold Nuggets. RecipeHandler:new(2400, {{2157, 100}}) Ou então Magic_Sword = RecipeHandler:new() Magic_Sword:setItem(2400) Magic_Sword:setRecipe({2157, 100}) Funções do Sistema: RecipeHandler:new(itemtype, items, level, maglevel, skills) --> Cria uma nova instância de forja. RecipeHandler:setItem(itemtype) --> Atribui um certo itemid como resultado da receita. RecipeHandler:setRecipe(recipe) --> Atribui uma receita. RecipeHandler:setRecipeItem(itemid, amount) --> Adiciona um itemid e sua quantidade a receita. RecipeHandler:setSkill(skillid, value) --> Atribui um valor necessário de uma certa skill para poder criar a receita. RecipeHandler:setLevel(value) --> Atribui o level necessário para criar uma receita. RecipeHandler:setMagLevel(value) --> Atribui o magic level necessário para criar uma receita. ]]-- --[[ Este é um exemplo de receita usando algumas funções. É uma Magic Sword (ITEMID: 2400) que precisa de 100 Gold Nuggets (ITEMID: 2157), além disso, o personagem que tentar forjar, precisa ter Level 100 e Sword Fighting 50. ]]-- Recipes = {} magicsword = RecipeHandler:new() magicsword:setItem(2400) magicsword:setRecipeItem(2157, 100) magicsword:setLevel(100) magicsword:setSkill(2, 50) Agora em data/actions/scripts, crie um arquivo chamado iron_hammer.lua e adicione o conteúdo abaixo:
        function onUse(cid, item, fromPosition, itemEx, toPosition) local recipe = nil for _, v in ipairs(Recipes) do recipe = v:get(toPosition) if(recipe ~= false) then break end end if(recipe) then recipe:create(cid) else doPlayerSendCancel(cid, "This is not a valid recipe.") end return true end E por fim em actions.xml, adicione a seguinte linha:
        <action itemid="4846" event="script" value="iron_hammer.lua"/> OPCIONAL - TALKACTION A talkaction abaixo mostra ao jogadoras receitas configuradas no servidor que ele pode fazer. Em data/talkactions/scripts, crie um arquivo chamado recipes.lua e adicione o conteúdo abaixo:
        function onSay(cid, words, param, channel) local ret = {} local msg = " ADVANCED FORGE SYSTEM\n" for _, recipe in ipairs(Recipes) do local skills = true for skillid, value in pairs(recipe.skills) do if getPlayerSkillLevel(cid, skillid) < value then skills = false break end end if skills == true then if getPlayerLevel(cid) >= recipe.level and getPlayerMagLevel(cid) >= recipe.maglevel then table.insert(ret, {recipe, true}) else table.insert(ret, {recipe, false}) end else table.insert(ret, {recipe, false}) end end for _, recipe in ipairs(ret) do msg = msg .."\nRecipe for ".. getItemNameById(recipe[1].itemtype) ..":\n\n" if recipe[2] == true then for _, item in ipairs(recipe[1].items) do msg = msg .."* ".. getItemNameById(item[1]) .." [".. math.min(item[2], math.max(0, getPlayerItemCount(cid, item[1]))) .."/".. item[2] .."]\n" end else msg = msg .."[LOCKED]\n" end end doShowTextDialog(cid, 2555, msg) return true end Em data/talkactions/talkactions.xml, adicione a linha:
        <talkaction words="/recipes" event="script" value="recipes.lua"/> Siga as instruções para configuração de novas receitas.
      Em breve vídeo de funcionamento
      Advanced Forge System.rar
    • Por Droox
      Boa noite pessoal!
       
      Estou com um problema e não consigo resolver porque não sou bom em scripts. É o seguinte.
       
      Estou com o problema abaixo no meu zombie event.
       

       
      Ele abre e aparece o TP, porém, quando tenta entrar da esse erro. Segue meu zombie_teleport.lua
       


        Ao Passar o tempo e o evento não abrir por falta de players, da o seguinte erro     Segue meu Zombie_system.lua  
       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo