Jump to content
Sign in to follow this  
bruno05

[Guia Custom Item] Adicionando custom item

Recommended Posts

Olá a todos sei que existem outros guia aqui no forum para adiconar custom itens,

Porém faltam algumas informações para funcionar corretamente (em cliente novos no meu caso 2018-06-20) 

  1. Item Necessarios
  2. GIT > https://git-scm.com/downloads
  3.  Tortoise - > https://tortoisegit.org/download/
  4. NEMO - > https://gitlab.com/4144/Nemo
  5. EXE  -> http://nemo.herc.ws/downloads/ (pode se encontrar um aqui para você estou a versão 2018-06-20)

Bom vamos lá.

 - Compilar o cliente ( irei usar o NEMO)

1589721985_Semttulo.thumb.png.9d080366db96c445093b3c4716fb5846.png

Imagem auto explicativa, Segue abaixo:

  1. Dependendo do Seu cliente no passo "3" da imagem, pode dar um erro "Always call SelectKoreaClientInfo" Apenas ignore.
  2. DATA.INI
  3. System/itemInfo_Sak.lub -> para algumas pessoas pode ser necessário mudar dependendo da sua pasta no meu caso não preciso.
  4. Always Load Korea ExternalSetting lua files
  5. Read Data Folder First
  6. Increase Headgear ViewID - > Coloque o numero conforme necessidade vai até 32000 O mais importante ( Não funcionara se não ativar ira dar crash não esqueça de Ativá-lo) 

Esses são os necessários porém sintase a vontade de editar seu EXE, conforme sua necessidade, feito isso ficara algo parecido com isso.

1284706441_Semttulo.thumb.jpg.81bfa53ceda829ca3d2de2c6c3cdf1e7.jpg

Feito isso vamos para pasta do servidor Hercules\db\item_db2.conf

Obs: Aqui estou usando um spr que peguei aqui no site então caso queira é só fazer download  aqui. creditos ao ~Wolfeh.

Obs²: neste SPR alterei o nome que estava Tobi_Mask.spr/act para item01 caso for usar este item altere para item01 tudo se não vai dar erro mantendo ¿©_ / ³²_  ou altere os AgeisName

{
	Id: 40000 //ID Do seu custom Item
	AegisName: "item01"
	Name: "Tobi Mask"
	Type: 5
	Buy: 20
	Weight: 40
	Atk: 20
	Def: 20
	Slots: 2
	Job: 0xFFFFFFFE
	Loc: 769
	EquipLv: 1
	View: 4500 //ID DO SPRITE
},

Agora vamos para pasta do seu RO e vamos na pasta data

Pasta - >> data\sprite\¾ÆÀÌÅÛ
item01.spr // mesmo nome do AegisName colocado no item_db2.conf
item01.act // mesmo nome do AegisName colocado no item_db2.conf
Pasta - >> data\sprite\¾Ç¼¼»ç¸® // Existem duas pasta ³² para masculino e ¿© para Feminino.
  Pasta - >> ³²
	³²_item01.spr
	³²_item01.act
  Pasta - >> ¿©
    ¿©_item01.spr
  	¿©_item01.act
Pasta - texture\À¯ÀúÀÎÅÍÆäÀ̽º // Existem duas pasta caso contrario crie 1 - Item e a 2 - collection
  item - item01.bmp //icone do item mostrado no jogo
  collection - item01.bmp //foto do item que mostra com a descrição
  
  

feito isso vamos para data\luafiles514\lua files\datainfo

1 - Abra o accessoryid.lub  e adicione na ultima linha antes do } conforme esta á baixo.// Aqui estou usando o note++

	ACCESSORY_C_Luna_On_Shoulder = 1881, //IMPORTANTE FECHE A VIRGULA SE NÃO DAR ERRO.
	-- Custom Item
	ACCESSORY_item01 = 4500, // aqui coloque o ID que colocou no item_db2.conf caso usou esse memso numero deixe esse
							 //	A ULTIMA LINHA NÃO PRECISA COLOCAR MAIS SE QUISER PODE POR.
	


}

2 - Abra o accname.lub e adcione.  // Lembrando que tem que ser antes do "}" conforme abaixo,

	[ACCESSORY_IDs.ACCESSORY_C_Luna_On_Shoulder] = "_C_Luna_On_Shoulder",
	-- Custom Itens
	[ACCESSORY_IDs.ACCESSORY_item01] = "_item01",
}

3 - Agora ultima etapa vá para a pasta SEURO\System e abra itemInfo_Sak.lub (o mesmo nome, que colocou no nemo)

Procure "function main()" vai estar +- assim:

}

function main()
	for ItemID, DESC in pairs(tbl) do
		result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum)
		if not msg then
			result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume)
		end

Antes do } adicione:

		[40000] = {
		unidentifiedDisplayName = "Tobi Mask",
		unidentifiedResourceName = "item01",
		unidentifiedDescriptionName = {
			"Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000."
		},
		identifiedDisplayName = "Tobi Mask",
		identifiedResourceName = "item01",
		identifiedDescriptionName = {
			"Uma mascara laranja com desenho espiral e um orificio para o olho direito.",
			"Ataque :^777777 20^000000",
			"Defesa :^0000FF 20^000000",
			"Equipped on :^777777 Upper, Mid, Lower^000000",
			"Weight :^009900 40^000000",
			"Applicable Job :^777777 Every Job^000000",
			"Spriter :^777777 Wolfeh^000000",			
			"Level Requirement:^009900 1^000000",
			"Jobs:^6666CC All except Novice^000000"
		},
		slotCount = 2,
		ClassNum = 4500,
		costume = false
	
},

ficando parecido com isso :

		[40000] = {
		unidentifiedDisplayName = "Tobi Mask",
		unidentifiedResourceName = "item01",
		unidentifiedDescriptionName = {
			"Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000."
		},
		identifiedDisplayName = "Tobi Mask",
		identifiedResourceName = "item01",
		identifiedDescriptionName = {
			"Uma mascara laranja com desenho espiral e um orificio para o olho direito.",
			"Ataque :^777777 20^000000",
			"Defesa :^0000FF 20^000000",
			"Equipped on :^777777 Upper, Mid, Lower^000000",
			"Weight :^009900 40^000000",
			"Applicable Job :^777777 Every Job^000000",
			"Spriter :^777777 Wolfeh^000000",			
			"Level Requirement:^009900 1^000000",
			"Jobs:^6666CC All except Novice^000000"
		},
		slotCount = 2,
		ClassNum = 4500,
		costume = false
	
},

}

function main()
	for ItemID, DESC in pairs(tbl) do
		result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum)
		if not msg then
			result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume)
		end
		if not result then
			return false, msg
		end
		for k, v in pairs(DESC.unidentifiedDescriptionName) do
			result, msg = AddItemUnidentifiedDesc(ItemID, v)
			if not result then
				return false, msg
			end
		end
		for k, v in pairs(DESC.identifiedDescriptionName) do
			result, msg = AddItemIdentifiedDesc(ItemID, v)
			if not result then
				return false, msg
			end
		end
		if nil ~= DESC.EffectID and nil ~= AddItemEffectInfo then
			result, msg = AddItemEffectInfo(ItemID, DESC.EffectID)
			if not result then
				return false, msg
			end
		end
		if nil ~= DESC.costume and nil ~= AddItemIsCostume then
			result, msg = AddItemIsCostume(ItemID, DESC.costume)
			if not result then
				return false, msg
			end
		end
	end
	return true, "good"
end
function main_server()
	for ItemID, DESC in pairs(tbl) do
		result, msg = AddItem(ItemID, DESC.identifiedDisplayName, DESC.slotCount)
		if not result then
			return false, msg
		end
	end
	return true, "good"
end

Abra seu servidor, e logue nele crie o item e teste.

 
screenHercules003.thumb.jpg.45652e162253172efa8a0687ff04fc44.jpg

 

Considerações: 

Resolvi fazer esse guia pois não achei nenhum atualizado e faltava informações ( como a parte do nemo eu mesmo nunca tinha visto um guia sitando para ativar esse viewID)

a maioria dos tutorial que via, ou pasta de exemplos sempre mandava adicionar em outros arquivos como idnum e etc e no caso do cliente novo não precisa.

espero que este guia ajude.

 

 

Edited by bruno05

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.