Ir para conteúdo
  • Cadastre-se

[Resolvido] [Pedido] Script que após matar monstro aparece um teleport.


Posts Recomendados

Olá, então hoje estou aqui pedindo um script para quem manja do assunto, preciso de um script que ao matar x criatura, abre um teleport, bom eu estou pedindo esse script por que o do meu OTServ, que é a quest da Firewalker Boots não está abrindo nenhum teleport após matar o bixo lá então por isso vim aqui pedir obrigado!

Editado por Tiag017 (veja o histórico de edições)

ta3.gif

Melhor, comunidade de Tibia, e OTServ Parabéns TibiaKing por você existir.

Link para o post
Compartilhar em outros sites

Área incorreta, tópico movido.

Mais atenção na próxima vez, tópicos de dúvidas e pedidos são feitos na seção OTServ > Suporte OTServ.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

cara farei tu tutorial rapido 

 

1 crie seu monstro normalmalmente copie o arquivo xml de um monstro em C:\Users\Usuário\Desktop\naruto\Naruto Online\data\monster e renomeie para o nome do monstro q vc quer  e edite o basico como skills look type experience speed entre outros 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="nome do monstro" nameDescription="nome do monstro" race="blood" experience="1666" speed="310" manacost="0">
<health now="25000" max="25000"/>
<look type="160" head="0" body="94" legs="79" feet="79" corpse="2916"/>
<targetchange interval="5000" chance="8"/>
<strategy attack="90" defense="20"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="1"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="1"/>
<flag targetdistance="1"/>
<flag staticattack="65"/>
<flag runonhealth="0"/>
</flags>
    <script>
    <event name="nome da sua quest"/>
    </script>
<attacks>
<attack name="melee" interval="1000" min="-1180" max="-1400"/>
<attack name="manadrain" interval="2500" chance="10" range="7" min="-860" max="-1215">
<attribute key="areaEffect" value="redshimmer"/>
 
</attack>
<attack name="Venenodark" interval="5000" chance="30" radius="4" target="0" min="-440" max="-600">
</attack>
<attack name="Fogofogo" interval="2000" chance="30" radius="4" target="0" min="-440" max="-600">
</attack>
</attacks>
<defenses armor="80" defense="80">
<defense name="healing" interval="4000" chance="40" min="300" max="300">
<attribute key="areaEffect" value="blueshimmer"/>
</defense>
<defense name="speed" interval="4000" chance="40" speedchange="450" duration="8000">
<attribute key="areaEffect" value="redshimmer"/>
</defense>
</defenses>
<elements>
<element physicalPercent="20"/>
<element icePercent="10"/>
<element holyPercent="-15"/>
<element deathPercent="35"/>
</elements>
<immunities>
<immunity paralyze="1"/>
<immunity lifedrain="1"/>
<immunity outfit="1"/>
<immunity drunk="1"/>
<immunity invisible="1"/>
</immunities>
<voices interval="5000" chance="10">
<voice sentence="Hahahaha, estupido, vou te esmagar!" yell="1"/>
<voice sentence="Voce nao tem chanceee... vou te mataaar"/>
</voices>
<loot>
<item id="2666" countmax="5" chance="20000"/><!-- meat -->
<item id="2152" countmax="30" chance="10000"/><!-- dolar=verde -->
<item id="2145" countmax="2" chance="70000"/><!-- pilula do soldado -->
</loot>
</monster>
 
 
2-criado seu monstro adicione assim em monsters.xml
 
<monster name="nome do monstro" file="nome do documento que vc acabou de criar.xml"/>
 
exemplo
 
<monster name="meu monstro" file="meu monstro.xml"/>
 
onde esta destacado de vermelho sera o nome do arquivo
va em creaturescript depois em script e copia um arquivo .lua de la qualquer e mude o nome pro nome da sua quest igual colocasse no monstro
e adicione isto nele
 
 
local tpId = 5023
local tps = {
        ["Nome do monstro"] = {pos = {x=1277, y=1075, z=7}, toPos = {x=1275, y=1061, z=7}, time = 10},
}
 
function removeTp(tp)
        local t = getTileItemById(tp.pos, tpId)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(tp.pos, CONST_ME_POFF)
        end
end
 
function onDeath(cid)
        local tp = tps[getCreatureName(cid)]
        if tp then
                doCreateTeleport(tpId, tp.toPos, tp.pos)
                doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                addEvent(removeTp, tp.time*1000, tp)
        end
        return TRUE
end

 

 

 

3- Em vermelho o id do teleport que aparecera e so ver no map editor qual teleport vc quer

em azul o nome da criatura

roxo onde o teleport  ira aparecer

laranja pra onde ira te teleportar

 

4-depois disso vai em creaturescripts.xml e adicione

 

<event type="death" name="nome da quest" event="script" value="nome do arquivo.lua"

 

vermelho nome da quest

azul nome do arquivo.lua que voce criou

 

Pronto agora so ligar o server

lembrando as magias , loot, entre otros pode mudar pois este meu monstro e de ot naruto 

mais o sistema de teleport funciona

Editado por leessandro (veja o histórico de edições)

AJUDEI? DA REP +

 

original.giftumblr_m84zj0xTC31qi8ipgo1_400.gif

Link para o post
Compartilhar em outros sites

Obrigado, TonyHal vou utilizar o seu mais queria agradecer o outro usuario tambem, peço esforço em querer ajudar obrigado.

ta3.gif

Melhor, comunidade de Tibia, e OTServ Parabéns TibiaKing por você existir.

Link para o post
Compartilhar em outros sites

Dúvida sanada, tag adicionada.

Tópico movido!

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites
  • 2 months later...
  • 2 years later...
Em 22/07/2013 17:31:16, leessandro disse:

cara farei tu tutorial rapido 

 

1 crie seu monstro normalmalmente copie o arquivo xml de um monstro em C:\Users\Usuário\Desktop\naruto\Naruto Online\data\monster e renomeie para o nome do monstro q vc quer  e edite o basico como skills look type experience speed entre outros 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="nome do monstro" nameDescription="nome do monstro" race="blood" experience="1666" speed="310" manacost="0">
<health now="25000" max="25000"/>
<look type="160" head="0" body="94" legs="79" feet="79" corpse="2916"/>
<targetchange interval="5000" chance="8"/>
<strategy attack="90" defense="20"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="1"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="1"/>
<flag targetdistance="1"/>
<flag staticattack="65"/>
<flag runonhealth="0"/>
</flags>
    <script>
    <event name="nome da sua quest"/>
    </script>
<attacks>
<attack name="melee" interval="1000" min="-1180" max="-1400"/>
<attack name="manadrain" interval="2500" chance="10" range="7" min="-860" max="-1215">
<attribute key="areaEffect" value="redshimmer"/>
 
</attack>
<attack name="Venenodark" interval="5000" chance="30" radius="4" target="0" min="-440" max="-600">
</attack>
<attack name="Fogofogo" interval="2000" chance="30" radius="4" target="0" min="-440" max="-600">
</attack>
</attacks>
<defenses armor="80" defense="80">
<defense name="healing" interval="4000" chance="40" min="300" max="300">
<attribute key="areaEffect" value="blueshimmer"/>
</defense>
<defense name="speed" interval="4000" chance="40" speedchange="450" duration="8000">
<attribute key="areaEffect" value="redshimmer"/>
</defense>
</defenses>
<elements>
<element physicalPercent="20"/>
<element icePercent="10"/>
<element holyPercent="-15"/>
<element deathPercent="35"/>
</elements>
<immunities>
<immunity paralyze="1"/>
<immunity lifedrain="1"/>
<immunity outfit="1"/>
<immunity drunk="1"/>
<immunity invisible="1"/>
</immunities>
<voices interval="5000" chance="10">
<voice sentence="Hahahaha, estupido, vou te esmagar!" yell="1"/>
<voice sentence="Voce nao tem chanceee... vou te mataaar"/>
</voices>
<loot>
<item id="2666" countmax="5" chance="20000"/><!-- meat -->
<item id="2152" countmax="30" chance="10000"/><!-- dolar=verde -->
<item id="2145" countmax="2" chance="70000"/><!-- pilula do soldado -->
</loot>
</monster>
 
 
2-criado seu monstro adicione assim em monsters.xml
 
