Ir para conteúdo

Featured Replies

Postado

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."

  • Respostas 12
  • Visualizações 353
  • Created
  • Última resposta

Top Posters In This Topic

Postado

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."

Postado
  • Autor

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?

Postado

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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo