dunnish
New Member
- Joined
- Jun 18, 2009
- Messages
- 277
- Solutions
- 1
- Reaction score
- 3
Hello!
i have a problem when i kill the boss the teleport dossnt spawn.
and doesn't get the aid 1001
im useing tfs 1.0
creaturescripts.xml
creaturescripts Inquisition.lua
Movements.xml
Movements inq.lua
i have a problem when i kill the boss the teleport dossnt spawn.
and doesn't get the aid 1001
im useing tfs 1.0
creaturescripts.xml
XML:
<event type="kill" name="inquisitionPortals" script="Inquisition.lua"/>
creaturescripts Inquisition.lua
LUA:
local config = {
timeToRemove = 180, -- seconds
message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear",
teleportId = 9773,
bosses = { -- Monster Name, Teleport Position
["Ushuriel"] = { pos={ x=237, y=348, z=12, stackpos=1 }, aid=1001 },
["Zugurosh"] = { pos={ x=314, y=474, z=13, stackpos=1 }, aid=1002},
["Madareth"] = { pos={ x=287, y=365, z=13, stackpos=1 }, aid=1003},
["Annihilon"] = { pos={ x=294, y=681, z=13, stackpos=1 }, aid=1005},
["Hellgorak"] = { pos={ x=255, y=467, z=13, stackpos=1 }, aid=1006}
},
brothers ={
["Golgordan"] = {pos={ x=408, y=413, z=13, stackpos=1 },aid=1004, brother = "Latrivan"},
["Latrivan"] = {pos={ x=408, y=413, z=13, stackpos=1 },aid=1004, brother = "Golgordan"},
brothersArea ={
fromPos = {x = 497, y = 339, z = 13},
toPos = {x = 513, y = 351, z = 13} } }
}
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
Movements.xml
XML:
<movevent type="StepIn" fromaid="1001" toaid="1006" event="script" value="inq.lua"/>
<movevent type="StepIn" fromaid="2001" toaid="2005" event="script" value="inq.lua"/>
<movevent type="StepIn" fromaid="3000" toaid="3010" event="script" value="inq.lua"/>
Movements inq.lua
LUA:
local config = {
bosses={---aid of portal, position where it sends, value it sets, text it shows
[1001] = {pos={x=172, y=560, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
[1002] = {pos={x=313, y=473, z=13, stackpos=1}, value=2, text="Entering The Blood Halls"},
[1003] = {pos={x=287, y=364, z=13, stackpos=1}, value=3, text="Entering The Vats"},
[1004] = {pos={x=409, y=413, z=13, stackpos=1}, value=4, text="Entering The Arcanum"},
[1005] = {pos={x=296, y=681, z=13, stackpos=1}, value=5, text="Entering The Hive"},
[1006] = {pos={x=256, y=467, z=13, stackpos=1}, value=6, text="Entering The Shadow Nexus"}
},
mainroom={---aid, position, lowest value that can use this portal, text
[2001] = {pos={x=172, y=560, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
[2002] = {pos={x=313, y=473, z=13, stackpos=1}, value=2, text="Entering The Blood Halls"},
[2003] = {pos={x=287, y=364, z=13, stackpos=1}, value=3, text="Entering The Vats"},
[2004] = {pos={x=409, y=413, z=13, stackpos=1}, value=4, text="Entering The Arcanum"},
[2005] = {pos={x=296, y=681, z=13, stackpos=1}, value=5, text="Entering The Hive"} },
portals={---aid, position, text
[3000] = {pos={x=177, y=438, z=14}, text="Escaping back to the Retreat!"},
[3001] = {pos={x=238, y=351, z=12}, text="Entering The Ward of Ushuriel"},
[3002] = {pos={x=274, y=530, z=13}, text="Entering The Undersea Kingdom"},
[3003] = {pos={x=382, y=525, z=13}, text="Entering The Ward of Zugurosh"},
[3004] = {pos={x=300, y=448, z=10}, text="Entering The Foundry"},
[3005] = {pos={x=340, y=466, z=13}, text="Entering The Ward of Madareth"},
[3006] = {pos={x=390, y=348, z=13}, text="Entering The Battlefield"},
[3007] = {pos={x=505, y=350, z=13}, text="Entering The Ward of The Demon Twins"},
[3008] = {pos={x=577, y=409, z=13}, text="Entering The Soul Wells"},
[3009] = {pos={x=637, y=479, z=13}, text="Entering The Ward of Annihilon"},
[3010] = {pos={x=296, y=681, z=13}, text="Entering The Ward of Hellgorak"} },
storage=56123,---storage used in boss and mainroom portals
e={} }----dunno whats this but have to be like this to make doCreatureSayWithDelay working, DON'T TOUCH}
function onStepIn(cid, item, position, fromPosition)
if isPlayer(cid) == TRUE then
if(config.bosses[item.actionid]) then
local t= config.bosses[item.actionid]
if getPlayerStorageValue(cid, config.storage)< t.value then
setPlayerStorageValue(cid, config.storage, t.value)
end
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1, config.e)
elseif(config.mainroom[item.actionid]) then
local t= config.mainroom[item.actionid]
if getPlayerStorageValue(cid, config.storage)>=t.value then
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1,config.e)
else
doTeleportThing(cid, fromPosition)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
end
elseif(config.portals[item.actionid]) then
local t= config.portals[item.actionid]
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1,config.e)
end
end
end