Ir para conteúdo
  • Cadastre-se

(Resolvido)Alguem me explica isso


Ir para solução Resolvido por luanluciano93,

Posts Recomendados

por que quando eu uso esse codigo acontece isso...

 

if item.actionid == 16200 then
  if not isPlayer(cid) then
      return true
  end
<! ------- LINHA 44 ----- -->  if getPlayerGuildId(cid) > 0 then
   if (getGlobalStorageValue(465481) ~= getPlayerGuildName(cid)) and ((getGlobalStorageValue(465482) ~= getPlayerGuildName(cid))) then
    setGlobalStorageValue(465481, getPlayerGuildName(cid))
   Game.broadcastMessage("[Castle] A Guild ["..getPlayerGuildName(cid).."] esta entrando no Castle!", MESSAGE_EVENT_ADVANCE)
   end
  else
   doSendMagicEffect(pos, 7)  
   doTeleportThing(cid, Position(32451, 32503, 7), false)
   doSendMagicEffect(getThingPos(cid), 7)
   doPlayerSendCancel(cid, "[Castle] Voce nao possui uma guild.")   
   return true
  end   
 end

 

 

---------------------------------

Lua Script Error: [MoveEvents Interface]
data/movements/scripts/castle/castle.lua:onStepIn
data/movements/scripts/castle/castle.lua:44: attempt to compare number with boolean
stack traceback:
        [C]: in function '__lt'
        data/movements/scripts/castle/castle.lua:44: in function <data/movements/scripts/castle/castle.lua:1>

 

---------------------------------

 e quando eu uso:

 

if item.actionid == 16200 then
  if not isPlayer(cid) then
      return true
  end

if getPlayerGuildId(cid) ~= nil then
   doSendMagicEffect(pos, 7)  
   doTeleportThing(cid, Position(32451, 32503, 7), false)
   doSendMagicEffect(getThingPos(cid), 7)
   doPlayerSendCancel(cid, "[Castle] Voce nao possui uma guild.")   
   return true
  end   
 end

--------

quem tem guild e quem nao tem guild é teleportado pra posicao

 

e quando eu uso 

 if getPlayerGuildId(cid) ~= nil then

 if getPlayerGuildId(cid) > 0 then

 if (getGlobalStorageValue(465481) ~= getPlayerGuildName(cid)) and ((getGlobalStorageValue(465482) ~= getPlayerGuildName(cid))) then
    setGlobalStorageValue(465481, getPlayerGuildName(cid))
   Game.broadcastMessage("[Castle] A Guild ["..getPlayerGuildName(cid).."] esta entrando no Castle!", MESSAGE_EVENT_ADVANCE)
   end
  else
   doSendMagicEffect(pos, 7)  
   doTeleportThing(cid, Position(32451, 32503, 7), false)
   doSendMagicEffect(getThingPos(cid), 7)
   doPlayerSendCancel(cid, "[Castle] Voce nao possui uma guild.")   
   return true
  end   
 end

 

quem tem guild parace a msg normal e quem nao tem da erro na linha 45 que seria  " if getPlayerGuildId(cid) > 0 then " e nao acontece nada

 

eu gostaria de um tile que quem tivesse guild passa e quem nao tem e teleportado pra certo local

Link para o post
Compartilhar em outros sites

Este tópico foi movido para a área correta. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

This topic has been moved to the correct area. This is an automated message!
Please read the forum rules.

 

Link para o post
Compartilhar em outros sites
4 horas atrás, luanluciano93 disse:

TFS ou OTX? E qual versão?

 

TFS 1.3

Por conta do erro eu coloquei outra actionid que é :

 

 

function onStepIn(cid, item, pos, fromPosition)
 local pos = getThingPos(cid)

    if item.actionid == 16207 then
  if not isPlayer(cid) then
      return true
  end
  if getPlayerGuildId(cid) ~= nil then
  if getPlayerGuildId(cid) <= 0 then
   doTeleportThing(cid, Position(32355, 32221, 7), false)
   doSendMagicEffect(getThingPos(cid), 7)
   doPlayerSendCancel(cid, "[Castle] Voce nao possui uma guild.")   
   else
    doTeleportThing(cid, Position(32451, 32503, 7), false)
    doPlayerSendCancel(cid, "[Castle]")
    doSendMagicEffect(getThingPos(cid), 7)    
  end
  end
  end
end

 

Agora da certo quem tem guild entra pra posição 32451, 32503, 7

Porem quem nao tem guild o player nao é teleportado para 32355, 32221, 7 e nada acontece ele fica em cima do tp e aparece o erro:

 

Lua Script Error: [MoveEvents Interface]
data/movements/scripts/castle/guildpass.lua:onStepIn
data/movements/scripts/castle/guildpass.lua:9: attempt to compare boolean with number
stack traceback:
        [C]: in function '__le'
        data/movements/scripts/castle/guildpass.lua:9: in function <data/movements/scripts/castle/guildpass.lua:1>

 

 

Editado por Gandolfo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
13 horas atrás, Gandolfo disse:

eu gostaria de um tile que quem tivesse guild passa e quem nao tem e teleportado pra certo local

function onStepIn(creature, item, position, fromPosition)
	local player = creature:getPlayer()
	if not player then
		return true
	end

	local guildId = player:getGuild()
	guildId = guildId and guildId:getId() or 0
	if guildId ~= 0 then
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "PODE PASSAR!")
	else
		player:teleportTo(Position(1012, 960, 9))
		player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
	end
  
	return true
end

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, luanluciano93 disse:

function onStepIn(creature, item, position, fromPosition)
	local player = creature:getPlayer()
	if not player then
		return true
	end

	local guildId = player:getGuild()
	guildId = guildId and guildId:getId() or 0
	if guildId ~= 0 then
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "PODE PASSAR!")
	else
		player:teleportTo(Position(1012, 960, 9))
		player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
	end
  
	return true
end

 

 

Funcionou perfeitamente sem nenhum erro, Vlw cara vc é zika +rep

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo