SU
dúvida

Como criar icones no Mini Map do meu Ot? (Só que para todos)

Por Superion, 14 de nov. de 2013 em Scripts

resolvido
otserv
13
1.5k
SuperionS
14 de novembro de 2013 às 18:34

Tem algums Ot's que eu já joguei, que o mini map já vem todo marcado com os icones, indicando tudo cértinho onde fica tal loja e etc.

Isso seria bem útil para guiar os iniciantes, melhor do que ter que ficar adicionando aquelas plaquinhas pela cidade (as Signs).

Como que faz isso?

 

Obrigado, estou no aguardo.


Reviver tópico! ;3

Editado Novembro 14 por Superion

ScythePhantomS
14 de novembro de 2013 às 20:56

Tem algums Ot's que eu já joguei, que o mini map já vem todo marcado com os icones, indicando tudo cértinho onde fica tal loja e etc.

Isso seria bem útil para guiar os iniciantes, melhor do que ter que ficar adicionando aquelas plaquinhas pela cidade (as Signs).

Como que faz isso?

 

Obrigado, estou no aguardo.

Reviver tópico! ;3

 

Eu uso este, é um mod.

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="map-marks" version="1.0" author="slawkens" contact="slawkens@gmail.com" enabled="yes">
<config name="map-marks-config"><![CDATA[
-- increase this value after adding new marks, so player can step again and receive new map marks
version = 3
storage = 3007
marks = {
{mark = 5, pos = {x = 201, y = 247, z = 7}, desc = "Main City Temple"},
{mark = 2, pos = {x = 190, y = 245, z = 7}, desc = "Temple"},
}
]]></config>
<movevent type="StepIn" actionid="3015" event="script"><![CDATA[
domodlib('map-marks-config')
local config = {
version = version,
storage = storage,
marks = marks
}
local f_addMark = doPlayerAddMapMark
if(not f_addMark) then f_addMark = doAddMapMark end
function onStepIn(cid, item, position, fromPosition)
if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then
return TRUE
end
for _, m in pairs(config.marks) do
f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "")
end
setPlayerStorageValue(cid, config.storage, config.version)
return TRUE
end
]]></movevent>

</mod>

 

 

Só é colocar a position e o nome que aparecerá no look, quantos aos "marks" você define ao seu gosto.

 

Lista:

mapmarks.png

 

Lembrando... caso altere algo, mude a version, de 1 para 2, de 2 para 3 e assim sucessivamente, espero ter o ajudado, Obrigado.

SuperionS
14 de novembro de 2013 às 21:17

Perfeito! Era exatamente isso que eu queria.

Testado e aprovado.

REP+ e muito obrigado.

Editado Novembro 14 por Superion

ScythePhantomS
14 de novembro de 2013 às 21:25

Perfeito! Era exatamente isso que eu queria.

Testado e aprovado.

REP+ e obrigado por me ajudar.

 

Nada brother, obrigado você.

SuperionS
14 de novembro de 2013 às 21:32

 

Perfeito! Era exatamente isso que eu queria.

Testado e aprovado.

REP+ e obrigado por me ajudar.

 

Nada brother, obrigado você.

 

 

Bom cara, funcinou no meu Baiak de testes, já no meu Ot normal que no caso é um TFS 0.4 não funcionou, simplesmente não apareceu nenhum erro no Distro (quando carrega), ai entrei no Ot e fui até o local, mas não apareceu o icone no mapa.

Oque póde ser isso?

Editado Novembro 14 por Superion

ScythePhantomS
14 de novembro de 2013 às 21:45

Superion, em 14 Nov 2013 - 21:32, disse:

 

 

ScythePhantom, em 14 Nov 2013 - 21:25, disse:

 

 

Superion, em 14 Nov 2013 - 21:17, disse:

 

Perfeito! Era exatamente isso que eu queria.

Testado e aprovado.

REP+ e obrigado por me ajudar.

Nada brother, obrigado você.

Bom cara, funcinou no meu Baiak de testes, já no meu Ot normal que no caso é um TFS 0.4 não funcionou, simplesmente não apareceu nenhum erro no Distro (quando carrega), ai entrei no Ot e fui até o local, mas não apareceu o icone no mapa.

Oque póde ser isso?

Muda essa parte:

version = 3

 

Para:

version = 4

 

Sempre que você alterar ou adicionar algo, mude a versão á aumentando, teste aí, caso não seja isso, realmente não sei :(

Editado Novembro 14 por ScythePhantom

SuperionS
14 de novembro de 2013 às 21:55

Nada...

O nome do arquivo tem que ser algum expecifico para que o Ot reconlheça o Mod?

 

O Script tá assim:

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="map-marks" version="1.0" author="slawkens" contact="slawkens@gmail.com" enabled="yes">
<config name="map-marks-config"><![CDATA[
-- increase this value after adding new marks, so player can step again and receive new map marks
version = 4

storage = 3007

marks = {
{mark = 5, pos = {x = 2505, y = 2505, z = 7}, desc = "Main City Temple"},
{mark = 2, pos = {x = 2510, y = 2510, z = 7}, desc = "Temple"},
}
]]></config>

<movevent type="StepIn" actionid="3015" event="script"><![CDATA[
domodlib('map-marks-config')

local config = {
version = version,
storage = storage,
marks = marks
}

local f_addMark = doPlayerAddMapMark
if(not f_addMark) then f_addMark = doAddMapMark end

function onStepIn(cid, item, position, fromPosition)
if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then
return TRUE
end

for _, m in pairs(config.marks) do
f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "")
end

setPlayerStorageValue(cid, config.storage, config.version)
return TRUE
end
]]></movevent>

</mod>

Editado Novembro 14 por Superion

ScythePhantomS
14 de novembro de 2013 às 21:59

Nada...

O nome do arquivo tem que ser algum expecifico para que o Ot reconlheça o Mod?

 

O Script tá assim:

 

<?xml version="1.0" encoding="UTF-8"?>

 

<mod name="map-marks" version="1.0" author="slawkens" contact="slawkens@gmail.com" enabled="yes">

<config name="map-marks-config"><![CDATA[

-- increase this value after adding new marks, so player can step again and receive new map marks

version = 4

 

storage = 3007

 

marks = {

{mark = 5, pos = {x = 2505, y = 2505, z = 7}, desc = "Main City Temple"},

{mark = 2, pos = {x = 2510, y = 2510, z = 7}, desc = "Temple"},

}

]]></config>

 

<movevent type="StepIn" actionid="3015" event="script"><![CDATA[

domodlib('map-marks-config')

 

local config = {

version = version,

storage = storage,

marks = marks

}

 

local f_addMark = doPlayerAddMapMark

if(not f_addMark) then f_addMark = doAddMapMark end

 

function onStepIn(cid, item, position, fromPosition)

if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then

return TRUE

end

 

for _, m in pairs(config.marks) do

f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "")

end

 

setPlayerStorageValue(cid, config.storage, config.version)

return TRUE

end

]]></movevent>

 

</mod>

 

Não sei, talvez seja alguma função do tsf... tente esse:

 

movements/scripts/mapmarks.lua

 

 

local config = {

storage = 9432,

version = 1, -- Increase this value after adding new marks, so player can step again and receive new map marks

marks = {

{mark = 5, pos = {x = 166, y = 439, z = 7}, desc = "Main City Temple"},

{mark = 7, pos = {x = 300, y = 200, z = 7}, desc = "NPC with tools!"},

{mark = 1, pos = {x = 666, y = 666, z = 6}}

}

}

 

local f_addMark = doPlayerAddMapMark

if(not f_addMark) then f_addMark = doAddMapMark end

 

function onStepIn(cid, item, position, fromPosition)

if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then

return

end

 

for _, m in pairs(config.marks) do

f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "")

end

setPlayerStorageValue(cid, config.storage, config.version)

return TRUE

end

 

 

movements/movements.xml

<movevent type="StepIn" actionid="SUA ACTION-ID" event="script" value="mapmarks.lua"/>

SuperionS
14 de novembro de 2013 às 22:15

"SUA ACTION-ID" coloca igual o do Storage? Que no caso é 9432.

ScythePhantomS
14 de novembro de 2013 às 22:18

"SUA ACTION-ID" coloca igual o do Storage? Que no caso é 9432.

 

Não coloque a action-id que você deseja, depois coloque a mesma no local desejado do mapa... e pronto.

SuperionS
14 de novembro de 2013 às 22:35

Agora foi, valew cara.

Tópico reportado para que movam.

ScythePhantomS
14 de novembro de 2013 às 22:40

Agora foi, valew cara.

Tópico reportado para que movam.

 

Beleza cara, prazer ajudá-lo.

AlexclusiveA
14 de novembro de 2013 às 23:57

Tópico movido para a seção de dúvidas e pedidos resolvidos.