Ir para conteúdo
  • Cadastre-se

Posts Recomendados

O título do tópico já diz tudo, o player quando esta com esse amuleto não pode ser movido por outro player.

 

data/events/scripts/player.lua: 

local antiPushId = 13531

function Player:onMoveCreature(creature, fromPosition, toPosition)
	local creature = Creature(creature:getId())
	local amulet = creature:getSlotItem(CONST_SLOT_NECKLACE)
	
	if not creature:isPlayer() and amulet and amulet:getId() == antiPushId then
		self:sendCancelMessage("You cannot push this player. They are wearing an anti-push amulet.")
		return false
	end

	return true
end 

Créditos: Red

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 months later...

@Jack Zika, qual a versão do seu TFS?  :hum:  

TFS 1.0 

 

local antiPushId = 2218

function Player:onMoveCreature(creature, fromPosition, toPosition)
local creature = Creature(creature:getId())
if not creature:isPlayer() then
return false
end
 
local amulet = creature:getSlotItem(CONST_SLOT_NECKLACE)
if amulet and amulet:getId() == antiPushId then
self:sendCancelMessage("You cannot push this player. They are wearing an anti-push amulet.")
return false
end
 
return true
end
function Player:onBrowseField(position)
return true
end
 
function Player:onLook(thing, position, distance)
local description = "You see " .. thing:getDescription(distance)
if self:getGroup():getAccess() then
if thing:isItem() then
description = string.format("%s\nItemID: [%d]", description, thing:getId())
 
local actionId = thing:getActionId()
if actionId ~= 0 then
description = string.format("%s, ActionID: [%d]", description, actionId)
end
 
local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
if uniqueId > 0 and uniqueId < 65536 then
description = string.format("%s, UniqueId: [%d]", description, uniqueId)
end
 
description = description .. "."
local itemType = thing:getType()
 
local transformEquipId = itemType:getTransformEquipId()
local transformDeEquipId = itemType:getTransformDeEquipId()
if transformEquipId ~= 0 then
description = string.format("%s\nTransformTo: [%d] (onEquip).", description, transformEquipId)
elseif transformDeEquipId ~= 0 then
description = string.format("%s\nTransformTo: [%d] (onDeEquip).", description, transformDeEquipId)
end
 
local decayId = itemType:getDecayId()
if decayId ~= -1 then
description = string.format("%s\nDecayTo: [%d]", description, decayId)
end
elseif thing:isCreature() then
local str = "%s\nHealth: [%d / %d]"
if thing:getMaxMana() > 0 then
str = string.format("%s, Mana: [%d / %d]", str, thing:getMana(), thing:getMaxMana())
end
description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
end
 
local position = thing:getPosition()
description = string.format(
"%s\nPosition: [X: %d] [Y: %d] [Z: %d].",
description, position.x, position.y, position.z
)
 
if thing:isCreature() then
if thing:isPlayer() then
description = string.format("%s\nIP: [%s].", description, Game.convertIpToString(thing:getIp()))
end
end
end
self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end
 
function Player:onLookInBattleList(creature, distance)
local description = "You see " .. creature:getDescription(distance)
if self:getGroup():getAccess() then
local str = "%s\nHealth: [%d / %d]"
if creature:getMaxMana() > 0 then
str = string.format("%s, Mana: [%d / %d]", str, creature:getMana(), creature:getMaxMana())
end
description = string.format(str, description, creature:getHealth(), creature:getMaxHealth()) .. "."
 
local position = creature:getPosition()
description = string.format(
"%s\nPosition: [X: %d] [Y: %d] [Z: %d].",
description, position.x, position.y, position.z
)
 
if creature:isPlayer() then
description = string.format("%s\nIP: [%s].", description, Game.convertIpToString(creature:getIp()))
end
end
self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end
 
function Player:onLookInTrade(partner, item, distance)
self:sendTextMessage(MESSAGE_INFO_DESCR, "You see " .. item:getDescription(distance))
end
 
function Player:onLookInShop(itemType, count)
return true
end
 
function Player:onMoveItem(item, count, fromPosition, toPosition)
 
        if toPosition.x == 65535 or #Tile(toPosition):getItems() <= getConfigInfo("maxTileItems") then
                return true
        end
 
        self:sendCancelMessage('Sorry, not possible.')
 
        return false
end
 
function Player:onMoveCreature(creature, fromPosition, toPosition)
return true
end
 
function Player:onTurn(direction)
return true
end
 
function Player:onTradeRequest(target, item)
return true
end
Editado por Jack Zika (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

so falta fazer script pro player não passar por cima do outro em protectionzone rsrs.

Link para o post
Compartilhar em outros sites
  • 3 months later...
  • 1 month later...

@Mitsuig, rsrsrs.

 

evite esse tipo de comentário pois é considerado flood, atenciosamente, A direção.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSRSRSRSRS brinks <3

 

 

 

 

 

 

 

@tópico

 

belo código, nem pensei que fosse possível fazer só usando o player.lua

vou testar qndo chegar em casa

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
    • Por .Smile
      Olá a todos, atualmente estou aprendendo programação e desenvolvendo um Servidor, uma das coisas chatas a se fazer era ficar alternando entre um Personagem PLAYER e outro GOD para testar algumas coisas, com esses 2 scripts eu resolvi esse problema.

      É um script simples que eu pretendo futuramente melhorá-lo.

      What does the command do?
      /adm - Transforma seu personagem em GOD e kika ele
      /player - Transforma seu personagem em PLAYER e kika ele
       
      LEMBRANDO QUE: Não é qualquer que consegue usar esse comando, você precisa ter dado a sua conta o acesso de god, assim podendo ter esse comando num Servidor Online com outros jogadores sem que os mesmos possam usar.

      \data\talkactions
      talkactions.xml
      Code: <talkaction words="/player" script="player.lua" /> <talkaction words="/adm" script="adm.lua" /> \data\talkactions\scripts 
      adm.lua
      Code: function onSay(player, words, param) if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local position = player:getPosition() player:setGroup(Group(3)) position:sendMagicEffect(14) player:remove() return false end \data\talkactions\scripts
      player.lua
      function onSay(player, words, param) if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local position = player:getPosition() player:setGroup(Group(1)) position:sendMagicEffect(13) player:remove() return false end  
    • Por DeanWinchester
      Xamp dando o seguinte erro

      ja apaguei oque tinha que apagar no config.lua e não funciona
    • Por maper007
      Boa Noite...
       
      Estou usando o website do Victor (+ recente) porem quando eu compro alguma coisa no shoop... ele n para de chegar na acc os itens ex: eu comprei 1 wand (esta programado para o player receber apos 30 sec) 30 sec depois chega para o player so que sempre depois de 30 sec eu fico recebendo essa wand..... no console n apareceu nenhum erro....
      comoq eu arrumo isso ??
       
      meu servidor é 10.53
       
      shoop (globalevents)
       



       
      fico no aguardo... vlw
    • Por leoleo
      Boa noite amigos, gostaria de pedir ajuda de vocês para terminar um script o qual vou postar aqui no tibiaking.
       
      Estou agarrado desde hoje de manha pois tnão consigo achar uma forma de buscar o house-id
      ja tentei com
       
      getHouseFromPos(pos)
      getTileHouseInfo(pos)
       
      .. e etc ...
       
      Estou usando TFS 1.0
       
      Desde já agradesço
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo