Ir para conteúdo

Mega Evolution System (PxG)


zipter98

Posts Recomendados

Remove essa parte que tu colocou, procura por:

elseif spell == "Headbutt" then
       
       doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 118)

Em baixo de:

doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 118)

De 2 enter e cole o código da Mega Evolution

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

ficou dando erro sem parar ! tou a alguns minutos epserando ficar on mais fica repetindo o erro !

 

coloquei no lugar errado . ja to tentando arrumar

 

 

 

da este erro quando eu tento evoluir ele pra mega

 

http://i.imgur.com/08csmLM.png


tenho que adicionar alguma tag em talkactions ?


[HELP] Quando do goback no mega charizard X ele fica como mega charizard x e nao sai da ball !

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

Muito bom esse sistema, realmente se fosse o client junto na cdbar ia ser 100%pxg, mas desse jeito ja está demais.

Use a base que eu disse ter usado para testar o sistema. As únicas diferenças que o meu tem da PxG é que, enquanto no que escrevi a mensagem é "Mega Evolve!", no deles é o nome da mega evolução, e também porque cada mega evolução deles tem um ícone diferente na CD Bar.

Como já disseram, estou viajando, logo não darei suporte por um bom tempo.

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

  • 2 weeks later...
  • 1 month later...

 

Zipter, no caso, na parte de ter clan para usar o Mega, exemplo:

Sou Volcanic, coloquei Mega Charizard Y (Flying e Fire) para Wingeon e Volcanic usar, ai, apenas 1 clan pode usa-lo. Teria como colocar para os 2 clans do elemento usar?

Link para o comentário
Compartilhar em outros sites

Sim. Use este código, ao invés do que disponibilizei no tópico:

 

local megaEvoClans = {
    --[mega_stone_id] = {"clan_name", "clan_name", etc},
    [91912] = {"Volcanic", "Wingeon"},
    [91913] = {"Seavell"},
    --etc,
}
if megaEvoClans[isMega] then
    if not isInArray(megaEvoClans[isMega], getPlayerClanName(cid)) then
        return doPlayerSendCancel(cid, "You can't mega evolve this pokemon.")
    end
end
Link para o comentário
Compartilhar em outros sites

Desculpe ''reviver'' o topico,mais estou aqui com uma ideia boa,teria como ao usar a mega stone na ball do pokémon ele ganha uma xoutfit,tipo igual ao anime que a anti evoluçao do mega tem as megas stone em seu corpo,ou seja ao equipe a mega stone no charizard ele ganhasse xoutfit permanente.

 

Exemplo:a imagen no final.

 

 

Observer bem na parte da cabeça do blastoise,aquilo é do que estou falando,a mega stone,se tiver como peço que fassa que irá ficar magnifico,Base: Cyan 3.0 (pda)

post-382746-0-89281400-1441157554_thumb.png

Link para o comentário
Compartilhar em outros sites

Sim. Troque a tabela da lib por:

megaEvolutions = {
    --[itemid] = {"poke_name", "mega_evolution", outfit_id},
    [11638] = {"Charizard", "Mega Charizard X", xxx},
    [11639] = {"Charizard", "Mega Charizard Y", xxx},
}
Em data/actions/scripts, goback.lua:
Abaixo de:
if not isCreature(pk) then return true end
coloque:
if getItemAttribute(item.uid, "megaStone") then
    doSetCreatureOutfit(pk, {lookType = megaEvolutions[getItemAttribute(item.uid, "megaStone")][3]}, -1)
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Olá zipter Vou testar o seu sistema na base que você utilizou, pois a base que eu usei não estava funcionando caso der algum erro eu estarei aqui perguntando para você como resolver o erro,


Otimo tutorial funcionando perfeitamente, obrigado por compartilhar :D

 

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

  • 2 weeks later...

Zipter Estou com o seguinte Erro no sistema Segue a gif. > http://imgur.com/UGJNLRd

 

 

Meu Goback:

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Shiny Magmar"] = 35,
    ["Shiny Magmortar"] = 35,
    ["Shiny Electivire"] = 48,
    ["Magmortar"] = 35,
    ["Electivire"] = 48,	
	["Jynx"] = 17,          --alterado v1.5
	["Shiny Jynx"] = 17, 
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,   
}

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

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v1.8

if item.itemid == usando then                           

	if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	return true
	end
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end   
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
	local z = getCreatureSummons(cid)[1]

	if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
	   return true
	end
	doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

	if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
		doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
	return TRUE
	end

	local thishp = getItemAttribute(item.uid, "hp")

	if thishp <= 0 then
		if isInArray(pokeballs[btype].all, item.itemid) then
			doTransformItem(item.uid, pokeballs[btype].off)
			doItemSetAttribute(item.uid, "hp", 0)
			doPlayerSendCancel(cid, "This pokemon is fainted.")
		    return true
		end
	end

	local pokemon = getItemAttribute(item.uid, "poke")

	if not pokes[pokemon] then
	return true
	end

 if pokemon:find("Mega") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end
----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) then
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
   if #balls >= 1 then
      for _, uid in ipairs(balls) do
          local nome = getItemAttribute(uid, "poke")
          if not isInArray(lowPokes, pokemon) and nome == pokemon then
             return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
          else
             if nome == pokemon then
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 3 then
   return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end   
end
---------------------------------------------------------------------------------------------------------------------------------------------------

	local x = pokes[pokemon]
	local boost = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) < (x.level+boost) then
	   doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
	   return true
	end
	
	---------------------------- Sistema pokes de clan --------------------------------------
	local shinysClan = {
	["Shiny Fearow"] = {4, "Wingeon"},
	["Shiny Flareon"] = {1, "Volcanic"},
	["Shiny Vaporeon"] = {2, "Seavel"}, 
	["Shiny Jolteon"] = {9, "Raibolt"},
	["Shiny Hypno"] = {7, "Psycraft"},           
	["Shiny Golem"] = {3, "Orebound"},
	["Shiny Vileplume"] = {8, "Naturia"},
	["Shiny Nidoking"] = {5, "Malefic"},
	["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
	}
	
	if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) then  --alterado v1.9 \/
	   if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
	      doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
	      return true   
       elseif getPlayerClanRank(cid) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
	      return true
       end
    end
    --------------------------------------------------------------------------------------

	doSummonMonster(cid, pokemon)

	local pk = getCreatureSummons(cid)[1]
	if not isCreature(pk) then return true end

	if outfits_order[getCreatureName(pk)] then
    doTradeOutfit(pk, 1)
end
	
	------------------------passiva hitmonchan------------------------------
	if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
	-------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------      

	---if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited

	--	local left = getItemAttribute(item.uid, "transLeft")
	--	local name = getItemAttribute(item.uid, "transName")

	--	if left and left > 0 then
	--		setPlayerStorageValue(pk, 1010, name)
		--	doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
		--	addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
		--	doItemSetAttribute(item.uid, "transBegin", os.clock())
	--	else
	--		setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
	--	end
--	end

	if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, true, true)
	doRegenerateWithY(getCreatureMaster(pk), pk)
	doCureWithY(getCreatureMaster(pk), pk)

	doTransformItem(item.uid, item.itemid+1)

	local pokename = getPokeName(pk) --alterado v1.7 

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
    
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	if useOTClient then
	   doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end
    
    local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
               if not look then
    doSetItemAttribute(pb,"addon",0)
end
if look > 0 then
    doSetCreatureOutfit(pk, {lookType = look}, -1)
end

else

    doPlayerSendCancel(cid, "This pokemon is fainted.")

end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end
Editado por Fuuin Fake
Link para o comentário
Compartilhar em outros sites

Esse problema não está no sistema de mega evolução, e sim no sistema de addon que você instalou.

Troque:

local look = getItemAttribute(pb,"addon")
if not look then
    doSetItemAttribute(pb,"addon",0)
end
if look > 0 then
    doSetCreatureOutfit(pk, {lookType = look}, -1)
end
por:
local look = getItemAttribute(pb, "addon") or 0
if look > 0 then
    doSetCreatureOutfit(pk, {lookType = look}, -1)
else
    doSetItemAttribute(pb, "addon", 0)
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Zipter Eu Removi o Addon System e o Erro Parou so que , Tipo Quando eu dou golback com a mega evolução ativada e mando o icone pra Bag ele não vai pro slot + e não da nem 1 erro .-.

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

×
×
  • Criar Novo...