qwasniak
Advanced User
- Joined
- May 9, 2013
- Messages
- 303
- Reaction score
- 7
Witam mam b??d z draw system (@BuchaLL)
musia?em si? troche wysili? zeby edytowac pod swoje potrzeby, lecz nadal mam b??dy
w niekt?rych miejscach respi sie void, nie wysy?a itemu do depo i nie sprawdza czy gracz ma item zeby zagrac
musia?em si? troche wysili? zeby edytowac pod swoje potrzeby, lecz nadal mam b??dy
w niekt?rych miejscach respi sie void, nie wysy?a itemu do depo i nie sprawdza czy gracz ma item zeby zagrac
[XML]<?xml version="1.0" encoding="UTF-8"?>
<mod name="Draw System" version="1.0" author="buchaLL" contact="https://tibia.net.pl/members/353628-buchaLL" enabled="yes">
<config name="draw_config"><![CDATA[
cfg = {
items = {8982, 5810, 5943, 5903, 2344, 5899, 7487, 9006, 9019},
pos1 = {x = 907, y = 1019, z = 8, stackpos=255},
pos2 = {x = 908, y = 1019, z = 8, stackpos=255},
pos3 = {x = 909, y = 1019, z = 8, stackpos=255},
storage = 4643, startdelay = 0, adddelay = 40, loop = 20, effect = 29
}
function times
if n > 1 then
return (n*(cfg.loop/2))+5
end
end
function doSendEffect(cid, c)
doSendAnimatedText(cfg.pos2, math.floor((cfg.adddelay*(times(cfg.loop))/1000)-c), math.random(10, 20))
end
function draw(times, final, pos)
local randomitem = cfg.items[math.random(1, #cfg.items)]
if getThingfromPos(cfg.pos1).itemid == 0 then
doCreateItem(randomitem, 1, cfg.pos1)
elseif getThingfromPos(cfg.pos2).itemid == 0 then
doCreateItem(getThingfromPos(cfg.pos1).itemid, 1, cfg.pos2)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
elseif getThingfromPos(cfg.pos3).itemid == 0 then
doCreateItem(getThingfromPos(cfg.pos2).itemid, 1, cfg.pos3)
doTransformItem(getThingfromPos(cfg.pos2).uid,getThingfromPos(cfg.pos1).itemid)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
elseif getThingfromPos(cfg.pos3).itemid ~= 0 then
doTransformItem(getThingfromPos(cfg.pos3).uid,getThingfromPos(cfg.pos2).itemid)
doTransformItem(getThingfromPos(cfg.pos2).uid,getThingfromPos(cfg.pos1).itemid)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
end
if final > 0 then
addEvent(draw, cfg.startdelay, times, final - 1, pos)
cfg.startdelay = cfg.startdelay+cfg.adddelay
end
end
function winner(uid, item, eff)
if isPlayer(uid) then
if getThingfromPos(cfg.pos2).uid ~= 0 then
doSendMagicEffect(cfg.pos2, eff)
if getPlayerFreeCap(uid) < getItemWeightById(getThingfromPos(cfg.pos2).itemid , 1) then
local item = doCreateItemEx(getThingfromPos(cfg.pos2).itemid-1, 1)
doPlayerSendMailByName(getCreatureName(uid), item, getTownTemplePosition(getPlayerTown(uid)))
else
doPlayerAddItem(uid, getThingfromPos(cfg.pos2).itemid, 1, true)
end
doPlayerSendTextMessage(uid, 21, "Gratulacje " .. getCreatureName(uid) .. "!\n Wygrales " .. getItemNameById(getThingfromPos(cfg.pos2).itemid) .. ".")
end
end
end
]]></config>
<action uniqueid="6431" event="buffer"><![CDATA[
domodlib('draw_config')
if item.itemid == 9825 and item.uid == 6431 and getPlayerStorageValue(cid, cfg.storage) == -1 then
if getPlayerItemCount(cid, 8978, 1) then
doPlayerRemoveItem(cid, 8978, 1)
setPlayerStorageValue(cid, cfg.storage, 1)
addEvent(setPlayerStorageValue, cfg.adddelay*(times(cfg.loop)), cid, cfg.storage, -1)
for c = 0.1, (cfg.adddelay*(times(cfg.loop))/1000) do
addEvent(doSendEffect, c * 1000, cid, c)
end
doTransformItem(item.uid,item.itemid+1)
draw(cfg.startdelay, cfg.loop, pos)
addEvent(winner, cfg.adddelay*(times(cfg.loop)), cid, item, cfg.effect)
else
doPlayerSendTextMessage(cid, 23, "Potrzebujesz klucza.")
end
elseif item.itemid == 9826 and item.uid == 6431 and getPlayerStorageValue(cid, cfg.storage) == -1 then
cleanArea(cfg.pos1, cfg.pos3)
doTransformItem(item.uid,item.itemid-1)
cfg.startdelay = 0
else
doPlayerSendTextMessage(cid, 23, "Poczekaj na koniec losowania.")
end
return true
]]></action>
<event type="logout" name="stop_logout" event="script"><![CDATA[
domodlib('draw_config')
if getPlayerStorageValue(cid, cfg.storage) == 1 then
doPlayerSendTextMessage(cid, 23, "Nie mozesz wylogowac sie podczas losowania.")
return false
else
return true
end
]]></event>
<event type="login" name="stop_logout" event="buffer"><![CDATA[
registerCreatureEvent(cid, 'stop_logout')
]]></event>
</mod>[/XML]
<mod name="Draw System" version="1.0" author="buchaLL" contact="https://tibia.net.pl/members/353628-buchaLL" enabled="yes">
<config name="draw_config"><![CDATA[
cfg = {
items = {8982, 5810, 5943, 5903, 2344, 5899, 7487, 9006, 9019},
pos1 = {x = 907, y = 1019, z = 8, stackpos=255},
pos2 = {x = 908, y = 1019, z = 8, stackpos=255},
pos3 = {x = 909, y = 1019, z = 8, stackpos=255},
storage = 4643, startdelay = 0, adddelay = 40, loop = 20, effect = 29
}
function times
if n > 1 then
return (n*(cfg.loop/2))+5
end
end
function doSendEffect(cid, c)
doSendAnimatedText(cfg.pos2, math.floor((cfg.adddelay*(times(cfg.loop))/1000)-c), math.random(10, 20))
end
function draw(times, final, pos)
local randomitem = cfg.items[math.random(1, #cfg.items)]
if getThingfromPos(cfg.pos1).itemid == 0 then
doCreateItem(randomitem, 1, cfg.pos1)
elseif getThingfromPos(cfg.pos2).itemid == 0 then
doCreateItem(getThingfromPos(cfg.pos1).itemid, 1, cfg.pos2)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
elseif getThingfromPos(cfg.pos3).itemid == 0 then
doCreateItem(getThingfromPos(cfg.pos2).itemid, 1, cfg.pos3)
doTransformItem(getThingfromPos(cfg.pos2).uid,getThingfromPos(cfg.pos1).itemid)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
elseif getThingfromPos(cfg.pos3).itemid ~= 0 then
doTransformItem(getThingfromPos(cfg.pos3).uid,getThingfromPos(cfg.pos2).itemid)
doTransformItem(getThingfromPos(cfg.pos2).uid,getThingfromPos(cfg.pos1).itemid)
doTransformItem(getThingfromPos(cfg.pos1).uid,rand)
end
if final > 0 then
addEvent(draw, cfg.startdelay, times, final - 1, pos)
cfg.startdelay = cfg.startdelay+cfg.adddelay
end
end
function winner(uid, item, eff)
if isPlayer(uid) then
if getThingfromPos(cfg.pos2).uid ~= 0 then
doSendMagicEffect(cfg.pos2, eff)
if getPlayerFreeCap(uid) < getItemWeightById(getThingfromPos(cfg.pos2).itemid , 1) then
local item = doCreateItemEx(getThingfromPos(cfg.pos2).itemid-1, 1)
doPlayerSendMailByName(getCreatureName(uid), item, getTownTemplePosition(getPlayerTown(uid)))
else
doPlayerAddItem(uid, getThingfromPos(cfg.pos2).itemid, 1, true)
end
doPlayerSendTextMessage(uid, 21, "Gratulacje " .. getCreatureName(uid) .. "!\n Wygrales " .. getItemNameById(getThingfromPos(cfg.pos2).itemid) .. ".")
end
end
end
]]></config>
<action uniqueid="6431" event="buffer"><![CDATA[
domodlib('draw_config')
if item.itemid == 9825 and item.uid == 6431 and getPlayerStorageValue(cid, cfg.storage) == -1 then
if getPlayerItemCount(cid, 8978, 1) then
doPlayerRemoveItem(cid, 8978, 1)
setPlayerStorageValue(cid, cfg.storage, 1)
addEvent(setPlayerStorageValue, cfg.adddelay*(times(cfg.loop)), cid, cfg.storage, -1)
for c = 0.1, (cfg.adddelay*(times(cfg.loop))/1000) do
addEvent(doSendEffect, c * 1000, cid, c)
end
doTransformItem(item.uid,item.itemid+1)
draw(cfg.startdelay, cfg.loop, pos)
addEvent(winner, cfg.adddelay*(times(cfg.loop)), cid, item, cfg.effect)
else
doPlayerSendTextMessage(cid, 23, "Potrzebujesz klucza.")
end
elseif item.itemid == 9826 and item.uid == 6431 and getPlayerStorageValue(cid, cfg.storage) == -1 then
cleanArea(cfg.pos1, cfg.pos3)
doTransformItem(item.uid,item.itemid-1)
cfg.startdelay = 0
else
doPlayerSendTextMessage(cid, 23, "Poczekaj na koniec losowania.")
end
return true
]]></action>
<event type="logout" name="stop_logout" event="script"><![CDATA[
domodlib('draw_config')
if getPlayerStorageValue(cid, cfg.storage) == 1 then
doPlayerSendTextMessage(cid, 23, "Nie mozesz wylogowac sie podczas losowania.")
return false
else
return true
end
]]></event>
<event type="login" name="stop_logout" event="buffer"><![CDATA[
registerCreatureEvent(cid, 'stop_logout')
]]></event>
</mod>[/XML]