Ir para conteúdo
  • Cadastre-se

(Resolvido)teleporta ao pegar nivel


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

Ex. TFS 1.3;

Base: 

nao sei

 

Qual erro está surgindo/O que você procura?

 

eu estou a procura de um script que quando o player pegar level 10 seja teleportado para local x e mande mensagem em verde na tela

Você tem o código disponível? Se tiver publique-o aqui:

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

Link para o post
Compartilhar em outros sites
6 horas atrás, maurilioCarvalho disse:

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

Ex. TFS 1.3;

Base: 

nao sei

 

Qual erro está surgindo/O que você procura?

 

eu estou a procura de um script que quando o player pegar level 10 seja teleportado para local x e mande mensagem em verde na tela

Você tem o código disponível? Se tiver publique-o aqui:



 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

 

Crie um arquivo com o nome de teleportLevel.lua em creaturescript e adicione


local Config = {
	Level = 10,
	Pos = {x = 1000, y = 1000, z = 7},
	Message = "Voce foi teleportado",
	Storage = 29394,
}

function onAdvance(player, skill, oldlevel, newlevel)
	if player:getLevel() >= Config.Level and player:getStorageValue(Config.Storage) ~= 1 then
		player:setStorageValue(Config.Storage, 1)
		player:teleporTo(Position(Config.Pos))
		player:sendTextMessage(MESSAGE_STATUS_SMALL, Config.Message)
	end
	return true
end

 

Adicione a linha no creaturescripts.xml

	<!-- Recompense by level -->
	<event type="advance" name="teleportlvl" script="teleportLevel.lua"/>

 

E adicione a linha no login.lua

player:registerEvent("teleportlvl")


Não testei... Mas testa ai e me diga se funcionou...

Link para o post
Compartilhar em outros sites
1 hora atrás, maurilioCarvalho disse:

@tataboy67
onde fica a pasta login.lua? 
eu coloquei na pasta /creaturescripts/scripts/login.lua 
mas deu erro 

 

creaturescripts/scripts/login.lua

Você deve abrir o login.lua no bloco de notas ou notepad e procurar por esta parte:

image.thumb.png.2a19ebf2067fb7be49dbbefa1f0790e3.png

 

Pode ser que o seu esteja diferente, mas deve adicionar a linha:

player:registerEvent("teleportlvl")

Junto com as outras.

 

 

 

 

 

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

qual a versão do seu servidor? 8.60?

O dele é 0.4 :/ converte ae Vod <3 lindo kkkk

Ele falou ali que era 1.3 pensei q realmente fosse :/ 

Link para o post
Compartilhar em outros sites
  • Solução

tpadvance.lua

local pos, level = {x = 154, y = 60, z = 7}, 10 -- pos e level
local msg = "oi voce foi teleportado"
local storage = 15771
function onAdvance(cid, skill, oldLevel, newLevel)
    if skill == SKILL__LEVEL and newLevel == level and getPlayerStorageValue(cid, storage) <= 0 then
        doTeleportThing(cid, pos)
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
        setPlayerStorageValue(cid, storage, 1)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
    end
    return true
end

 

adc isso no seu login.lua

 

registerCreatureEvent(cid, "TeleportAdvance")

 

TAG

<event type="advance" name="TeleportAdvance" event="script" value="tpadvance.lua"/>

 

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

EDITADO, faltou a função pra mandar a msg verde kk

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
17 minutos atrás, Vodkart disse:

tpadvance.lua


local pos, level = {x = 154, y = 60, z = 7}, 10 -- pos e level
local storage = 15771
function onAdvance(cid, skill, oldLevel, newLevel)
    if skill == SKILL__LEVEL and newLevel == level and getPlayerStorageValue(cid, storage) <= 0 then
        doTeleportThing(cid, pos)
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
        setPlayerStorageValue(cid, storage, 1)
    end
    return true
end

 

adc isso no seu login.lua

 


registerCreatureEvent(cid, "TeleportAdvance")

 

TAG


<event type="advance" name="TeleportAdvance" event="script" value="tpadvance.lua"/>

 

Funcionou vlw

@Vodkart a mensagem aparece mas só no chat "server Log" nao aparece na tela pq quando mata o bixo o loot aparece logo em seguida acho q se colocar um pequeno delay na msg ela aparece dps do loot e assim consegue ficar visivel

 

Editado por maurilioCarvalho
Eu tinha escrevido a localizaçao errada deu certo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

troca

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)

por

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, msg)


 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo