• 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!

Lua TFS 0.4 - Add Storage Script Quest

FearWar

Active Member
Joined
Sep 17, 2017
Messages
221
Reaction score
26
Location
Brasil
Hi otlanders,

I would like a "storage 41300" to start this script below:

LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
treepos = {x=17641, y=17596, z=7, stackpos=1}
treepos2 = {x=17639, y=17603, z=7, stackpos=1} --- position of left arm
treepos3 = {x=17641, y=17601, z=7, stackpos=1} --- position of crow
treepos4 = {x=17641, y=17604, z=7, stackpos=1} --- position of mouth
monster1 = {x=17639, y=17599, z=7}
monster2 = {x=17645, y=17600, z=7}
monster3 = {x=17637, y=17606, z=7}
monster4 = {x=17644, y=17606, z=7}
tree = getThingfromPos(treepos).uid
tree2 = getThingfromPos(treepos2).uid
tree3 = getThingfromPos(treepos3).uid
tree4 = getThingfromPos(treepos4).uid
playerPos = getCreaturePosition(cid)
local randomizer = math.random(1,6)
queststatus = getPlayerStorageValue(cid,8181)
queststatus2 = getPlayerStorageValue(cid,8282)
queststatus3 = getPlayerStorageValue(cid,8383)
queststatus4 = getPlayerStorageValue(cid,8484)
Level = getPlayerLevel(cid)

    if itemEx.itemid == 2709 and itemEx.storageid 41300 and itemEx.actionid == 7787 and Level >= 170 then
        doRemoveItem(tree)
        doTeleportThing(cid, toPosition, TRUE)
        setPlayerStorageValue(cid,8181,1)
    else
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        end
    if itemEx.itemid == 2709 and itemEx.actionid == 7788 then
        doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "A player is already doing this quest.")
    end
    if itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 1) and queststatus == 1 then
        doSummonCreature("Crypt Shambler", monster1)
        doSummonCreature("Crypt Shambler", monster2)
        doSummonCreature("Crypt Shambler", monster3)
        doSummonCreature("Crypt Shambler", monster4)
    elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 2) and queststatus == 1 then
        doSummonCreature("Bone Beast", monster1)
        doSummonCreature("Bone Beast", monster2)
        doSummonCreature("Bone Beast", monster3)
        doSummonCreature("Bone Beast", monster4)
    elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 3) and queststatus == 1 then
        doSummonCreature("Orshabaal", monster1)
        setPlayerStorageValue(cid,8181,-1)
        setPlayerStorageValue(cid,8282,1)
    elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer >= 4) and queststatus == 1 then
        doSendMagicEffect(playerPos, 45)
        doCreatureAddHealth(cid, -1000)
        doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)
        end
    if itemEx.itemid == 8289 and itemEx.actionid == 8181 and queststatus == -1 then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        end
    if itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 1) and queststatus2 == 1 then
        doSummonCreature("Crypt Shambler", monster1)
        doSummonCreature("Crypt Shambler", monster2)
        doSummonCreature("Crypt Shambler", monster3)
        doSummonCreature("Crypt Shambler", monster4)
    elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 2) and queststatus2 == 1 then
        doSummonCreature("Giant Spider", monster1)
        doSummonCreature("Giant Spider", monster4)
    elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 3) and queststatus2 == 1 then
        doSummonCreature("Blightwalker", monster1)
        setPlayerStorageValue(cid,8282,-1)
        setPlayerStorageValue(cid,8383,1)
    elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer >= 4) and queststatus2 == 1 then
        doSendMagicEffect(playerPos, 45)
        doCreatureAddHealth(cid, -1000)
        doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)
        end
    if itemEx.itemid == 8288 and itemEx.actionid == 8282 and queststatus2 == -1 then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        end
    if itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 1) and queststatus3 == 1 then
        doSummonCreature("Crypt Shambler", monster1)
        doSummonCreature("Crypt Shambler", monster2)
        doSummonCreature("Crypt Shambler", monster3)
        doSummonCreature("Crypt Shambler", monster4)
    elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 2) and queststatus3 == 1 then
        doSummonCreature("Lich", monster1)
        doSummonCreature("Lich", monster2)
        doSummonCreature("Lich", monster3)
        doSummonCreature("Massacre", monster4)
    elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 3) and queststatus3 == 1 then
        doSummonCreature("Plaguesmith", monster1)
        setPlayerStorageValue(cid,8383,-1)
        setPlayerStorageValue(cid,8484,1)
    elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer >= 4) and queststatus3 == 1 then
        doSendMagicEffect(playerPos, 45)
        doCreatureAddHealth(cid, -1000)
        doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)
        end
    if itemEx.itemid == 8290 and itemEx.actionid == 8383 and queststatus3 == -1 then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        end
    if itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 1) and queststatus4 == 1 then
        doSummonCreature("Hellgorak", monster1)
        doSummonCreature("Crypt Shambler", monster2)
        doSummonCreature("Crypt Shambler", monster3)
        doSummonCreature("Crypt Shambler", monster4)
    elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 2) and queststatus4 == 1 then
        doSummonCreature("Lich", monster1)
        doSummonCreature("Lich", monster2)
        doSummonCreature("Giant Spider", monster2)
        doSummonCreature("Giant Spider", monster3)
    elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 3) and queststatus4 == 1 then
        doSummonCreature("Ushuriel", monster1)
        doSummonCreature("Juggernaut", monster2)
        setPlayerStorageValue(cid,8484,-1)
        setPlayerStorageValue(cid,8585,1)
    elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer >= 4) and queststatus4 == 1 then
        doSendMagicEffect(playerPos, 45)
        doCreatureAddHealth(cid, -1000)
        doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)
        end
    if itemEx.itemid == 8291 and itemEx.actionid == 8484 and queststatus4 == -1 then
        doSendMagicEffect(toPosition, CONST_ME_POFF)
        end
end

Can anyone help me who can only start the quest if they have Storage: 41300?
 
Just wrap an if check around it?

LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, 41300) ~= nil then
        -- codeblock
    end
    return true
end
 
Just wrap an if check around it?

LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, 41300) ~= nil then
        -- codeblock
    end
    return true
end
LUA:
   if itemEx.itemid == 2709 and itemEx.storageid 41300 and itemEx.actionid == 7787 and Level >= 170 then
        doRemoveItem(tree)
        doTeleportThing(cid, toPosition, TRUE)
        setPlayerStorageValue(cid,8181,1)
    else

in this part?
Post automatically merged:

You have an error on line 22 where I guess you've tried doing it yourself. You are missing "==" after itemEx.storageid
yes, but it didn't work: /

LUA:
    if getPlayerStorageValue(cid, 41300) and itemEx.itemid == 2709 and itemEx.actionid == 7787 and Level >= 170 then
        doRemoveItem(tree)
        doTeleportThing(cid, toPosition, TRUE)
        setPlayerStorageValue(cid,8181,1)
    else
I will test like this ...
 
LUA:
if getPlayerStorageValue(cid, 41300) ~= nil and itemEx.itemid == 2709 and itemEx.actionid == 7787 and Level >= 170 then
    doRemoveItem(tree)
    doTeleportThing(cid, toPosition, TRUE)
    setPlayerStorageValue(cid,8181,1)
else
 
I haven't coded anything on OT for a long time dude so I have no idea what the correct functions/methods are. I can give it a go though.

I'm guessing its not picking up the tree var on doRemoveItem on line 23. You sure its the correct co-ordinates(treepos) on line 2? and correct find method on line 10?
 
I haven't coded anything on OT for a long time dude so I have no idea what the correct functions/methods are. I can give it a go though.

I'm guessing its not picking up the tree var on doRemoveItem on line 23. You sure its the correct co-ordinates(treepos) on line 2? and correct find method on line 10?
i go testing...
 
Back
Top