[Resolvido] [Pedido] Adaptar script de trap

LeoTK
Por LeoTK
em Resolvidos

LeoTK

Leo
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/12/11Posts: 1249Gênero: Masculino

Fala guys estava vagando pela net e achei esse script que faz com que mostre o tempo que dura o trap e achei muito útil para colocar no meu servidor porém sei muito pouco de script então tentei diversas vezes porém não consegui adaptar o código no meu script então vim até aqui para pedir uma ajuda a quem souber como adaptar esse código para o meu script

 

o código é esse

 

local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)function onCastSpell(cid, var)	doShowTimeByPos(cid, variantToPosition(var), 20, 20) -- essa linha aqui	return doCombat(cid, combat, var)end

 

o script é esse

function isWalkable(pos, creature, pz, proj)if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 thenreturn falseendlocal creature = getTopCreature(pos)if creature.type > 0 thenreturn falseendif getTilePzInfo(pos) and not pz thenreturn falseendlocal n = not proj and 3 or 2for i = 0, 255 dopos.stackpos = ilocal tile = getTileThingByPos(pos)if tile.itemid ~= 0 and not isCreature(tile.uid) thenif hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) thenreturn falseendendendreturn trueendfunction onCastSpell(cid, var)if exhaustion.check(cid, 5750) == TRUE thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5750) .. " segundos para usar novamente.")return falseendexhaustion.set(cid, 5750, 8)local pos = getThingPosition(getCreatureTarget(cid))for x = -1,1 dofor y = -1,1 doposicao = {x = pos.x + x, y = pos.y + y, z = pos.z}if isWalkable(posicao) and posicao ~= {x = pos.x,y = pos.y,z = pos.z} thendoCreateItem(5750,1,posicao)endendendaddEvent(function()for x = -1,1 dofor y = -1,1 doposicao = {x = pos.x + x, y = pos.y + y, z = pos.z}if getTileItemById(posicao, 5750).uid > 0 thendoRemoveItem(getTileItemById(posicao, 5750).uid)endendendend,5*1000)return trueend

 

A função do código e fazer com que mostre o tempo de duração do trap porém não consegui de forma alguma adaptar o código para o script estou usando source 0.3.6

 ?️ Projeto NTO NS ?️

? Detalhes ?

?️ Mapa próprio em produção ?️

?️ Versão: 8.60 ?️

? War System ?

⚔️ Jutsus Próprios baseado no anime ⚔️

? Itens com as características e efeitos do anime ?

? Para mais detalhes acesse as redes sociais do servidor abaixo ?

? Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto ?

 

? Redes Sociais ?

? Facebook ?

? Youtube ?
? Discord ?

 

? Tutoriais / Conteúdos ?

♨️ Clique Aqui ♨️

 

 

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

Gera algum erro?

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

LeoTK

Leo
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/12/11Posts: 1249Gênero: Masculino
1 hora atrás, Poccnn disse:

Gera algum erro?

então eu testei de várias formas e deu vários erros por colocar em lugares errados eu creio .... então vim pedir ajuda de alguém mais experiente ^^

 ?️ Projeto NTO NS ?️

? Detalhes ?

?️ Mapa próprio em produção ?️

?️ Versão: 8.60 ?️

? War System ?

⚔️ Jutsus Próprios baseado no anime ⚔️

? Itens com as características e efeitos do anime ?

? Para mais detalhes acesse as redes sociais do servidor abaixo ?

? Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto ?

 

? Redes Sociais ?

? Facebook ?

? Youtube ?
? Discord ?

 

? Tutoriais / Conteúdos ?

♨️ Clique Aqui ♨️

 

 

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

Quais foram os erros que gerou?

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

Leoxtibia

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/06/08Posts: 489Gênero: Masculino
6 horas atrás, Brunds disse:

então eu testei de várias formas e deu vários erros por colocar em lugares errados eu creio .... então vim pedir ajuda de alguém mais experiente ^^

 

Se quiser que mande a mensagem em todas as posições ao redor do target, adicione depois dessa linha 

doCreateItem(5750,1,posicao)

Isso:

doShowTimeByPos(cid, posicao, 5, COLOR_RED)

Se quiser só em uma posição que esteja ao redor do target, adicione a mesma linha acima, antes de:

addEvent(function()

Se quiser que o tempo seja mostrado na posição do player, adicione antes da mesma linha acima:

 

doShowTimeByPos(cid, getPlayerPosition(cid), 5, COLOR_RED)

E claro, não esqueça da função. Melhor escrevê-la assim:

 

function doShowTimeByPos(uid, pos, duration, type)type = type or 20    for i = 0, (duration - 1) do    addEvent(function()        if isCreature(uid) then            doSendAnimatedText(pos, tostring(duration - i), type)        end    end, i * 1000)    endreturn true

 

sergiped.gif

LeoTK

Leo
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/12/11Posts: 1249Gênero: Masculino
1 hora atrás, Leoxtibia disse:

 

Se quiser que mande a mensagem em todas as posições ao redor do target, adicione depois dessa linha 

doCreateItem(5750,1,posicao)

Isso:

doShowTimeByPos(cid, posicao, 5, COLOR_RED)

Se quiser só em uma posição que esteja ao redor do target, adicione a mesma linha acima, antes de:

addEvent(function()

Se quiser que o tempo seja mostrado na posição do player, adicione antes da mesma linha acima:

 

doShowTimeByPos(cid, getPlayerPosition(cid), 5, COLOR_RED)

E claro, não esqueça da função. Melhor escrevê-la assim:

 

function doShowTimeByPos(uid, pos, duration, type)type = type or 20    for i = 0, (duration - 1) do    addEvent(function()        if isCreature(uid) then            doSendAnimatedText(pos, tostring(duration - i), type)        end    end, i * 1000)    endreturn true

 

erro 

 

[08/08/2017 23:53:16] [Error - LuaScriptInterface::loadFile] data/spells/scripts/hashirama/mokuton prision.lua:67: 'end' expected (to close 'function' at line 29) near '<eof>'

[08/08/2017 23:53:16] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/hashirama/mokuton prision.lua)

[08/08/2017 23:53:16] data/spells/scripts/hashirama/mokuton prision.lua:67: 'end' expected (to close 'function' at line 29) near '<eof>'

 

function isWalkable(pos, creature, pz, proj)if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 thenreturn falseendlocal creature = getTopCreature(pos)if creature.type > 0 thenreturn falseendif getTilePzInfo(pos) and not pz thenreturn falseendlocal n = not proj and 3 or 2for i = 0, 255 dopos.stackpos = ilocal tile = getTileThingByPos(pos)if tile.itemid ~= 0 and not isCreature(tile.uid) thenif hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) thenreturn falseendendendreturn trueendfunction onCastSpell(cid, var)if exhaustion.check(cid, 5750) == TRUE thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5750) .. " segundos para usar novamente.")return falseendexhaustion.set(cid, 5750, 8)local pos = getThingPosition(getCreatureTarget(cid))for x = -1,1 dofor y = -1,1 doposicao = {x = pos.x + x, y = pos.y + y, z = pos.z}if isWalkable(posicao) and posicao ~= {x = pos.x,y = pos.y,z = pos.z} thendoCreateItem(5750,1,posicao)function doShowTimeByPos(uid, pos, duration, type)type = type or 20    for i = 0, (duration - 1) do    addEvent(function()        if isCreature(uid) then            doSendAnimatedText(pos, tostring(duration - i), type)        end    end, i * 1000)    endreturn trueendendendaddEvent(function()for x = -1,1 dofor y = -1,1 doposicao = {x = pos.x + x, y = pos.y + y, z = pos.z}if getTileItemById(posicao, 5750).uid > 0 thendoRemoveItem(getTileItemById(posicao, 5750).uid)endendendend,5*1000)return trueend

 

 ?️ Projeto NTO NS ?️

? Detalhes ?

?️ Mapa próprio em produção ?️

?️ Versão: 8.60 ?️

? War System ?

⚔️ Jutsus Próprios baseado no anime ⚔️

? Itens com as características e efeitos do anime ?

? Para mais detalhes acesse as redes sociais do servidor abaixo ?

? Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto ?

 

? Redes Sociais ?

? Facebook ?

? Youtube ?
? Discord ?

 

? Tutoriais / Conteúdos ?

♨️ Clique Aqui ♨️

 

 

Leoxtibia

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/06/08Posts: 489Gênero: Masculino

@Brunds Na hora de escrever, esqueci do end. E não coloque a função dentro da outra. A função abaixo fica fora. 

 

 
function doShowTimeByPos(uid, pos, duration, type)
type = type or 20
    for i = 0, (duration - 1) do
    addEvent(function()
        if isCreature(uid) then
            doSendAnimatedText(pos, tostring(duration - i), type)
        end
    end, i * 1000)
    end
return true
end

 

sergiped.gif

LeoTK

Leo
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/12/11Posts: 1249Gênero: Masculino
Em 09/08/2017 at 00:56, Leoxtibia disse:

@Brunds Na hora de escrever, esqueci do end. E não coloque a função dentro da outra. A função abaixo fica fora. 

 


 
function doShowTimeByPos(uid, pos, duration, type)
type = type or 20
    for i = 0, (duration - 1) do
    addEvent(function()
        if isCreature(uid) then
            doSendAnimatedText(pos, tostring(duration - i), type)
        end
    end, i * 1000)
    end
return true
end

 

[10/08/2017 21:50:43] data/spells/scripts/hashirama/mokuton prision.lua:onCastSpell
[10/08/2017 21:50:43] Description: 
[10/08/2017 21:50:43] data/spells/scripts/hashirama/mokuton prision.lua:43: attempt to call global 'doShowTimeByPos' (a nil value)
[10/08/2017 21:50:43] stack traceback:
[10/08/2017 21:50:43]     data/spells/scripts/hashirama/mokuton prision.lua:43: in function <data/spells/scripts/hashirama/mokuton prision.lua:29>
 

 

