Ir para conteúdo
  • Cadastre-se

APENAS UMA DUVIDA (AJUDA)


Posts Recomendados

Pra quem manja muitoooo de tibia ai, alguém saberia me dizer se é POSSÍVEL colocar montaria em versões inferiores? por exemplo joga montaria pra 8.6? Galera é apenas uma duvida sobre o assunto, e queria saber se isso é possível, não estou interessado se for trabalhoso ou não.

Se possivel, poderiam me dar algumas dicas sobre o assunto ?

 

 

Muito Obrigado !

Link para o post
Compartilhar em outros sites

Po cara, no 8.60 não tem nenhuma base para mounts...

teria que modificar tudo...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Po cara, no 8.60 não tem nenhuma base para mounts...

teria que modificar tudo...

Mas então teria como né?

Tipo, mudar tibia otb do servidor, mudar a distro, atualizar tudo que tenha haver com montaria de uma versão nova pra antiga, e depois teria que criar um cliente pra suporta né ? seria mais o menos? teria ideia ?

Po cara, no 8.60 não tem nenhuma base para mounts...

teria que modificar tudo...

Mas então teria como né?

Tipo, mudar tibia otb do servidor, mudar a distro, atualizar tudo que tenha haver com montaria de uma versão nova pra antiga, e depois teria que criar um cliente pra suporta né ? seria mais o menos? teria ideia ?

Link para o post
Compartilhar em outros sites

Mas então teria como né?

Tipo, mudar tibia otb do servidor, mudar a distro, atualizar tudo que tenha haver com montaria de uma versão nova pra antiga, e depois teria que criar um cliente pra suporta né ? seria mais o menos? teria ideia ?

Mas então teria como né?

Tipo, mudar tibia otb do servidor, mudar a distro, atualizar tudo que tenha haver com montaria de uma versão nova pra antiga, e depois teria que criar um cliente pra suporta né ? seria mais o menos? teria ideia ?

Tutorial Basico: Se voce Conseguir as Sprites das Montarias e colocar em um client Proprio para o Seu Server e fazer tipo Mount system por Actions ou comando sei la fica mais facil e pratico! Se voce Souber fazer isso fica mais facil


 

 

Link para o post
Compartilhar em outros sites

pode pegar sistemas de montaria em servidores de poketibia...

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

pegar como base... teria que fazer ajustes, claro, mas nada tao difícil... nao posso falar com propriedade porque faço scripts apenas pra 8.54, mas ´´e utilizado um sistema de montaria quando se sobe em um pokemon, seja voador ou terrestre...

 

um sistema de montaria, por exemplo, tirado do antigo servidor de poketibia Ownz...

 function getPokemonMaxLife(name)
		local file = io.open('data/monster/monsters.xml','r')
		local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
		file:close()
		local data = io.open('data/monster/'..(arquivo or ''),'r')
		if not data then
			return 100
		end
		local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
		data:close()
		return maximo
 end

function onUse(cid, item, frompos, item2, topos)

	local pokes = {
		['Tauros'] = {128, 200},
		['Ninetales'] = {129, 300},
		['Rapidash'] = {130, 350},
		['Ponyta'] = {131, 200},
		['Rhyhorn'] = {132, 150},
		['Arcanine'] = {12, 500},
		['Shiny Arcanine'] = {492, 800},
		['Shiny Venusaur'] = {494, 700},
		['Crystal Onix'] = {293, 400},
		['Onix'] = {126, 350},
		['Venusaur'] = {134, 350},
		['Dodrio'] = {133, 350},
		['Doduo'] = {135, 250},
	}
	local idballs = {
		[2531] = {"Pokeball"},
		[2557] = {"Superball"},
		[2524] = {"Greatball"},
		[2525] = {"Ultraball"},
		[2523] = {"Masterball"},
	}

	local old_speed = getCreatureBaseSpeed(cid)
	local summons = getCreatureSummons(cid)
	local storage = 9393 
	local exhaust = 0
	local time = 0
	if (getPlayerStorageValue(cid, storage) <= os.time()) then
		if getPlayerStorageValue(cid, 18000) == 10 then
			local nome = getItemName(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid)
			local balls = idballs[getPlayerSlotItem(cid,8).itemid]
			local poke_name = nome:match('(.-) '..balls[1])
			local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid")
			if action_id == -1 then
				return doPlayerSendCancel(cid,"it uses pokemon correct to leave ride!")
			end
			doChangeSpeed(cid, -(getCreatureSpeed(cid) - getCreatureBaseSpeed(cid)))
			setPlayerStorageValue(cid, storage, os.time()+exhaust)
			doRemoveCondition(cid, CONDITION_OUTFIT)
			setPlayerStorageValue(cid, 18000, 7)
			setPlayerStorageValue(cid, 25000, 6)
			local monster = doCreateMonster(poke_name, getCreaturePosition(cid))
			doConvinceCreature(cid, monster)
			doCreatureAddHealth(monster, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))
			doPlayerSay(cid, poke_name .. ", I'm tired of riding!", TALKTYPE_SAY)
			return true
		end

		if isPremium(cid) == FALSE then
			return doPlayerSendCancel(cid, "Você não é premium account.")
		end
		
		if #getCreatureSummons(cid) < 1 then
			return doPlayerSendCancel(cid, "Para dar ride você precisa de um pokemon")
		end
			
		local pokemon = pokes[getCreatureName(getCreatureSummons(cid)[1])]
		local name = getCreatureName(getCreatureSummons(cid)[1])
		if not pokes[name] then
			return doPlayerSendCancel(cid, "Este pokemon não pode dar ride.")
		end
		setPlayerStorageValue(cid, storage, os.time()+exhaust)
		doChangeSpeed(cid, pokemon[2])
		setPlayerStorageValue(cid, 18000, 10)
		setPlayerStorageValue(cid, 25000, 5)
		doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
		setPlayerStorageValue(cid,10000,pokemon[1])
		setPlayerStorageValue(cid,8889,pokemon[2])
		doItemSetAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid", getCreatureHealth(getCreatureSummons(cid)[1]))
		function getPokemonId(summons)
			for _, pid in ipairs(summons) do
				return pid
			end
		end
		doRemoveCreature(getPokemonId(summons))
		doPlayerSay(cid, name .. ", Let's go RIDE!", TALKTYPE_SAY)
	end
end

 

Ele eh utilizado em forma de action id...

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

pegar como base... teria que fazer ajustes, claro, mas nada tao difícil... nao posso falar com propriedade porque faço scripts apenas pra 8.54, mas ´´e utilizado um sistema de montaria quando se sobe em um pokemon, seja voador ou terrestre...

 

um sistema de montaria, por exemplo, tirado do antigo servidor de poketibia Ownz...

 function getPokemonMaxLife(name)
		local file = io.open('data/monster/monsters.xml','r')
		local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
		file:close()
		local data = io.open('data/monster/'..(arquivo or ''),'r')
		if not data then
			return 100
		end
		local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
		data:close()
		return maximo
 end

function onUse(cid, item, frompos, item2, topos)

	local pokes = {
		['Tauros'] = {128, 200},
		['Ninetales'] = {129, 300},
		['Rapidash'] = {130, 350},
		['Ponyta'] = {131, 200},
		['Rhyhorn'] = {132, 150},
		['Arcanine'] = {12, 500},
		['Shiny Arcanine'] = {492, 800},
		['Shiny Venusaur'] = {494, 700},
		['Crystal Onix'] = {293, 400},
		['Onix'] = {126, 350},
		['Venusaur'] = {134, 350},
		['Dodrio'] = {133, 350},
		['Doduo'] = {135, 250},
	}
	local idballs = {
		[2531] = {"Pokeball"},
		[2557] = {"Superball"},
		[2524] = {"Greatball"},
		[2525] = {"Ultraball"},
		[2523] = {"Masterball"},
	}

	local old_speed = getCreatureBaseSpeed(cid)
	local summons = getCreatureSummons(cid)
	local storage = 9393 
	local exhaust = 0
	local time = 0
	if (getPlayerStorageValue(cid, storage) <= os.time()) then
		if getPlayerStorageValue(cid, 18000) == 10 then
			local nome = getItemName(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid)
			local balls = idballs[getPlayerSlotItem(cid,8).itemid]
			local poke_name = nome:match('(.-) '..balls[1])
			local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid")
			if action_id == -1 then
				return doPlayerSendCancel(cid,"it uses pokemon correct to leave ride!")
			end
			doChangeSpeed(cid, -(getCreatureSpeed(cid) - getCreatureBaseSpeed(cid)))
			setPlayerStorageValue(cid, storage, os.time()+exhaust)
			doRemoveCondition(cid, CONDITION_OUTFIT)
			setPlayerStorageValue(cid, 18000, 7)
			setPlayerStorageValue(cid, 25000, 6)
			local monster = doCreateMonster(poke_name, getCreaturePosition(cid))
			doConvinceCreature(cid, monster)
			doCreatureAddHealth(monster, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))
			doPlayerSay(cid, poke_name .. ", I'm tired of riding!", TALKTYPE_SAY)
			return true
		end

		if isPremium(cid) == FALSE then
			return doPlayerSendCancel(cid, "Você não é premium account.")
		end
		
		if #getCreatureSummons(cid) < 1 then
			return doPlayerSendCancel(cid, "Para dar ride você precisa de um pokemon")
		end
			
		local pokemon = pokes[getCreatureName(getCreatureSummons(cid)[1])]
		local name = getCreatureName(getCreatureSummons(cid)[1])
		if not pokes[name] then
			return doPlayerSendCancel(cid, "Este pokemon não pode dar ride.")
		end
		setPlayerStorageValue(cid, storage, os.time()+exhaust)
		doChangeSpeed(cid, pokemon[2])
		setPlayerStorageValue(cid, 18000, 10)
		setPlayerStorageValue(cid, 25000, 5)
		doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
		setPlayerStorageValue(cid,10000,pokemon[1])
		setPlayerStorageValue(cid,8889,pokemon[2])
		doItemSetAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid", getCreatureHealth(getCreatureSummons(cid)[1]))
		function getPokemonId(summons)
			for _, pid in ipairs(summons) do
				return pid
			end
		end
		doRemoveCreature(getPokemonId(summons))
		doPlayerSay(cid, name .. ", Let's go RIDE!", TALKTYPE_SAY)
	end
end

 

Ele eh utilizado em forma de action id...

hummm, entendii !

 

Sera que alguem teria mais algumas dicas?

Link para o post
Compartilhar em outros sites

Uma gambiarra seria usar como 1 newtype, e por nos outfits...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Exatamente @Caronte, eh assim que funciona em servidores de pokemon 8.54...

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

Uma gambiarra seria usar como 1 newtype, e por nos outfits...

eeheiheiheuiheuihei, achei engraçado, mas po muito obrigado a todos pelas ideias !

 

Vou começar um projeto aqui e tentar fazer isso, vai da um trabalhinho mais i dai né kkkk

 

Estou pensando em copiar os codigos das montarias da versão superior e inserir na 8.6 e compilar, sera que funciona ? depois criar um cliente pra suporta a atualização, oque acham ? tem base pra dar certo ? se não me informem outro caminho se possivel

Link para o post
Compartilhar em outros sites

o sistema de montaria seria através de um summon?

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo