Ir para conteúdo
Entre para seguir isso  
GDLib

Addon Library 0.1

Recommended Posts

GDLib    2
GDLib

Desenvolvi essa biblioteca de funções para auxiliar na hora de se adicionar/remover addons, ela já faz todas as checagens (se caso alguém estipular valores errados) para evitar debugs. Possui suporte aos outfits novos do 8.1 e pode-se com ela, adicionar todos os addons de uma só vez.

 

Eis o código:

 

--[[
@Name: Addon Library
@Version: 0.1.1
@Author: Nostradamus
--]]

IDS =
{
FEMALE	= {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279},
MALE    = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278}
}

Addon = {}
Addon.__index = Addon

function = Addon:addAll (uid)
	if ((type == 0) or (type == 1)) then
		if (playerSex == FEMALE_ID) then
			for a = IDS.FEMALE[1], table.getn(IDS.FEMALE) do
				doPlayerAddOutfit(uid, a, 1)
				doPlayerAddOutfit(uid, a, 2)
			end
		elseif (playerSex == MALE_ID) then
			for b = IDS.MALE[1], table.getn(IDS.MALE) do
				doPlayerAddOutfit(uid, b, 1)
				doPlayerAddOutfit(uid, b, 2)
			end
		else
			debug('[Addon System] Invalid Sex ID.')
		end
	end
end			

function = Addon:add (uid, addon, type)
	if ((type == '') or (type == nil)) then
		self:addAll(uid)
		debugPrint('[Addon System] Type not definied, adding all.')
	elseif ((playerSex == FEMALE_ID) and (isInArray(FEMALE, addon)) or (playerSex == MALE_ID) and (isInArray(MALE, addon))) then
		if ((type == 0) or (type == 1)) then
			if (playerSex == FEMALE_ID) then
				for a = IDS.FEMALE[1], table.getn(IDS.FEMALE) do
					doPlayerAddOutfit(uid, a, type)
				end
			elseif (playerSex == MALE_ID) then
				for b = MALE[1], #MALE do
					doPlayerAddOutfit(uid, b, type)
				end
			end
		end
	else
		debug('[Addon System] Invalid addon.')
	end
end

function = Addon:removeAll (uid)
	if ((type == 0) or (type == 1)) then
		if (playerSex == FEMALE_ID) then
			for a = IDS.FEMALE[1], table.getn(IDS.FEMALE) do
				doPlayerRemOutfit(uid, a, 1)
				doPlayerRemOutfit(uid, a, 2)
			end
		elseif (playerSex == MALE_ID) then
			for b = IDS.MALE[1], table.getn(IDS.MALE) do
				doPlayerRemOutfit(uid, b, 1)
				doPlayerRemOutfit(uid, b, 2)
			end
		else
			debug('[Addon System] Invalid Sex ID.')
		end
	end
end	

function = Addon:remove (uid, addon, type)
	if ((type == '') or (type == nil)) then
		self:revoveAll(uid)
		debugPrint('[Addon System] Type not definied, removing all.')

	elseif ((playerSex == FEMALE_ID) and (isInArray(FEMALE, addon)) or (playerSex == MALE_ID) and (isInArray(MALE, addon))) then
		if ((type == 0) or (type == 1)) then
			if (playerSex == FEMALE_ID) then
				for a = IDS.FEMALE[1], table.getn(IDS.FEMALE) do
					doPlayerRemOutfit(uid, a, type)
				end
			elseif (playerSex == MALE_ID) then
				for b = IDS.MALE[1], table.getn(IDS.MALE) do
					doPlayerRemOutfit(uid, b, type)
				end
			end
		end
	else
		debug('[Addon System] Invalid addon.')
	end
end

 

Como usar

 

Adicionando TODOS os addons a um jogador:

 

Addon:addAll(cid)

 

Revovendo TODOS os addons de um jogador:

 

Addon:removeAll(cid)

 

Adicionando um addon específico a um jogador (podendo ser o primeiro ou segundo)

 

Addon:add(cid, 128, 1)

 

Nesse caso como o addon de ID 128 refere-se apenas ao sexo masculino, caso o personagem a ser adicionado for feminino, o script debuggará uma mensagem no prompt.

 

Removendo um addon específico a um jogador (podendo ser o primeiro ou segundo)

 

Addon:remove(cid, 128, 2)

 

Nesse caso como o addon de ID 128 refere-se apenas ao sexo masculino, caso o personagem a ser removido for feminino, o script debuggará uma mensagem no prompt.

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Voce poderia ser mais especifico né?

 

Da um code basico de como usar sua função ae..

Compartilhar este post


Link para o post
GDLib    2
GDLib

@[ B a l i l l o ]

Coloquei exemplos.

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Pelo jeito parece que so funfa com char male né?

Compartilhar este post


Link para o post
evolutions    0
evolutions

não por por exemplo ele quis dizer se vc colocar um outfit male num char female vai buga ou female em male intendeu?

Compartilhar este post


Link para o post
GDLib    2
GDLib

Tinha alguns erros, agora deve funcionar de forma correta

Compartilhar este post


Link para o post
grandeyang    0
grandeyang

Quero fazer uso de algumas funções como esta porém gostaria de saber se é só colar o que postou aqui no Global? E se preciso d algum requisito para usar esta. Valeu!

Compartilhar este post


Link para o post
Nandonalt    0
Nandonalt

#up

 

Também quero saber onde bota isso :S

 

#topico

Dá pra usar com 8.0?

Compartilhar este post


Link para o post
evolutions    0
evolutions

e so copiar o script colar na pasta data/global.lua e pronto =)

Compartilhar este post


Link para o post
-Vinny    0
-Vinny

Bem legal este tipo de botar addon nos players, ainda não entendi aquele negócio do male e female..

Compartilhar este post


Link para o post
PoSo    0
PoSo

corrijam-me se estiver errado mas para nao debugar terá q existir uma checagem antes, uma condição, se for male, remove akele addon, senão remove o addon correspondente ao female; certo?

 

se for assim ainda está compreensível ! ;D

 

 

parabéns =)

Compartilhar este post


Link para o post
grandeyang    0
grandeyang

Valeu pela força e já incrementei meu banco de funções ^^

Compartilhar este post


Link para o post
giacco    0
giacco

nao intendi direito o q isso faz...alguem me explica?

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×