What's new

Skrypty & Kody Draw System

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? :p 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(n)
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]
 

buchaLL

bez spiny, luźno
Joined
Aug 2, 2011
Messages
1,013
Reaction score
68
Age
27
Odp: Draw System

Powinien wysy?a? item do dp bez problemu. Pewnie sprawdzasz dp, kt?re nie nale?y do miasta do kt?rego twoja posta? jest przypisana.
[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, item_needed = 8978, count_item = 1
}

function times(n)
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,randomitem)
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,randomitem)
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,randomitem)
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 getPlayerStorageValue(cid, cfg.storage) == -1 then
if(getPlayerItemCount(cid, cfg.item_needed) >= cfg.count_item) then
draw(cfg.startdelay, cfg.loop, pos)
doTransformItem(item.uid,item.itemid+1)
doPlayerRemoveItem(cid, cfg.item_needed, cfg.count_item)
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
addEvent(winner, cfg.adddelay*(times(cfg.loop)), cid, item, cfg.effect)
else
if cfg.count_item == 1 then
doPlayerSendTextMessage(cid, 23, "Potrzebujesz ".. cfg.count_item .." ".. getItemNameById(cfg.item_needed) .."!")
else
doPlayerSendTextMessage(cid, 23, "Potrzebujesz ".. cfg.count_item .." ".. getItemNameById(cfg.item_needed) .."s!")
end
end
elseif item.itemid == 9826 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]
 
Last edited:

qwasniak

Advanced User
Joined
May 9, 2013
Messages
303
Reaction score
7
Odp: Draw System

Okej, sprawdza czy posiadamy klucz, ale rodzi si? kolejny problem.
2Se4NbE.png

Void nie znika
 

buchaLL

bez spiny, luźno
Joined
Aug 2, 2011
Messages
1,013
Reaction score
68
Age
27
Odp: Draw System

By? mo?e jakiego? itemu z tej listy nie ma na twoim ots?
[lua]items = {8982, 5810, 5943, 5903, 2344, 5899, 7487, 9006, 9019}[/lua]

Proponuj? zmieni? wersj? na now?, stara mia?a b??d: https://tibia.net.pl/threads/588094-Draw-System
 
Last edited:
Top