[Arquivado]Easy Annihilator System

Jovial
Por Jovial
em Noticias - Arquivo

Jovial

The Scripter
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/01/07Posts: 22

.:Easy Annihilator System:.

 

Olá, a um tempo atras fiz um sistema para facilitar a criação de quests como a annihilator, hoje decidi refaze-lo e postar aqui. Como eu não pude testar todas as funções que refiz, pesso a vocês para testar-lo, e , se encontrar bugs reportar-me.

 

Features:

  • Aceita quantidade de players que você desejar.
  • Aceita quantidade de monstros que você desejar.
  • Aceita quantidade de baús que você desejar (Mas é possivel pegar somente um dos itens).
  • Verifica se existe alguem na sala, impossibilitando entrar 2 times juntos.
  • Quando um time entra na sala, os monstros são renovados.

 

Como Instalar:

Copie o código abaixo e coloque-o no fim do arquivo "data/actions/lib/actions.lua".

--[[
Easy Annihilator by Jovial
Version: 2.0
]]

AnnihilatorSys = {}
AnnihilatorSys_MT = {__index = AnnihilatorSys}

function AnnihilatorSys:new(CONFIG)
local ret = CONFIG
ret.VERSION = "2.0"
setmetatable(ret, AnnihilatorSys_MT)
return ret
end

function AnnihilatorSys:getVersion()
return self.VERSION
end

function AnnihilatorSys:onUse(cid, item)
local tmp
if (item.uid == self.ANNIHILATOR_LEVER_UNIQUEID) then
	if (item.itemid == 1945) then
		if (self:CheckPlayersPositions() == TRUE) then
			if (self:CheckPlayersLevels() == TRUE) then
				for tmp = 1, #self.PLAYER_POS do
					if (self.IS_FORGOTTEN_SERVER == TRUE) then
						doTeleportThing(getThingfromPos(self.PLAYER_POS[tmp]).uid, self.PLAYER_TOPOS[tmp], FALSE)
					else
						doTeleportThing(getThingfromPos(self.PLAYER_POS[tmp]).uid, self.PLAYER_TOPOS[tmp])
					end
					doSendMagicEffect(self.PLAYER_POS[tmp], CONST_ME_POFF)
					doSendMagicEffect(self.PLAYER_TOPOS[tmp], CONST_ME_ENERGYAREA)
				end
				if (self.MONSTERS ~= nil) then
					for tmp = 1, #self.MONSTERS do
						doSummonCreature(self.MONSTERS[tmp].name, self.MONSTERS[tmp].pos)
					end
				end
				doTransformItem(item.uid, 1946)	
			else
				doPlayerSendCancel(cid, "All player need be level " .. (self.MIN_LEVEL or 0) .. " or higher.")
			end
		else
			doPlayerSendCancel(cid, "You need " .. #self.PLAYER_POS .. " players in your team.")
		end
	elseif (item.itemid == 1946) then
		if (self:Check() == TRUE) then
			doTransformItem(item.uid, 1945)	
		end
	else
		return FALSE
	end
else
	if ((self.CHESTS ~= nil) and (self.STORAGE ~= nil)) then
		for tmp = 1, #self.CHESTS do
			if (item.uid == self.CHESTS[tmp].uniqueid) then
				if (getPlayerStorageValue(cid, self.STORAGE) == -1) then
					doPlayerAddItem(cid, self.CHESTS[tmp].prize, self.CHESTS[tmp].count)
					setPlayerStorageValue(cid, self.STORAGE, 1)
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. self:getArticle(getItemName(self.CHESTS[tmp].prize)) .. " " .. getItemName(self.CHESTS[tmp].prize) .. ".")
				else
					doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
				end
			end
		end
	end
end
return TRUE
end

function AnnihilatorSys:CheckPlayersPositions()
local tmp
for tmp = 1, #self.PLAYER_POS do
	if (getThingfromPos(self.PLAYER_POS[tmp]).uid <= 0) then
		return FALSE
	end			
end
return TRUE
end

function AnnihilatorSys:CheckPlayersLevels()
local tmp
for tmp = 1, #self.PLAYER_POS do
	if (getPlayerLevel(getThingfromPos(self.PLAYER_POS[tmp]).uid) < (self.MIN_LEVEL or 0)) then
		return FALSE
	end			
end
return TRUE
end

function AnnihilatorSys:Check()
local players = 0
local monsters = {}
local X,Y,tmp
for X = self.TOP_LEFT_POS.x, self.BOTTOM_RIGHT_POS.x do
	for Y = self.TOP_LEFT_POS.y, self.BOTTOM_RIGHT_POS.y do
		local creature = getThingfromPos({x = X, y = Y, z = self.TOP_LEFT_POS.z, stackpos = 253})
		if (creature.uid > 0) then
			if (isPlayer(creature.uid) == TRUE) then
				if (getPlayerAccess(creature.uid) < (self.CHECK_INVISIBLE_ACCESS or 1)) then
					players = players + 1
				end
			else
				table.insert(monsters,creature.uid)
			end
		end
	end
end
if (players == 0) then
	for tmp = 1, #monsters do
		if (doRemoveCreature ~= nil) then
			doRemoveCreature(monsters[tmp])
		else
			if (self.IS_FORGOTTEN_SERVER == TRUE) then
				doTeleportThing(monsters[tmp], self.TRASH_POS, FALSE)
			else
				doTeleportThing(monsters[tmp], self.TRASH_POS)
			end
		end
	end
	return TRUE
