Jump to content

Scripting spells que trapa a frente do jogador


Recommended Posts

.Qual servidor ou website você utiliza como base? 

8.6 tfs 0.4

Qual o motivo deste tópico? 

queria que comforme a posiçao do personagem a parede ia tmbm

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

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

local remove_time = 10 -- tempo em segundos para remover as magic wall
local item_id = 8633 -- id da magic wall

function onCastSpell(cid, var)

local pos = getThingPosition(getCreatureTarget(cid))
posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1}
posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1}
posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1}
posTile4 = {x=pos.x+1,y=pos.y-2,z=pos.z,stackpos=1}
posTile5 = {x=pos.x+1,y=pos.y+2,z=pos.z,stackpos=1}

posAll = {posTile1,posTile2,posTile3,posTile4,posTile5}

for i=1, #posAll do
    if isWalkable(posAll) then
        doCreateItem(item_id, 1, posAll)
    end
end 
addEvent(removeItem, remove_time*1000, posAll)

return true
end

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 removeItem(posAll)
    for i=1, #posAll do
        for j=0, 255 do
            pos_stack = {x=posAll.x,y=posAll.y,z=posAll.z,stackpos=j}
            removeTile = getThingfromPos(pos_stack)
            if removeTile.itemid == item_id then
                doRemoveItem(removeTile.uid)
            end
        end
    end
end

 

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

image.thumb.png.392c4f0a310007328a3ba341fa11f9a3.png

Link to post
Share on other sites

Em 07/10/2020 em 12:35, Senju uchira disse:

@up

Existe esse botão para você subir se tópico, não pode ficar comentando isso..

image.thumb.png.76f1880fadf737cfd4aff66f2fc03d57.png

 

 

 

E sobre o seu pedido..

não dá pra entender nada.
pelo que eu entendi vc quer uma spell que já tem...

Quando for assim explica melhor em detalhes para que possamos entender.

Link to post
Share on other sites

Em 10/10/2020 em 09:07, diarmaint disse:

Existe esse botão para você subir se tópico, não pode ficar comentando isso..

image.thumb.png.76f1880fadf737cfd4aff66f2fc03d57.png

 

 

 

E sobre o seu pedido..

não dá pra entender nada.
pelo que eu entendi vc quer uma spell que já tem...

Quando for assim explica melhor em detalhes para que possamos entender.

eu apertei tantas vezes que achei que paro de funcionar rsrs

Link to post
Share on other sites

Em 19/10/2020 em 17:21, Fabi Marzan disse:

nao entendo

exemplo vc usa a spells no target, se ele tiver correndo pra direita faz um parede na frente dele

se ee estiver correndo pra esquerda e eu usa a spells ele fica com uma parede na frente, north e sult tmbm viu

Link to post
Share on other sites

  • Assistente

Então vc queria q mandasse a parede conforme a direção que ele está virado? 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

