• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved Add effect on teleport

bybbzan

mapper
Joined
Aug 4, 2012
Messages
809
Solutions
2
Reaction score
136
Location
Sweden
Hello. ^_^
Can someone add effect 10 when walking into a teleporter in this script. I want to have that effect on every tp in INQ.
Also when "walkback".

Movement
LUA:
local config = 
{
    bosses=
    {
        [1001] = {pos={x=314, y=1037, z=13}, value=1, text="Entering The Crystal Caves."},
        [1002] = {pos={x=573, y=971, z=12}, value=2, text="Entering The Blood Halls."},
        [1003] = {pos={x=420, y=1043, z=13}, value=3, text="Entering The Vats."},
        [1004] = {pos={x=462, y=809, z=12}, value=4, text="Entering The Arcanum."},
        [1005] = {pos={x=476, y=922, z=12}, value=5, text="Entering The Hive."},
        [1006] = {pos={x=606, y=947, z=12}, value=6, text="Entering The Shadow Nexus."},
        [1007] = {pos={x=633, y=936, z=12}, value=7, text="You completed the Inquisition. You should be proud."}    
    },
    portals=
    {
        [3000] = {pos={x=441, y=944, z=14}, text="Escaping back to the Retreat."},
        [3001] = {pos={x=553, y=926, z=12}, text="Entering The Ward of Ushuriel."},
        [3002] = {pos={x=416, y=1080, z=13}, text="Entering The Sunken Cave."},
        [3003] = {pos={x=552, y=868, z=12}, text="Entering The Ward of Zugurosh."},
        [3004] = {pos={x=638, y=885, z=12}, text="Entering The Foundry."},
        [3005] = {pos={x=598, y=932, z=12}, text="Entering The Ward of Madareth."},
        [3006] = {pos={x=309, y=1085, z=13}, text="Entering The Battlefield."},
        [3007] = {pos={x=596, y=902, z=12}, text="Entering The Ward of The Demon Twins."},
        [3008] = {pos={x=371, y=822, z=11}, text="Entering The Soul Wells."},
        [3009] = {pos={x=593, y=876, z=12}, text="Entering The Ward of Annihilon."},
        [3010] = {pos={x=560, y=904, z=12}, text="Entering The Ward of Hellgorak."}
        },
    mainroom={},
    storage=56123,
    walkback="You don't have enough energy to enter this portal.",
    texttype = TALKTYPE_MONSTER_SAY
}
for i = 1, 5 do
   config.mainroom[2000+i]=config.bosses[1000+i]
end    

function onStepIn(cid, item, position, fromPosition)
    if isPlayer(cid) then
        if(config.bosses[item.actionid]) then
            if getPlayerStorageValue(cid, config.storage) < config.bosses[item.actionid].value then
                setPlayerStorageValue(cid, config.storage, config.bosses[item.actionid].value)
            end
            doTeleportThing(cid, config.bosses[item.actionid].pos)
            doCreatureSay(cid,config.bosses[item.actionid].text,config.texttype)
        elseif(config.mainroom[item.actionid]) then
            if getPlayerStorageValue(cid, config.storage)>=config.mainroom[item.actionid].value then
                doTeleportThing(cid, config.mainroom[item.actionid].pos)
                doCreatureSay(cid,config.mainroom[item.actionid].text,config.texttype)
            else
                doTeleportThing(cid, fromPosition)
                doCreatureSay(cid, config.walkback, config.texttype)
            end
        elseif(config.portals[item.actionid]) then
            doTeleportThing(cid, config.portals[item.actionid].pos)
            doCreatureSay(cid,config.portals[item.actionid].text,config.texttype)
        end
    end
end

Creaturescript
LUA:
local config = {
        
timeToRemove = 180, 
message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during this time.",
        
teleportId = 1387,
        
bosses = { 
["Ushuriel"] = {  pos={ x=570, y=925, z=12, stackpos=1 }, aid=1001 },
                
["Zugurosh"] = {  pos={ x=571, y=867, z=12, stackpos=1 }, aid=1002},
                
["Madareth"] = {  pos={ x=597, y=919, z=12, stackpos=1 }, aid=1003},
               
["Annihilon"] = {  pos={ x=594, y=859, z=12, stackpos=1 }, aid=1005},
                
["Hellgorak"] = {  pos={ x=561, y=888, z=12, stackpos=1 }, aid=1006}
 },
        
brothers ={
        
["Golgordan"] = {pos={ x=597, y=891, z=12, stackpos=1 },aid=1004, brother = "Latrivan"},
        
["Latrivan"] = {pos={ x=597, y=891, z=12, stackpos=1 },aid=1004, brother = "Golgordan"},
        
brothersArea ={
                
fromPos = {x = 589, y = 891, z = 12},
                
toPos = {x = 605, y = 903, z = 12}    }    }
}

local function removal(position)
    
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    
return TRUE

end



function onKill(cid, target, lastHit)
    
if(config.bosses[getCreatureName(target)]) then
        
local t = config.bosses[getCreatureName(target)]
        
local teleport = doCreateItem(config.teleportId, t.pos)
        
local position = t.pos
        
doItemSetAttribute(teleport, "aid", t.aid)
        
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
        
addEvent(removal, config.timeToRemove * 1000, position)
    
elseif(config.brothers[getCreatureName(target)]) then
        
local t = config.brothers[getCreatureName(target)]
        
local brother = getCreatureByName(t.brother)
        
if(isMonster(brother) == true) then
            
if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then
                
return TRUE
            
end
        
else
            
local teleport = doCreateItem(config.teleportId, t.pos)
            
local position = t.pos
            
doItemSetAttribute(teleport, "aid", t.aid)
            
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            
addEvent(removal, config.timeToRemove * 1000, position)
        
end
    
end
    
return TRUE

end


Thanks in advance.

- - - Solution - - -

doSendMagicEffect(getCreaturePosition(cid),10)
 
Last edited by a moderator:
Back
Top