Jump to content
  • 0
Sign in to follow this  
potinho

Scripting Anihilator [7.6]

Question

potinho    4
potinho

Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc).

TheOTXServer-76-win32.exe

Base: 

ExtremeOT

 

Qual a sua pergunta?

Boa tarde,

 

Estou com um problema na Anihilator:

 

Quando os players chegam no andar de cima da alavanca, os demons começam andar embaixo, como se detectassem os players. Então quando os players descem os demons estão fora de posição (os dois da porta). Não sei qual script posso mandar.

 

Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:

Spoiler


 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:

Spoiler

 

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Majesty    1,755
Majesty

data/actions/scripts/AnnihilatorQuest.lua:

Spoiler

-- Annihilator script v2.1 by GriZzm0.
--
-- Variables used:
--
-- player?pos     = The position of the players before teleport.
-- player?     = Get the thing from playerpos.
-- player?level = Get the players levels.
-- questslevel  = The level you have to be to do this quest.
-- questtatus?     = Get the quest status of the players.
-- demon?pos     = The position of the demons.
-- nplayer?pos     = The position where the players should be teleported too.
--
-- UniqueIDs used:
--
-- 5000 = The switch.
-- 5001 = Demon Armor chest.
-- 5002 = Magic Sword chest.
-- 5003 = Stonecutter Axe chest.
-- 5004 = Present chest.
--

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 5000 then
        if item.itemid == 1945 then

            player1pos = {x=191, y=118, z=9, stackpos=253}
            player1 = getThingfromPos(player1pos)

            player2pos = {x=192, y=118, z=9, stackpos=253}
            player2 = getThingfromPos(player2pos)

            player3pos = {x=193, y=118, z=9, stackpos=253}
            player3 = getThingfromPos(player3pos)

            player4pos = {x=194, y=118, z=9, stackpos=253}
            player4 = getThingfromPos(player4pos)


            if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

                player1level = getPlayerLevel(player1.uid)
                player2level = getPlayerLevel(player2.uid)
                player3level = getPlayerLevel(player3.uid)
                player4level = getPlayerLevel(player4.uid)

                questlevel = 100

                if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then

                    queststatus1 = getPlayerStorageValue(player1.uid,5000)
                    queststatus2 = getPlayerStorageValue(player2.uid,5000)
                    queststatus3 = getPlayerStorageValue(player3.uid,5000)
                    queststatus4 = getPlayerStorageValue(player4.uid,5000)

                    if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then
            
                        demon1pos = {x=117, y=229, z=8}
                        demon2pos = {x=119, y=229, z=8}
                        demon3pos = {x=121, y=231, z=8}
                        demon4pos = {x=122, y=231, z=8}
                        demon5pos = {x=118, y=233, z=8}
                        demon6pos = {x=120, y=233, z=8}

                        doSummonCreature("Demon", demon1pos)
                        doSummonCreature("Demon", demon2pos)
                        doSummonCreature("Demon", demon3pos)
                        doSummonCreature("Demon", demon4pos)
                        doSummonCreature("Demon", demon5pos)
                        doSummonCreature("Demon", demon6pos)
                            
                        nplayer1pos = {x=191, y=118, z=10}
                        nplayer2pos = {x=192, y=118, z=10}
                        nplayer3pos = {x=193, y=118, z=10}
                        nplayer4pos = {x=194, y=118, z=10}

                        doSendMagicEffect(player1pos,2)
                        doSendMagicEffect(player2pos,2)
                        doSendMagicEffect(player3pos,2)
                        doSendMagicEffect(player4pos,2)

                        doTeleportThing(player1.uid,nplayer1pos)
                        doTeleportThing(player2.uid,nplayer2pos)
                        doTeleportThing(player3.uid,nplayer3pos)
                        doTeleportThing(player4.uid,nplayer4pos)

                        doSendMagicEffect(nplayer1pos,10)
                        doSendMagicEffect(nplayer2pos,10)
                        doSendMagicEffect(nplayer3pos,10)
                        doSendMagicEffect(nplayer4pos,10)

                        doTransformItem(item.uid,item.itemid+1)

                    else
                        doPlayerSendCancel(cid,"Sorry, not possible.")
                    end
                else
                    doPlayerSendCancel(cid,"Sorry, not possible.")
                end
            else
                doPlayerSendCancel(cid,"Sorry, not possible.")
            end
        elseif item.itemid == 1946 then
            if getPlayerAccess(cid) == 3 then
                doTransformItem(item.uid,item.itemid-1)
            else
                doPlayerSendCancel(cid,"Sorry, not possible.")
            end
        end
    elseif item.uid == 5001 then
        queststatus = getPlayerStorageValue(cid,5000)
        if queststatus == -1 then
            doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
            doPlayerAddItem(cid,2494,1)
            setPlayerStorageValue(cid,5000,1)
        else
            doPlayerSendTextMessage(cid,22,"It is empty.")
        end
    elseif item.uid == 5002 then
        queststatus = getPlayerStorageValue(cid,5000)
        if queststatus == -1 then
            doPlayerSendTextMessage(cid,22,"You have found a magic sword.")
            doPlayerAddItem(cid,2400,1)
            setPlayerStorageValue(cid,5000,1)
        else
            doPlayerSendTextMessage(cid,22,"It is empty.")
        end
    elseif item.uid == 5003 then
        queststatus = getPlayerStorageValue(cid,5000)
        if queststatus == -1 then
            doPlayerSendTextMessage(cid,22,"You have found a stonecutter axe.")
            doPlayerAddItem(cid,2431,1)
            setPlayerStorageValue(cid,5000,1)
        else
            doPlayerSendTextMessage(cid,22,"It is empty.")
        end
    elseif item.uid == 5004 then
        queststatus = getPlayerStorageValue(cid,5000)
        if queststatus == -1 then
            doPlayerSendTextMessage(cid,22,"You have found thunder hammer.")
            doPlayerAddItem(cid,2421,1)
            setPlayerStorageValue(cid,5000,1)
        else
            doPlayerSendTextMessage(cid,22,"It is empty.")
        end
    end
return 1
end

 

Em: 

Spoiler

demon1pos = {x=117, y=229, z=8}
demon2pos = {x=119, y=229, z=8}
demon3pos = {x=121, y=231, z=8}
demon4pos = {x=122, y=231, z=8}
demon5pos = {x=118, y=233, z=8}
demon6pos = {x=120, y=233, z=8}

 

Configure as posições dos demons, serão criados na Annihilator quando a alavanca for utilizada e retire os demons do mapa.

Obs: no script, configure também as posições dos players para usar a alavanca e as posições que serão teleportados.

data/actions/actions.xml:

Spoiler

<!-- Annihilator Quest -->
<action uniqueid="5000" script="AnnihilatorQuest.lua" />
<action uniqueid="5001" script="AnnihilatorQuest.lua" />
<action uniqueid="5002" script="AnnihilatorQuest.lua" />
<action uniqueid="5003" script="AnnihilatorQuest.lua" />
<action uniqueid="5004" script="AnnihilatorQuest.lua" />

 

 

Share this post


Link to post
Share on other sites
  • 0
potinho    4
potinho

@Majesty usei seu script, configurei as posições e UniqueIDs para o meu servidor. Obrigado pela ajuda.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×