Ir para conteúdo

[Pedido] Modificar script


LeoTK

Posts Recomendados

Fala guys estou colocando o sistema de corpse no meu nto um corpse para cada vocação mas eu vi aqui que eu tenho três tipos de corpse da mesma vocação queria saber se você podem modificar esse script para dropar cada corpse apartir de um level configuravel por exemplo

 

local table = {
[1] = 2930,100, 2931,250, 2932,350 --- [1] Vocation 2882 == ID Do Corpse == Level para dropar cada um (A partir do level configurado vai dropar esse corpse)

 

Então até o level 100 o corpse de id 2930 vai ser o loot até aquele level da vocação 1, apartir do level 101 até o level 250 o loot da vocação 1 vai ser o corpse de id 2931, e apartir do level 251 em diante o loot da vocação 1 vai ser o corpse 2932 é isso galera se alguém puder fazer seria de grande ajuda bom ficarei no aguardo guys ^^

 

 

script

local table = {[1] = 2930, --- [1] Vocation 2882 == ID Do Corpse[2] = 2806,[3] = 2917,[4] = 2890,[5] = 2882,[6] = 2899,[7] = 2808,[8] = 2895,[9] = 2816,[10] = 2925,[11] = 2936,[12] = 2851,2851 id corpse guy}local function transform(pos, id, voc)local item = getTileItemById(pos, id)if item and item.uid > 1 thendoTransformItem(item.uid, table[voc])doDecayItem(item.uid or 0)endendfunction onDeath(cid, corpse)if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true endaddEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid))return trueend

 

Link para o comentário
Compartilhar em outros sites

A conclusão que tirei a partir da estrutura apresentada por você é que os índices da tabela representam até que nível a vocação apresentará a dada corpse.

local table = {	--[vocation_id] = {	[1] = {		--[MAX_LEVEL] = itemid,		[100] = 2930,		[250] = 2931,		[350] = 2932,	},}local function transform(pos, id, voc, level)	local item = getTileItemById(pos, id)		if item and item.uid > 1 then		local corpse_id, ref_lv, ret_id = table[voc], 9999				if not corpse_id then return true end				for corpse_level, itemid in pairs(corpse_id) do			if level <= corpse_level and corpse_level < ref_lv then				ret_id = itemid				ref_lv = corpse_level			end		end				doTransformItem(item.uid, ret_id)		doDecayItem(item.uid or 0)	endendfunction onDeath(cid, corpse)	if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end		addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid), getPlayerLevel(cid))	return trueend

 

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Em 03/07/2017 at 04:30, zipter98 disse:

A conclusão que tirei a partir da estrutura aprssentada por você é que os índices da tabela representam até que nível a vocação apresentará a dada corpse.

local table = {	--[vocation_id] = {	[1] = {		--[MAX_LEVEL] = itemid,		[100] = 2930,		[250] = 2931,		[350] = 2932,	},}local function transform(pos, id, voc, level)	local item = getTileItemById(pos, id)		if item and item.uid > 1 then		local corpse_id, ref_lv, ret_id = table[voc], 9999				if not corpse_id then return true end				for corpse_level, itemid in pairs(corpse_id) do			if level <= corpse_level and corpse_level < ref_lv then				ret_id = itemid				ref_lv = corpse_level			end		end				doTransformItem(item.uid, ret_id)		doDecayItem(item.uid or 0)	endendfunction onDeath(cid, corpse)	if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end		addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid), getPlayerLevel(cid))	return trueend

 

isso mesmo vou testar e já edito

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...