<monster name="nome do monstro" file="nome do documento que vc acabou de criar.xml"/>
 
exemplo
 
<monster name="meu monstro" file="meu monstro.xml"/>
 
onde esta destacado de vermelho sera o nome do arquivo
va em creaturescript depois em script e copia um arquivo .lua de la qualquer e mude o nome pro nome da sua quest igual colocasse no monstro
e adicione isto nele
 
 
local tpId = 5023
local tps = {
        ["Nome do monstro"] = {pos = {x=1277, y=1075, z=7}, toPos = {x=1275, y=1061, z=7}, time = 10},
}
 
function removeTp(tp)
        local t = getTileItemById(tp.pos, tpId)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(tp.pos, CONST_ME_POFF)
        end
end
 
function onDeath(cid)
        local tp = tps[getCreatureName(cid)]
        if tp then
                doCreateTeleport(tpId, tp.toPos, tp.pos)
                doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                addEvent(removeTp, tp.time*1000, tp)
        end
        return TRUE
end

 

 

 

3- Em vermelho o id do teleport que aparecera e so ver no map editor qual teleport vc quer

em azul o nome da criatura

roxo onde o teleport  ira aparecer

laranja pra onde ira te teleportar

 

4-depois disso vai em creaturescripts.xml e adicione

 

<event type="death" name="nome da quest" event="script" value="nome do arquivo.lua"

 

vermelho nome da quest

azul nome do arquivo.lua que voce criou

 

Pronto agora so ligar o server

lembrando as magias , loot, entre otros pode mudar pois este meu monstro e de ot naruto 

mais o sistema de teleport funciona

 

 

 

Não testei ainda, se funcionar dou rep+ 

Queria fazer 1 pedido, teria como adaptar o script pra funcionar da seguinte maneira:  o portal só abre se o  pokemon for morto no local da quest, pq se não for assim só posso colocar pokemons que não tem em nenhum outro respaw, se não tiver ideia de como fazer eu pensei em uma, mas não entendo de script, é só uma ideia base :

 

  if pokemondeath in positions{ dai aqui eu coloco todas as coordenadas de cada sqm da quest ( é um quadrado não muito grande ) se o pokemon morrer em um desses sqm o portal abre se não, não abre

Em 22/07/2013 17:57:39, TonyHalk disse:


tp.lua
local tpId = 1387
local tps = {
	["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, z=7}, time = 30},
}

function removeTp(tp)
	local t = getTileItemById(tp.pos, tpId)
	if t then
		doRemoveItem(t.uid, 1)
		doSendMagicEffect(tp.pos, CONST_ME_POFF)
	end
end

function onDeath(cid)
	local tp = tps[getCreatureName(cid)]
	if tp then
		doCreateTeleport(tpId, tp.toPos, tp.pos)
		doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
		addEvent(removeTp, tp.time*1000, tp)
	end
	return TRUE
end
explicação:

["Orshabaal"] --------- Nome do monstro
pos = {x=761, y=57, z=7} ----------- onde o Teleport irá abrir
toPos = {x=767, y=52, z=7} ------- onde o teleport vai leva eles
time = 30 ------------ tempo em segundos que o teleport ficará aberto

em creaturescript adicione:

<event type="death" name="tp" event="script" value="tp.lua"/>
no arquivo.xml do seu monstro adicione:

<script>
<event name="tp"/>
</script>

acho que é mais facil :3

 

 

 

Não testei ainda, se funcionar dou rep+ 

Queria fazer 1 pedido, teria como adaptar o script pra funcionar da seguinte maneira:  o portal só abre se o  pokemon for morto no local da quest, pq se não for assim só posso colocar pokemons que não tem em nenhum outro respaw, se não tiver ideia de como fazer eu pensei em uma, mas não entendo de script, é só uma ideia base :

 

  if pokemondeath in positions{ dai aqui eu coloco todas as coordenadas de cada sqm da quest ( é um quadrado não muito grande ) se o pokemon morrer em um desses sqm o portal abre se não, não abre

Link para o post
Compartilhar em outros sites
  • 6 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

×   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