Witam
Mam problem na serwierze, gdyz kazda z profesji moze uzywac wszystkich potionow. Np. sork moze uzywac UHP.
Prosze o pomoc !
Moj skrypt potions.lua
Mam problem na serwierze, gdyz kazda z profesji moze uzywac wszystkich potionow. Np. sork moze uzywac UHP.
Prosze o pomoc !
Moj skrypt potions.lua
Code:
local storage = {
[1] = {17070,function(hmax,hmin,cid) doCreatureAddHealth(cid, math.random(hmin,hmax)) end},
[2] = {17071,function(hmax,hmin,cid) doCreatureAddMana(cid, math.random(hmin,hmax)) end},
[3] = {17072,function(hmax,hmin,cid) doCreatureAddHealth(cid, math.random(hmin[1],hmax[1])) doCreatureAddMana(cid, math.random(hmin[2],hmax[2])) end},
}
local potions = {
-- Small
[7620] = {lvl=0,tipo=2,hmax=400,hmin=350,vasio=7636,vocs={0,1,2,3,4,5,6,7,8},exaust=1},
[7618] = {lvl=0,tipo=1,hmax=300,hmin=150,vasio=7636,vocs={0,1,2,3,4,5,6,7,8},exaust=1},
-- Strong
[7589] = {lvl=50,tipo=2,hmax=1400,hmin=1290,vasio=7634,vocs={0,1,2,3,5,6,7},exaust=1},
[7588] = {lvl=50,tipo=1,hmax=800,hmin=650,vasio=7634,vocs={0,3,4,7,8},exaust=1},
-- Great
[7591] = {lvl=80,tipo=1,hmax=700,hmin=500,vasio=7635,vocs={1, 2, 3, 4, 8, 5, 6, 7},exaust=1},
[7590] = {lvl=200,tipo=2,hmax=2100,hmin=1800,vasio=7635,vocs={0,1,2,5,6},exaust=1},
[8474] = {lvl=1000,tipo=2,hmax=3400,hmin=3000,vasio=7635,vocs={0,1,2,5,6},exaust=1},
[8472] = {lvl=80,tipo=3,hmax={1300,1500},hmin={1000,1500},vasio=7635,vocs={0,3,7},exaust=1},
-- Ultimate
[8473] = {lvl=200,tipo=1,hmax=3000,hmin=2600,vasio=7635,vocs={4,8},exaust=1},
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == false or potions[item.itemid] == nil or isCreature(itemEx.uid) == false then
return FALSE
elseif getPlayerStorageValue(itemEx.uid, storage[potions[item.itemid].tipo][1]) > os.time() and (type(getPlayerStorageValue(itemEx.uid, storage[potions[item.itemid].tipo][1])) == 'number' and getPlayerStorageValue(itemEx.uid, storage[potions[item.itemid].tipo][1]) ~= -1) then
doPlayerSendDefaultCancel(itemEx.uid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
elseif getPlayerLevel(itemEx.uid) < potions[item.itemid].lvl or isInArray(potions[item.itemid].vocs,getPlayerVocation(itemEx.uid)) == FALSE then
doCreatureSay(itemEx.uid, "Only required vocation and level "..potions[item.itemid].lvl.." or above may drink this fluid.", TALKTYPE_ORANGE_1)
return TRUE
end
setPlayerStorageValue(itemEx.uid, storage[potions[item.itemid].tipo][1], os.time()+potions[item.itemid].exaust)
storage[potions[item.itemid].tipo][2](potions[item.itemid].hmax,potions[item.itemid].hmin,itemEx.uid)
local _, _, cnt =string.find(getItemName(item.uid),'(%d+)')
if tonumber(cnt) ~= nil and tonumber(cnt) > 1 then
local _, _, cnt =string.find(getItemName(item.uid),'(%d+)')
setItemName(item.uid, getItemNameById(item.itemid).." x "..cnt-1)
else
doRemoveItem(item.uid,1)
end
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
return TRUE
end