Ir para conteúdo
  • 0

Arrumar Este Script


Oapocalipse

Pergunta

local function evolve(cid, oldmid, MonsterEvo)
       if getCreatureHealth(oldmid) >  1 then
       doRemoveCreature(oldmid)
       local mid = doCreateMonster(MonsterEvo, getCreaturePosition(cid))
       doConvinceCreature(mid)
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu pet evoluiu! Parabens.")
end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
       local MonsterName = "Dragon Hatchling"
       local MonsterEvo = "Dragon"
       local MaximoSummon = 1
       local exhaust = 180
       local segundos = 180

       if (getPlayerStorageValue(cid, 3278) <= os.time()) then
               if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
                       local summons = getCreatureSummons(cid)
                       if(table.maxn(summons) < MaximoSummon) then
                               local mid = doCreateMonster(MonsterName, getCreaturePosition(cid))
                               doConvinceCreature(cid, mid)
                               doRemoveItem(item.uid,1)
                               addEvent(evolve, segundos*1000, cid, mid, MonsterEvo)
                               setPlayerStorageValue(cid, 3278, os.time()+exhaust)
                       else
                               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você aingiu o limite de summons!")
                       end
               else
                       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a vocação para chocar este ovo!")
               end
       else 
               doPlayerSendCancel(cid, "Desculpe, você so pode sumonar novamente depois de "..exhaust.." segundos.")
       end
end

 

Bem, este script, sumona um Dragon hatchling e o convence, e depois se torna um dragon QUE NÃO E CONVENCIDO!

 

 

Tambem queria, que arumassem um geito de fazer para conter mais evoluçoes, do geito que esta, e impossivel ao meu ver configurar para mais uma evolução depois de tal tempo.

 

 

Pode parecer dificl, por isso eu gostaria que um bom scripter faça ( ou n)

Como One shot, apocarai etcc...

 

 

EU FIKAREI MUITO GRATO MESMO!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Certo, a primeira coisa que você deve fazer, é abrir o arquivo da criatura Dragon e mudar isso aqui:

 

<flag convinceable="0"/>

 

Para isso aqui:

 

<flag convinceable="1"/>

 

Pois a criatura em si não é "convencível" por natureza, você terá que "forçar" isso.

 

Agora sobre um script, eu poderei arrumar-lo, criar uma versão mais atualizada. Basta algum tempo,

 

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um sistema bem versátil, onde você pode adicionar um pet para cada vocação,

Segue o script abaixo,

 

local config = {
exhaustTime = 20, --[[exhaustTime em segundos]] 
exhaustStorage = 3278 --[[storage do Exhaust]]
}

local pet = {
[{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getPlayerStorageValue(cid, config.exhaustStorage) <= os.time()) then
	for i, v in pairs(pet) do
		if(isInArray(i, getPlayerVocation(cid))) then
			if(table.maxn(getCreatureSummons(cid)) < v.maxSummons) then
				local mid = doCreateMonster(v.monsterName, getThingPosition(cid))
				doConvinceCreature(cid, mid)
				doRemoveItem(item.uid, 1)
				setPlayerStorageValue(cid, config.exhaustStorage, os.time()+config.exhaustTime)
				addEvent(onPetEvolution, v.evolutionTime*1000, cid, mid)
			else
				doPlayerSendCancel(cid, "You can\'t summon more pets")
			end
		else
			doPlayerSendCancel(cid, "You don\'t have a vocation to summon pets")
		end
	end
else
	doPlayerSendCancel(cid, "You are exhausted.")
end
return true
end

function onPetEvolution(cid, mid)
doRemoveCreature(mid)
for i, v in pairs(pet) do
	if(isInArray(i, getPlayerVocation(cid))) then
		local evo = doCreateMonster(v.evolutionName, getThingPosition(cid))
		doConvinceCreature(cid, evo)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Your pet has evolved")
		addEvent(onPetSuperEvolution, v.superEvolutionTime*1000, cid, evo)
	end
end
end

function onPetSuperEvolution(cid, evo)
doRemoveCreature(evo)
for i, v in pairs(pet) do
	if(isInArray(i, getPlayerVocation(cid))) then
		local evo2 = doCreateMonster(v.superEvolutionName, getThingPosition(cid))
		doConvinceCreature(cid, evo2)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Your pet has super evolved")
	end
end
end

 

Para adicionar pets, você deve adicionar linhas nessa tabela,

 

local pet = {
[{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1}
}

 

[{2, 6}] -> IDs das vocações que podem invocar esse pet,

monsterName = Nome da fase inicial da criatura.

evolutionName = Nome da evolução 1 da criatura.

superEvolutionName = Nome da evolução 2 da criatura.

evolutionTime = Tempo em segundos para a evolução 1.

superEvolutionTime = Tempo em segundos para a evolução 2, a partir de quando o pet evoluiu uma vez,

maxSummons = Quantos pets podem ser sumonados.

 

Por exemplo, a tabela poderá ficar assim, se você quiser adicionar um pet para Sorcerers.

 

local pet = {
[{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1},
[{1, 5}] = {monsterName="Fire Elemental", evolutionName="Massive Fire Elemental", superEvolutionName="Fire Overlord", evolutionTime=150, superEvolutionTime=500, maxSummons=1}
}

 

Lembre-se que cada linha tem que ter uma VÍRGULA no final, com exceção da última linha,

E não esqueça de deixar o monstro convencível no arquivo dele!

 

Veja se funciona, pois eu testei e funcionou.

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

  • 0

putz cara, pra essa vc entra na historia! Você criou um pet system poh*! Cara muito obrigado mesmo por ter me ajudado, achei que você nem ia afzer =o. se eu pudesse te pagar eu pagava, você ta afznedo um favor pra muitaa gente! Enfim, muito obrigado!!!! +REP (amanha dou mais)

Você e phoda

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

×
×
  • Criar Novo...