Inqusition

keny5551

User
Zarejestrowany
Dołączył
Lipiec 3, 2009
Posty
39
Liczba reakcji
1
Wiek
18
Witam,


czy mo?e mi kto? powiedzie? jak przekszta?ci? ten skrypt z tfs 0.3.6pl na tfs 0.4 dev? Gdy zabije potwora nie pojawia si? teleport ani napis.

Kod:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Inquisition"

version="1.0" author="Tommy" contact="tommycrusher@gmail.com" enabled="yes">

        <event type="login" name="inquisitionRegister" event="script"><![CDATA[
        function onLogin(cid)
    registerCreatureEvent(cid, "Inquisition")
        return true
end]]></event>

    <event type="kill" name="Inquisition" event="script"><![CDATA[
local config = {

    message = "Go into the teleporter in 3 minutes, else it will disappear.",

    timeToRemove = 180, -- seconds

    teleportId = 1387,

    bosses = { -- Monster Name, Teleport To Position, Teleport Position

        ["Ushuriel"] = { { x=1158, y=2199, z=6 }, { x=1102, y=2219, z=5, stackpos=1 } },

        ["Annihilon"] = { { x=1250, y=2302, z=5 }, { x=1192, y=2219, z=5, stackpos=1 } },

        ["Hellgorak"] = { { x=1133, y=2156, z=5 }, { x=1197, y=2261, z=5, stackpos=1 } },

        ["Madareth"] = { { x=1177, y=2144, z=5 }, { x=1117, y=2259, z=5, stackpos=1 } },

        ["Zugurosh"] = { { x=1050, y=2210, z=6 }, { x=1154, y=2218, z=5, stackpos=1 } },

        ["Latrivan"] = { { x=1069, y=2313, z=6 }, { x=1152, y=2259, z=5, stackpos=1 } }

    }

}



local function removal(position)

    if getThingfromPos(position).itemid == config.teleportId then

        doRemoveItem(getThingfromPos(position).uid)

    end

    return TRUE

end



function onKill(cid, target, lastHit)
if lastHit == true then

    local position = getCreaturePosition(target)

    for name, pos in pairs(config.bosses) do

        if name == getCreatureName(target) then

            teleport = doCreateTeleport(config.teleportId, pos[1], pos[2])

            doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)

            addEvent(removal, config.timeToRemove * 1000, pos[2])
            doSendMagicEffect(pos[2], 10)

        end

    end
end

    return TRUE

end]]></event>

         <action fromuid="14000" touid="14011" event="script"><![CDATA[
    local storage = 50301
    local inquisitionRewards = {
        [14000] = 8890, --a robe of the underworld
        [14001] = 8918, --a spellbook of dark mysteries
        [14002] = 8881, --a fireborn giant armor
        [14003] = 8888, --a master archer's armor
        [14004] = 8851, --a royal crossbow
        [14005] = 7435, --an executioner
        [14006] = 8929, --the stomper
        [14007] = 7417, --a runed sword
        [14008] = 8854, --a warsinger bow
        [14009] = 8903, --a spellbook of lost souls
        [14010] = 2508, --a mystical armor
        [14011] = 8905 --a rainbow shield
    }
    
    if inquisitionRewards[item.uid] then
        if getPlayerStorageValue(cid, storage) < 1 then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. getItemArticleById(inquisitionRewards[item.uid]) .. " " .. getItemNameById(inquisitionRewards[item.uid]) .. ".")
            doPlayerAddItem(cid, inquisitionRewards[item.uid], 1)
            setPlayerStorageValue(cid, storage, 1)
                                addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") 
        end
    end
    
    return true
]]></action>
</mod>

Pozdrawiam,
Keny

Notka moderatorska:
Z?y dzia?, przenosz?
 
Odp: Inqusition

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=33157, y=31725, z=11, stackpos=1 }, aid=1001 },
["Zugurosh"] = { pos={ x=33123, y=31689, z=11, stackpos=1 }, aid=1002},
["Madareth"] = { pos={ x=33194, y=31768, z=11, stackpos=1 }, aid=1003},
["Annihilon"] = { pos={ x=33200, y=31704, z=11, stackpos=1 }, aid=1005},
["Hellgorak"] = { pos={ x=33107, y=31735, z=11, stackpos=1 }, aid=1006}
},
brothers ={
["Golgordan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Latrivan"},
["Latrivan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Golgordan"},
brothersArea ={
fromPos = {x = 33224, y = 31722, z = 11},
toPos = {x = 33240, y = 31734, z = 11} } }
}
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
Zobacz to ps: pozmieniaj sobie pozycje ;d
 
Back
Do góry