Ir para conteúdo

Featured Replies

Postado

estou adicionando addon system no meu servidor dxp, consegui fazer com que o fly com addons funcione mas os rides pararam de funcionar (quando da order em si mesmo o pokémon morre e nada acontece)

 

a função está assim:

 

Spoiler

function doUp(cid, summon, move)
					 local pokeName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
					 local ditto = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "copyName")
						  if ditto and ditto ~= "" then
							 pokeName = ditto
						  end
                     local outfit = getPokemonOutfitToSkill(pokeName)
                     local speed = getPokemonSpeedToSkill(pokeName)
                     addEvent(doRemoveCreature, 10, summon)
					 
		
    		local pb = getPlayerSlotItem(cid, 8).uid
		
		if getItemAttribute(pb, "addon") < 1 then
			doSetCreatureOutfit(cid, {lookType = flys[getPokemonName(getCreatureSummons(cid)[1])][1] + 351}, -1)
		else
			doSetCreatureOutfit(cid, {lookType = flysAddon[getItemAttribute (pb, "addon")][1]}, -1)
		end
		
                     
                     doChangeSpeed(cid, -getCreatureSpeed(cid))
                     doChangeSpeed(cid, speed)

					 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 move == "ride" then 
                     setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)
                    elseif move == "fly" then
                     setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)
                    end
					setPokemonGhost(cid)
					
			        doPlayerSendCancel(cid, '12//,hide') --alterado v1.7
end

 

 

acredito que tenho que colocar mais coisas nesse else mas já tentei de todas as formas e só crasha tudo :( no tfs aparece o seguinte erro do jeito que tá ali:

 

image.png.d93821c3d8f5777dc2d7ce1fb865b3ec.png

 

edit ---

 

consegui fazer funcionar deixando a função assim:

 

Spoiler

function doUp(cid, summon, move)
					 local pokeName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
					 local ditto = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "copyName")
						  if ditto and ditto ~= "" then
							 pokeName = ditto
						  end
                     local outfit = getPokemonOutfitToSkill(pokeName)
                     local speed = getPokemonSpeedToSkill(pokeName)
                     addEvent(doRemoveCreature, 10, summon)
		local pb = getPlayerSlotItem(cid, 8).uid
		
		if getItemAttribute(pb, "addon") < 1 then
                     doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)
		else
			doSetCreatureOutfit(cid, {lookType = flysAddon[getItemAttribute (pb, "addon")][1]}, -1)
		end
                     
                     doChangeSpeed(cid, -getCreatureSpeed(cid))
                     doChangeSpeed(cid, speed)

					 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 move == "ride" then 
                     setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)
                    elseif move == "fly" then
                     setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)
                    end
					setPokemonGhost(cid)
					
			        doPlayerSendCancel(cid, '12//,hide') --alterado v1.7
    
end

 

 

mas, ao sair do fly/ride o pokémon fica sem o addon, só falta isso pra ficar 100%

 

acredito que pra mudar isso é aqui nessa parte:

 

Spoiler

if item2.uid == cid then -- demound poke
	if isPlayer(item2.uid) and isInDuel(item2.uid) or getPlayerStorageValue(cid, 5700) >= 1 or getPlayerStorageValue(cid, 3213211) >= 1 then
	   return doPlayerSendCancel(cid, MSG_NAO_E_POSSIVEL)
	end
   if isRiderOrFlyOrSurf(cid)  then 
      local ball = getPlayerSlotItem(cid, 8)
	  doGoPokemonInOrder(cid, ball, false)
            doRemoveCondition(cid, CONDITION_OUTFIT)
            doPlayerSay(cid, getCreatureNick(getCreatureSummons(cid)[1]) .. orderTalks["downability"].talks[math.random(#orderTalks["downability"].talks)])            
            doRegainSpeed(cid)            
            setPlayerStorageValue(cid, orderTalks["ride"].storage, -1)
            setPlayerStorageValue(cid, orderTalks["fly"].storage, -1)
			doPlayerSendCancel(cid, '12//,show')

      return true
   end
end

 

 

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

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520k

Informação Importante

Confirmação de Termo