é muito parecido com o que você quer
local combat_lv1 = createCombatObject()
setCombatParam(combat_lv1, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv1, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv2 = createCombatObject()
setCombatParam(combat_lv2, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv2, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv3 = createCombatObject()
setCombatParam(combat_lv3, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv3, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv4 = createCombatObject()
setCombatParam(combat_lv4, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv4, COMBAT_PARAM_CREATEITEM, 1706)

local area_lv1 = createCombatArea({
{1, 0, 1},
{1, 0, 1},
{0, 1, 0},
{0, 2, 0}
})

local area_lv2 = createCombatArea({
{0, 1, 0},
{1, 1, 1},
{1, 1, 1},
{0, 1, 0},
{0, 2, 0}
})

local area_lv3 = createCombatArea({
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
})

local area_lv4 = createCombatArea({
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0}
})

setCombatArea(combat_lv1, area_lv1)
setCombatArea(combat_lv2, area_lv2)
setCombatArea(combat_lv3, area_lv3)
setCombatArea(combat_lv4, area_lv4)

local function onCastSpell1(parameters)
doCombat(parameters.cid, combat_lv1, parameters.var)
end

local function onCastSpell2(parameters)
doCombat(parameters.cid, combat_lv2, parameters.var)
end

local function onCastSpell3(parameters)
doCombat(parameters.cid, combat_lv3, parameters.var)
end

local function onCastSpell4(parameters)
doCombat(parameters.cid, combat_lv4, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 10 -- Tempo de exhaustion
local storage = 5439

if exhaustion.check(cid, storage) then
return false
end

local from,to = {x=901, y=701, z=7},{x=931, y=733, z=7} -- começo e final do mapa
if isInRange(getCreaturePosition(cid), from, to) then
doPlayerSendCancel(cid, "Você não pode usar esse jutsu nessa area!") return true
end
local position = getCreaturePosition(cid)
local t = {
[0] = {x = position.x, y = position.y - 3, z = position.z},
[1] = {x = position.x + 3, y = position.y, z = position.z},
[2] = {x = position.x, y = position.y + 3, z = position.z},
[3] = {x = position.x - 3, y = position.y, z = position.z},
[4] = {x = position.x - 3, y = position.y, z = position.z},
}

local parameters = { cid = cid, var = var}
local spell_storage = 42552

if getPlayerStorageValue(cid, spell_storage) < 100 then
addEvent(onCastSpell1, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 100 then
addEvent(onCastSpell2, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 2")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 100 and getPlayerStorageValue(cid, spell_storage) < 300 then
addEvent(onCastSpell2, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 300 then
addEvent(onCastSpell3, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 3")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 300 and getPlayerStorageValue(cid, spell_storage) < 500 then
addEvent(onCastSpell3, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 500 then
addEvent(onCastSpell4, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 4")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 500 then
addEvent(onCastSpell4, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
end

exhaustion.set(cid, storage, waittime)
return TRUE
end

 

Link to post
Share on other sites

32 minutos atrás, Fabi Marzan disse:

é muito parecido com o que você quer

local combat_lv1 = createCombatObject()
setCombatParam(combat_lv1, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv1, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv2 = createCombatObject()
setCombatParam(combat_lv2, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv2, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv3 = createCombatObject()
setCombatParam(combat_lv3, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv3, COMBAT_PARAM_CREATEITEM, 1706)

local combat_lv4 = createCombatObject()
setCombatParam(combat_lv4, COMBAT_PARAM_EFFECT, 111)
setCombatParam(combat_lv4, COMBAT_PARAM_CREATEITEM, 1706)

local area_lv1 = createCombatArea({
{1, 0, 1},
{1, 0, 1},
{0, 1, 0},
{0, 2, 0}
})

local area_lv2 = createCombatArea({
{0, 1, 0},
{1, 1, 1},
{1, 1, 1},
{0, 1, 0},
{0, 2, 0}
})

local area_lv3 = createCombatArea({
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
})

local area_lv4 = createCombatArea({
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 2, 0, 0, 0}
})

setCombatArea(combat_lv1, area_lv1)
setCombatArea(combat_lv2, area_lv2)
setCombatArea(combat_lv3, area_lv3)
setCombatArea(combat_lv4, area_lv4)

local function onCastSpell1(parameters)
doCombat(parameters.cid, combat_lv1, parameters.var)
end

local function onCastSpell2(parameters)
doCombat(parameters.cid, combat_lv2, parameters.var)
end

local function onCastSpell3(parameters)
doCombat(parameters.cid, combat_lv3, parameters.var)
end

local function onCastSpell4(parameters)
doCombat(parameters.cid, combat_lv4, parameters.var)
end

function onCastSpell(cid, var)
local waittime = 10 -- Tempo de exhaustion
local storage = 5439

if exhaustion.check(cid, storage) then
return false
end

local from,to = {x=901, y=701, z=7},{x=931, y=733, z=7} -- começo e final do mapa
if isInRange(getCreaturePosition(cid), from, to) then
doPlayerSendCancel(cid, "Você não pode usar esse jutsu nessa area!") return true
end
local position = getCreaturePosition(cid)
local t = {
[0] = {x = position.x, y = position.y - 3, z = position.z},
[1] = {x = position.x + 3, y = position.y, z = position.z},
[2] = {x = position.x, y = position.y + 3, z = position.z},
[3] = {x = position.x - 3, y = position.y, z = position.z},
[4] = {x = position.x - 3, y = position.y, z = position.z},
}

local parameters = { cid = cid, var = var}
local spell_storage = 42552

if getPlayerStorageValue(cid, spell_storage) < 100 then
addEvent(onCastSpell1, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 100 then
addEvent(onCastSpell2, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 2")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 100 and getPlayerStorageValue(cid, spell_storage) < 300 then
addEvent(onCastSpell2, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 300 then
addEvent(onCastSpell3, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 3")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 300 and getPlayerStorageValue(cid, spell_storage) < 500 then
addEvent(onCastSpell3, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
elseif getPlayerStorageValue(cid, spell_storage) == 500 then
addEvent(onCastSpell4, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
doPlayerSendTextMessage(cid, 22, "Seu jutsu progrediu para o level 4")
doSendMagicEffect(getCreaturePosition(cid),28)
doSendAnimatedText(getCreaturePosition(cid), 'Jutsu UP', 210)
elseif getPlayerStorageValue(cid, spell_storage) > 500 then
addEvent(onCastSpell4, 0, parameters)
setPlayerStorageValue(cid, spell_storage, getPlayerStorageValue(cid, spell_storage)+1)
end

exhaustion.set(cid, storage, waittime)
return TRUE
end

 

irei testa

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Felippe Reine014
      Uso versao do tfs 1.3
      Fala galera do TK  queria pedir a ajuda de voces com um script de action que ao dar use em uma alavanca o player ganhe uma outfit e o player precisa de uma certa quantidade de um item para ganhar outfit, e daria a outfit de acordo se o player e male ou female agradeço desde ja galera
       
      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. 
       
    • By knepperzik
      Qual o motivo deste tópico? 
      Boa noite/dia/tarde, gostaria de uma script "action" que ao usar item dê uma skin para o player.
      Porem para uma vocação especifica.
      Exemplo: Item que da a skin para o naruto, somente o naruto pode usar, quando alguma outra vocação for usar apareça "Somente Naruto pode usar essa skin.".
       
      Estava tentando fazer algumas gambiarras porem nenhuma funcionou
      estava tentando usar a função " getPlayerVocation(cid) " mas não consegui encaixar ela na script.
       
      Id da vocação Naruto: 1

       
       
      Estou utilizando essa script! créditos: @Celulose @ITALOx
       
       
    • By Lethal M
      .Qual servidor ou website você utiliza como base? 
      TFS 1.3  TibiaGlobal 12.60
       
      Qual o motivo deste tópico? 
      Estou usando um talkaction para mudar de vocação em modal window mas quando confirmo nada acontece




      talkactions
       
       
      creaturescripts

       
       
       
    • By daniel.braga989
      Olá, Bom Dia, Boa Tarde, Boa Noite, Como vcs estão ? espero que bem.

      Estou com probleminha chato aqui, se alguém poder ajudar, agradeço de coração.

      Seguinte, tenho um projeto OTX 8.60 e não estou conseguindo utilizar a MAGIC WALL no server, toda vez que tento utilizar  aparece uma mensagem de bloqueio dizendo ''' Você não pode utilizar JUTSU EM AREA enquanto estiver RED/BLACK skull''

      Obs: Todas as contas testada não estava pz,red ou black skull, ate no personagem GOOD não consigo utilizar a Magic Wall.

      Obs: Não sei se ajuda, mas Procurei na source e achei 3 arquivo com essa mensagem '''Você não pode usar jutsus de area enquanto estiver Red/Black Skull''

      Arquivos >> ''OTXtarget''   '''player.cpp''  e  ''''player.o''
       
    • By raphado
      .Qual servidor ou website você utiliza como base? Otserv Global 12.51
       
      Qual o motivo deste tópico? Gostaria de diminuir o tempo que o corpo morto do bicho fica no chão, apodrecendo ele mais rápido! Me indicaram o itens.xml acho, mas tem milhares!! Existe algum jeito mais fácil? Obrigado!!
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      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. 
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo