Ir para conteúdo

Featured Replies

Postado

Bom galera, hoje vim aqui trazer pra vocês um sisteminha bem legal que a PxG possui, no entanto, esse sistema eu fiz para um servidor de Tibia, então para vocês usarem em um derivado seria bom adapta-lo, devido a outros sistemas (como o fly do poketibia).

 

Como seria esse sistema? Basicamente você digita o comando !walk e o seu personagem começará a andar na direção em que está virado até encontrar um obstáculo, ou até digitar o comando !walk novamente.

 

Crie um arquivo chamado walk.lua em /data/talkactions/scripts/, e cole isso dentro:

Spoiler

function doStartAutoWalk(cid)
	if not isCreature(cid) or getPlayerStorageValue(cid, 10000) == -1 then return end

	local toPosition = getCreatureLookPosition(cid)
		toPosition.stackpos = 0
	local tileId = getTileThingByPos(toPosition).itemid

	if tileId == 0 or doTileQueryAdd(cid, toPosition) ~= RETURNVALUE_NOERROR then
		setPlayerStorageValue(cid, 10000, -1)
		return
	end

	doMoveCreature(cid, getCreatureLookDir(cid))
	addEvent(doStartAutoWalk, (1000 * getItemInfo(tileId).speed) / getCreatureSpeed(cid), cid)
end

function onSay(cid, words, param, channel)
	if getPlayerStorageValue(cid, 10000) ~= -1 then
		setPlayerStorageValue(cid, 10000, -1)
	else
		setPlayerStorageValue(cid, 10000, 1)
		doStartAutoWalk(cid)
	end
	return true
end

 

 

Em talkactions.xml coloque a tag:

<talkaction words="!walk" event="script" value="walk.lua"/>

 

Em creaturescripts.xml, veja se já tem o evento "logout", caso não tenha coloque:

<event type="logout" name="PlayerLogout" event="script" value="logout.lua"/>

 

Em /data/creaturescripts/scripts/, crie um arquivo chamando logout.lua (caso não tenha) e cole isso dentro:

Spoiler

function onLogout(cid)
	if getPlayerStorageValue(cid, 10000) ~= -1 then
		setPlayerStorageValue(cid, 10000, -1)
	end
	return true
end

 

 

  • Respostas 6
  • Visualizações 2.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Obrigado @KotZletY, não sabia que não precisava registrar o do logout, vou editar o tópico 

Postado

@Noninhouh os callbacks login e logout não precisam ser registradas nos events.

 

Script show, da pra apostar uma corrida, o primeiro que bater em algo deve 100 reais ao outro, kkkkkkk.

Tópico aprovado. Obrigado por compartilha com a comunidade!

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

  • 5 months later...

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