Spoiler

function isWalkable(pos, creature, pz, proj)

if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
return false
end

local creature = getTopCreature(pos)
if creature.type > 0 then
return false
end

if getTilePzInfo(pos) and not pz then
return false
end

local n = not proj and 3 or 2
for i = 0, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if tile.itemid ~= 0 and not isCreature(tile.uid) then
if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
return false
end
end
end
return true
end

function onCastSpell(cid, var)

if exhaustion.check(cid, 5750) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5750) .. " segundos para usar novamente.")
return false
end

exhaustion.set(cid, 5750, 8)
local pos = getThingPosition(getCreatureTarget(cid))
for x = -1,1 do
for y = -1,1 do
posicao = {x = pos.x + x, y = pos.y + y, z = pos.z}
if isWalkable(posicao) and posicao ~= {x = pos.x,y = pos.y,z = pos.z} then
doCreateItem(5750,1,posicao)
doShowTimeByPos(cid, posicao, 5, COLOR_RED)
end
end
end
function doShowTimeByPos(uid, pos, duration, type)
type = type or 20
    for i = 0, (duration - 1) do
    addEvent(function()
        if isCreature(uid) then
            doSendAnimatedText(pos, tostring(duration - i), type)
        end
    end, i * 1000)
    end
return true
end
addEvent(function()
for x = -1,1 do
for y = -1,1 do
posicao = {x = pos.x + x, y = pos.y + y, z = pos.z}
if getTileItemById(posicao, 5750).uid > 0 then
doRemoveItem(getTileItemById(posicao, 5750).uid)
end
end
end
end,5*1000)
return true
end

 

Obs: não aparece os segundos e ao usar vai criando um trap por vez

 ?️ Projeto NTO NS ?️

? Detalhes ?

?️ Mapa próprio em produção ?️

?️ Versão: 8.60 ?️

? War System ?

⚔️ Jutsus Próprios baseado no anime ⚔️

? Itens com as características e efeitos do anime ?

? Para mais detalhes acesse as redes sociais do servidor abaixo ?

? Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto ?

 

? Redes Sociais ?

? Facebook ?

? Youtube ?
? Discord ?

 

? Tutoriais / Conteúdos ?

♨️ Clique Aqui ♨️

 

 

Leoxtibia

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/06/08Posts: 489Gênero: Masculino

@Brunds Quando eu disse "fora", queria dizer FORA!! kk

 

Spoiler
function isWalkable(pos, creature, pz, proj)
if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
return false
end

local creature = getTopCreature(pos)
if creature.type > 0 then
return false
end

if getTilePzInfo(pos) and not pz then
return false
end

local n = not proj and 3 or 2
for i = 0, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if tile.itemid ~= 0 and not isCreature(tile.uid) then
if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
return false
end
end
end
return true
end

function onCastSpell(cid, var)

if exhaustion.check(cid, 5750) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 5750) .. " segundos para usar novamente.")
return false
end

exhaustion.set(cid, 5750, 8)
local pos = getThingPosition(getCreatureTarget(cid))
for x = -1,1 do
for y = -1,1 do
posicao = {x = pos.x + x, y = pos.y + y, z = pos.z}
if isWalkable(posicao) and posicao ~= {x = pos.x,y = pos.y,z = pos.z} then
doCreateItem(5750,1,posicao)
doShowTimeByPos(cid, posicao, 5, COLOR_RED)
end
end
end
addEvent(function()
for x = -1,1 do
for y = -1,1 do
posicao = {x = pos.x + x, y = pos.y + y, z = pos.z}
if getTileItemById(posicao, 5750).uid > 0 then
doRemoveItem(getTileItemById(posicao, 5750).uid)
end
end
end
end,5*1000)
return true
end


function doShowTimeByPos(uid, pos, duration, type)
type = type or 20
	for i = 0, (duration - 1) do
	addEvent(function()
		if isCreature(uid) then
			doSendAnimatedText(pos, tostring(duration - i), type)
		end
	end, i * 1000)
	end
return true
end

 

 

sergiped.gif

LeoTK

Leo
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/12/11Posts: 1249Gênero: Masculino

@Leoxtibia

 

Valeu mano kkk é que no começo você tira se referido as linhas pensei que era fora delas kkk mas obrigado funcionou direitinho xD

 

MwCvnr3.png

 ?️ Projeto NTO NS ?️

? Detalhes ?

?️ Mapa próprio em produção ?️

?️ Versão: 8.60 ?️

? War System ?

⚔️ Jutsus Próprios baseado no anime ⚔️

? Itens com as características e efeitos do anime ?

? Para mais detalhes acesse as redes sociais do servidor abaixo ?

? Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto ?

 

? Redes Sociais ?

? Facebook ?

? Youtube ?
? Discord ?

 

? Tutoriais / Conteúdos ?

♨️ Clique Aqui ♨️

 

 

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."