else
	return FALSE
end
end

function AnnihilatorSys:getArticle(str)
if (string.find(string.lower(string.sub(str,1,1)), "[aeiouy]")) then
	return "an"
else
	return "a"
end
end

O forum geralmente retira os Tabs, sugiro que vocês recoloque-os.

 

Tutorial:

Para aprender como usá-lo entre aqui.

 

Espero que sejá util, e que vocês gostem.

 

cya;

Jovial.

Jovial®



"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros foram."

Evolutions

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/08/07Posts: 4

uid mais um otimo script do jovial ^^

isso vai ajudar muito na criação de annihilatores e quests do msm tipo

matheusbm

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/01/08Posts: 71Char no Tibia: Knight of Fortune

Cara fico bom mas c me lembro bem ja vi isso em otro post não?

Gostou de min use meu fan bar


Meu Ot

ip:otbm.no-ip.org
rate:1000
skill:1000
mana:1000


Minhas metas


[x]1post
[x]5 posts SERVO
[x]10 posts CAMPONÊS
[x]25 posts CAÇADOR
[x]50 posts CAVALEIRO
[x]100 posts BARONETE
[ ]200 posts BARÃO
[ ]300 posts VISCONDE
[ ]400 posts DUQUE
[ ]600 posts ARQUEDUQUE
[ ]800 posts ARISTOCRATA
[ ]1000 posts REGENTE
[ ]1400 posts SÁBIO
[ ]1800 posts SACERDOTE
[ ]2500 posts PRÍNCIPE


Meus trabalhos

smenga

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/07/05Posts: 7

pooo... o meu da um erro no lib e não funciona a annihi..

pode alguem me ajudar? vlw..

Malzbier

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/08Posts: 51Char no Tibia: Sith Thonth

aki deu um erro na lib

 

@Evolutions sempre elogiando mas nunca vendo realmente se a script realmente funciona

 

OBS: Odeio Gente Desse Tipo.


Fico empolgado em ver o grande exercito de meus inimigos crescendo, pois quem sabe no meio de tantos exista algum que possa me proporcionar uma batalha realmente desafiadora.

MonsterGame
World2: Aqui
World8:Aqui


//Malzbier

Jovial

The Scripter
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/01/07Posts: 22

Primeiro a lib funciona, 2 como posso saber que erro esta dando ai se vcs não colam a msg do erro ¬¬ o erro pode não passar de mal instalação/configuração e ou por faltar alguma função no server que vc deseja usa-la

Jovial®



"Nunca ande pelo caminho traçado, pois ele conduz somente até onde os outros foram."

Malzbier

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/08Posts: 51Char no Tibia: Sith Thonth

ai esta o erro

 

 

 

lib_error543.jpg.xs.jpg

 

axo q eu instalei errado ela


Fico empolgado em ver o grande exercito de meus inimigos crescendo, pois quem sabe no meio de tantos exista algum que possa me proporcionar uma batalha realmente desafiadora.

MonsterGame
World2: Aqui
World8:Aqui


//Malzbier

darkmale157

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/02/08Posts: 89Char no Tibia: Mateuz Dracon Wielky

Aqui esta dando o mesmo erro !

 

Por que seraa !




Gostou de Min é Meu Fan ! Use meu Fanbar !


~~ Meus Trabalhos ~~


~~ Minha Cidade ~~

População
Industrias
//Cada Link que voçê entrar, Vai aparecer um Ponto, Mais só da uma vez, Para Entrar de Novo quando sair da internet retorne a entrar no Link, E Aumenta mais um Ponto...

~~ Metas ~~

[X]1.....Post.... SERVO
[X]10...Posts...CAMPONÊS
[X]25...Posts...CAÇADOR
[X]50...Posts...CAVALEIRO
[X]100..Posts...BARONETE
[_]200..Posts...BARÃO
[_]300..Posts...VISCONDE
[_]400..Posts...DUQUE
[_]600..Posts...ARQUEDUQUE
[_]800..Posts...ARISTOCRATA
[_]1000.Posts...REGENTE
[_]1400.Posts...SÁBIO
[_]1800.Posts...SACERDOTE
[_]2500.Posts...PRÍNCIPE


Bebum78

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/12/07Posts: 52Char no Tibia: Inox'Knight

tem que adicionar no actions.xml,desse jeito sem adiciona n funciona..

seja meu fã!


triste com o xtibia!

dragher

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/08/07Posts: 8

como assim adicionar no actions.xml? nao tem nada pra adicionar no actions.xml, aqui estpa dando o mesmo erro do Malzbier

lol

careca21

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/09/07Posts: 63Char no Tibia: Ventura Dragonar

muito Bom

So 1 coisa !

eu Ponho iso no Lib e ten o tutorial la explicando

mas eu poso criar mas de 1 ani ??

 

 

Otimo

Aproved !!


!!!!! Lobo X !!!!! !!!!! Lobo X !!!!! !!!!! Lobo X !!!!! !!!!! Lobo X !!!!!

Stigal

don't ever stop...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 28/11/10Posts: 3402Gênero: Masculino
Esta noticia foi arquivada.
Este tópico está fechado e foi movido para Noticia - Arquivo.

+ Caso tenha atualizações você poderá criar outro tópico.

VI6MDIG.png

 

"O fracasso é a oportunidade de se começar de novo inteligentemente"

Minhas Redes Sociais: Youtube | Página & Grupo | Steam  | Discord Xtibia | Skype: @mrooger

 

OTpanel