Ir para conteúdo

Featured Replies

Postado

Olá Galera Do TK, Estou aqui para fazer um pedido em um script,

eu coloquei o script de GEM igual do servidor FOXWOLRD no meu servidor, mais estou tendo um problema

ESTAREI DEIXANDO FOTOS DO CHARACTER TENTANDO USAR A GEM ABAIXO !!!!

ele diz que não sou promotion, mais o character está com promotion, 

os requisitos, para usar GEM são:

 

SER LEVEL 200 +

TER A PROMOTION,

que no caso do FOXWORLD a promotion maxima são :

SORCERER - MASTER SORECER - SUPREME SORCERER

DRUID - ELDER DRUID - MAJESTIC DRUID

PALADIN - ROYAL PALADIN - LORD PALADIN

KNIGHT - ELITE KNIGHT - MONSTER KNIGHT

 

criei um char, coloquei lvl 200, e promotion,  mais ainda, não consigo usar a gem,

alguem poderia dar uma olhada no script ?

darei REP+ a quem puder ajudar !!!!

 

SEGUE ABAIXO OS SCRIPTS : 

 

 

DATA/ACTION/ACTION.XML   -

 

              <action itemid="2154" script="gems.lua" />
              <action itemid="2155" script="gems.lua" />
              <action itemid="2156" script="gems.lua" />
              <action itemid="2158" script="gems.lua" />

 

DATA/ACTION/SCRIPTS/GEMS  -

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
  gem = gems.id[getPlayerVocation(cid)]
  if item.itemid == gem then
          if (getPlayerLevel(cid) < 200) then
          doPlayerSendTextMessage(cid,22,"É necessário level 200 ou maior para absorver uma gema espiritual!")
          else

                if (getPlayerPromotionLevel(cid) == 1) then

                      if getPlayerStorageValue(cid,21201) == -1 then
                      setPlayerStorageValue(cid,21201,1)
                      doUseGem(cid, item)
                      doPlayerSendTextMessage(cid,22,"Você absorveu uma gema espiritual!")
                      doSendMagicEffect(getPlayerPosition(cid),65)
                      else
                      doPlayerSendTextMessage(cid,22,"Você ainda possui uma gema espiritual absorvida.")
                      end

                else
                doPlayerSendTextMessage(cid,22,"Você precisa estar promoted para usar a gema.")
                end
 
          end

  else
  return 0
  end
  return 1
  end 


DATA/LIB/PIVI  -

 

function doRemoveGemEffect(cid)

  local voc = getPlayerVocation(cid)

  if getPlayerPromotionLevel(cid) > 0 then
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end

  if getPlayerStorageValue(cid, gems.storage[voc]) == -1 then
  else
    setPlayerStorageValue(cid, gems.storage[voc], 0)
  end

end

function doUseGem(cid, item)

  local level = getPlayerLevel(cid)
  local voc = getPlayerVocation(cid)
  local interval = gems.interval[voc]

  if getPlayerPromotionLevel(cid) > 0 then
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end

  if item.itemid ~= gems.id[voc] or getPlayerStorageValue(cid, gems.storage[voc]) > 0 then
    return FALSE
  end

  setPlayerStorageValue(cid, gems.storage[voc], 1)
  sendGemEffect(cid, gems.storage[voc], gems.interval[voc])
  doRemoveItem(item.uid, 1)

  return TRUE  
end

function sendGemEffect(cid, storage, interval)

if isPlayer(cid) then

  local pos = getThingPos(cid)
  local voc = getPlayerVocation(cid)
  local level = getPlayerLevel(cid)
  local color = 1

  if level > 199 then

  if getPlayerPromotionLevel(cid) > 0 then
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end
          if voc == 1 then
            color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)]
          elseif voc == 2 then
            color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)]
          elseif voc == 3 then
            color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)]
          elseif voc == 4 then
            color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)]
          end

  doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color)
    if getPlayerStorageValue(cid, gems.storage[voc]) >= 1 then 
      addEvent(sendGemEffect, interval, cid, storage, interval)
    end

else
stopEvent(sendGemEffect(cid, storage, interval))
end

end

function doRemoveAllGemEffect(cid)
  for i = 1, table.maxn(gms.storage) do
    setPlayerStorageValue(cid, gems.storage, 0)
  end
  return TRUE
end

function isGemActivated(cid)

  local voc = getPlayerVocation(cid)

  if getPlayerPromotionLevel(cid) > 0 then
    voc = voc - (getPlayerPromotionLevel(cid) * 4)
  end

  if getPlayerStorageValue(cid, gems.storage[voc]) > 0 then
    return TRUE
  end
  return FALSE
end

  return TRUE
end

 

 

DATA/LIB/PIVI_CONST   -

 

gems = {
id = {2156, 2155, 2158, 2154, 2156, 2155, 2158, 2154, 2156, 2155, 2158, 2154},
storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012},
interval = {600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600}
}

gemMsg = {
rnd = {"´ .    ,", ".    ´ ,", "`  .  ,", ",    ´ ."},
colorDruid = {180,180},
colorSorcerer = {30,215},
colorPaladin = {251,10},
colorKnight = {204,212},
colorElderDruid = {180,180},
colorMasterSorcerer  = {30,215},
colorRoyalPaladin = {251,10},
colorEliteKnight = {204,212}
}
 

 

 

sistema gemas foxworld.jpg

@Sekk , @Xagah

  • Respostas 13
  • Visualizações 674
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Seu script não condiz com a imagem, geralmente isso é o suficiente pra fazer eu desistir de ajudar alguém... não faça mais isso.   if (getPlayerPromotionLevel(cid) == 1) then troca == por >= qu

Posted Images

Postado

action/scripts/gems.lua

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local gem = gems.id[getPlayerVocation(cid)]
	if item.itemid == gem then
		if getPlayerLevel(cid) < 200 then
			return doPlayerSendTextMessage(cid, 22, "E necessario level 200 ou maior para absorver uma gema espiritual!")
		end
		if getPlayerPromotionLevel(cid) == 2 then
			if getPlayerStorageValue(cid, 21201) == -1 then
				setPlayerStorageValue(cid, 21201, 1)
				doUseGem(cid, item)
				doPlayerSendTextMessage(cid, 22, "Voce absorveu uma gema espiritual!")
				doSendMagicEffect(getPlayerPosition(cid), 65)
			else
				return doPlayerSendTextMessage(cid, 22, "Voce ainda possui uma gema espiritual absorvida.")
			end
		else
			return doPlayerSendTextMessage(cid, 22, "Voce precisa estar promoted para usar a gema.")
		end
	end
	return true
end

 

 

Tenta ai..

Postado

Seu script não condiz com a imagem, geralmente isso é o suficiente pra fazer eu desistir de ajudar alguém... não faça mais isso.

  if (getPlayerPromotionLevel(cid) == 1) then

troca == por >= que vai resolver.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

cara.. tenta usar a gem como sorcerer normal '-'

 

 

Eita, wolf aki '-'

 

pode tentar tbm

 

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local gem = gems.id[getPlayerVocation(cid)]
	local vocations = {"supreme sorcerer", "majestic druid", "lord paladin", "monster knight"}
	if item.itemid == gem then
		if getPlayerLevel(cid) < 200 then
			return doPlayerSendTextMessage(cid, 22, "E necessario level 200 ou maior para absorver uma gema espiritual!")
		end
		if isInArray(vocations, getPlayerVocationName(cid):lower()) then
			if getPlayerStorageValue(cid, 21201) == -1 then
				setPlayerStorageValue(cid, 21201, 1)
				doUseGem(cid, item)
				doPlayerSendTextMessage(cid, 22, "Voce absorveu uma gema espiritual!")
				doSendMagicEffect(getPlayerPosition(cid), 65)
			else
				return doPlayerSendTextMessage(cid, 22, "Voce ainda possui uma gema espiritual absorvida.")
			end
		else
			return doPlayerSendTextMessage(cid, 22, "Voce precisa estar promoted para usar a gema.")
		end
	end
	return true
end

 

 

Editado por Sekk (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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo