Shinmaru
エロルアー Scripter!
Code:
--Like/Dislike system
function howMuchLike(cid)
local like = 0
if getCreatureStorage(cid, 12345) == nil then
like = 0
elseif getCreatureStorage(cid, 12345) > 0 then
like = getCreatureStorage(cid, 12345)
end
return like
end
function howMuchDislike(cid)
local dislike = 0
if getCreatureStorage(cid, 12346) == nil then
dislike = 0
elseif getCreatureStorage(cid, 12346) > 0 then
dislike = getCreatureStorage(cid, 12346)
end
return dislike
end
function PosNeg(cid)
if howMuchLike(cid) > 0 then
return true
elseif howMuchDislike(cid) > 0 then
return false
else
return nil
end
end
function doCalculateBuy(cid, price)
if PosNeg(cid) == true then
price = math.floor(((howMuchLike(cid)/100) * price) - (price))
elseif PosNeg(cid) == false then
price = math.floor(((howMuchLike(cid)/100) * price) + (price))
else
price = price
end
return price
end
function doCalculateSell(cid, price)
if PosNeg(cid) == true then
price = math.floor(((howMuchLike(cid)/100) * price) + (price))
elseif PosNeg(cid) == false then
price = math.floor(((howMuchLike(cid)/100) * price) - (price))
else
price = price
end
return price
end
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
shopModule:addBuyableItem({'spellbook'}, 2175, doCalculateBuy(cid, 150), 'spellbook')
shopModule:addBuyableItem({'magic lightwand'}, 2163, doCalculateBuy(cid, 400), 'magic lightwand')
shopModule:addBuyableItem({'small health'}, 8704, doCalculateBuy(cid, 20), 1, 'small health potion')
shopModule:addBuyableItem({'health potion'}, 7618, doCalculateBuy(cid, 45), 1, 'health potion')
shopModule:addBuyableItem({'mana potion'}, 7620, doCalculateBuy(cid, 50), 1, 'mana potion')
shopModule:addBuyableItem({'strong health'}, 7588, doCalculateBuy(cid, 100), 1, 'strong health potion')
shopModule:addBuyableItem({'strong mana'}, 7589, doCalculateBuy(cid, 80), 1, 'strong mana potion')
shopModule:addBuyableItem({'great health'}, 7591, doCalculateBuy(cid, 190), 1, 'great health potion')
shopModule:addBuyableItem({'great mana'}, 7590, doCalculateBuy(cid, 120), 1, 'great mana potion')
shopModule:addBuyableItem({'great spirit'}, 8472, doCalculateBuy(cid, 190), 1, 'great spirit potion')
shopModule:addBuyableItem({'ultimate health'}, 8473, doCalculateBuy(cid, 310), 1, 'ultimate health potion')
shopModule:addBuyableItem({'antidote potion'}, 8474, doCalculateBuy(cid, 50), 1, 'antidote potion')
shopModule:addSellableItem({'normal potion flask', 'normal flask'}, 7636, doCalculateSell(cid, 5), 'empty small potion flask')
shopModule:addSellableItem({'strong potion flask', 'strong flask'}, 7634, doCalculateSell(cid, 10), 'empty strong potion flask')
shopModule:addSellableItem({'great potion flask', 'great flask'}, 7635, doCalculateSell(cid, 15), 'empty great potion flask')
shopModule:addBuyableItem({'instense healing'}, 2265, doCalculateBuy(cid, 95), 1, 'intense healing rune')
shopModule:addBuyableItem({'ultimate healing'}, 2273, doCalculateBuy(cid, 175), 1, 'ultimate healing rune')
shopModule:addBuyableItem({'magic wall'}, 2293, doCalculateBuy(cid, 350), 3, 'magic wall rune')
shopModule:addBuyableItem({'destroy field'}, 2261, doCalculateBuy(cid, 45), 3, 'destroy field rune')
shopModule:addBuyableItem({'light magic missile'}, 2287, doCalculateBuy(cid, 40), 10, 'light magic missile rune')
shopModule:addBuyableItem({'heavy magic missile'}, 2311, doCalculateBuy(cid, 120), 10, 'heavy magic missile rune')
shopModule:addBuyableItem({'great fireball'}, 2304, doCalculateBuy(cid, 180), 4, 'great fireball rune')
shopModule:addBuyableItem({'explosion'}, 2313, doCalculateBuy(cid, 250), 6, 'explosion rune')
shopModule:addBuyableItem({'sudden death'}, 2268, doCalculateBuy(cid, 350), 3, 'sudden death rune')
shopModule:addBuyableItem({'death arrow'}, 2263, doCalculateBuy(cid, 300), 3, 'death arrow rune')
shopModule:addBuyableItem({'paralyze'}, 2278, doCalculateBuy(cid, 700), 1, 'paralyze rune')
shopModule:addBuyableItem({'animate dead'}, 2316, doCalculateBuy(cid, 375), 1, 'animate dead rune')
shopModule:addBuyableItem({'convince creature'}, 2290, doCalculateBuy(cid, 80), 1, 'convince creature rune')
shopModule:addBuyableItem({'chameleon'}, 2291, doCalculateBuy(cid, 210), 1, 'chameleon rune')
shopModule:addBuyableItem({'desintegrate'}, 2310, doCalculateBuy(cid, 80), 3, 'desintegreate rune')
shopModule:addBuyableItemContainer({'bp slhp'}, 2000, 8704, doCalculateBuy(cid, 400), 1, 'backpack of small health potions')
shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, doCalculateBuy(cid, 900), 1, 'backpack of health potions')
shopModule:addBuyableItemContainer({'bp mp'}, 2001, 7620, doCalculateBuy(cid, 1000), 1, 'backpack of mana potions')
shopModule:addBuyableItemContainer({'bp shp'}, 2000, 7588, doCalculateBuy(cid, 2000), 1, 'backpack of strong health potions')
shopModule:addBuyableItemContainer({'bp smp'}, 2001, 7589, doCalculateBuy(cid, 1600), 1, 'backpack of strong mana potions')
shopModule:addBuyableItemContainer({'bp ghp'}, 2000, 7591, doCalculateBuy(cid, 3800), 1, 'backpack of great health potions')
shopModule:addBuyableItemContainer({'bp gmp'}, 2001, 7590, doCalculateBuy(cid, 2400), 1, 'backpack of great mana potions')
shopModule:addBuyableItemContainer({'bp gsp'}, 1999, 8472, doCalculateBuy(cid, 3800), 1, 'backpack of great spirit potions')
shopModule:addBuyableItemContainer({'bp uhp'}, 2000, 8473, doCalculateBuy(cid, 6200), 1, 'backpack of ultimate health potions')
shopModule:addBuyableItemContainer({'bp ap'}, 2002, 8474, doCalculateBuy(cid, 2000), 1, 'backpack of antidote potions')
shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 2190, doCalculateBuy(cid, 500), 'wand of vortex')
shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, doCalculateBuy(cid, 1000), 'wand of dragonbreath')
shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, doCalculateBuy(cid, 5000), 'wand of decay')
shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, doCalculateBuy(cid, 7500), 'wand of draconia')
shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, doCalculateBuy(cid, 10000), 'wand of cosmic energy')
shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, doCalculateBuy(cid, 15000), 'wand of inferno')
shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, doCalculateBuy(cid, 18000), 'wand of starstorm')
shopModule:addBuyableItem({'wand of voodoo', 'voodoo'}, 8922, doCalculateBuy(cid, 22000), 'wand of voodoo')
shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, doCalculateBuy(cid, 500), 'snakebite rod')
shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, doCalculateBuy(cid, 1000), 'moonlight rod')
shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, doCalculateBuy(cid, 5000), 'necrotic rod')
shopModule:addBuyableItem({'northwind rod', 'northwind'}, 8911, doCalculateBuy(cid, 7500), 'northwind rod')
shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, doCalculateBuy(cid, 10000), 'terra rod')
shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, doCalculateBuy(cid, 15000), 'hailstorm rod')
shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, doCalculateBuy(cid, 18000), 'springsprout rod')
shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, doCalculateBuy(cid, 22000), 'underworld rod')
shopModule:addSellableItem({'wand of vortex', 'vortex'}, 2190, doCalculateSell(cid, 250), 'wand of vortex')
shopModule:addSellableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, doCalculateSell(cid, 500), 'wand of dragonbreath')
shopModule:addSellableItem({'wand of decay', 'decay'}, 2188, doCalculateSell(cid, 2500), 'wand of decay')
shopModule:addSellableItem({'wand of draconia', 'draconia'}, 8921, doCalculateSell(cid, 3750), 'wand of draconia')
shopModule:addSellableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, doCalculateSell(cid, 5000), 'wand of cosmic energy')
shopModule:addSellableItem({'wand of inferno', 'inferno'},2187, doCalculateSell(cid, 7500), 'wand of inferno')
shopModule:addSellableItem({'wand of starstorm', 'starstorm'}, 8920, doCalculateSell(cid, 9000), 'wand of starstorm')
shopModule:addSellableItem({'wand of voodoo', 'voodoo'}, 8922, doCalculateSell(cid, 11000), 'wand of voodoo')
shopModule:addSellableItem({'snakebite rod', 'snakebite'}, 2182, doCalculateSell(cid, 250),'snakebite rod')
shopModule:addSellableItem({'moonlight rod', 'moonlight'}, 2186, doCalculateSell(cid, 500), 'moonlight rod')
shopModule:addSellableItem({'necrotic rod', 'necrotic'}, 2185, doCalculateSell(cid, 2500), 'necrotic rod')
shopModule:addSellableItem({'northwind rod', 'northwind'}, 8911, doCalculateSell(cid, 3750), 'northwind rod')
shopModule:addSellableItem({'terra rod', 'terra'}, 2181, doCalculateSell(cid, 5000), 'terra rod')
shopModule:addSellableItem({'hailstorm rod', 'hailstorm'}, 2183, doCalculateSell(cid, 7500), 'hailstorm rod')
shopModule:addSellableItem({'springsprout rod', 'springsprout'}, 8912, doCalculateSell(cid, 9000), 'springsprout rod')
shopModule:addSellableItem({'underworld rod', 'underworld'}, 8910, doCalculateSell(cid, 11000), 'underworld rod')
local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182}
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'first rod') or msgcontains(msg, 'first wand')) then
if(isSorcerer(cid) or isDruid(cid)) then
if(getPlayerStorageValue(cid, 30002) <= 0) then
selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid)
talkState[talkUser] = 1
else
selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid)
end
else
selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid)
end
elseif(msgcontains(msg, 'yes')) then
if(talkState[talkUser] == 1) then
doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1)
selfSay('Here you are young adept, take care yourself.', cid)
setPlayerStorageValue(cid, 30002, 1)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
selfSay('Ok then.', cid)
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
My error:
Code:
[15:56:08.930] [Error - NpcScript Interface]
[15:56:08.932] data/npc/scripts/runes.lua
[15:56:08.935] Description:
[15:56:08.937] (luaGetCreatureStorage) Creature not found
[15:56:08.940] [Error - NpcScript Interface]
[15:56:08.942] data/npc/scripts/runes.lua
[15:56:08.944] Description:
[15:56:08.945] (luaGetCreatureStorage) Creature not found
[15:56:08.948] [Error - NpcScript Interface]
[15:56:08.950] data/npc/scripts/runes.lua
[15:56:08.952] Description:
[15:56:08.954] data/npc/lib/npc.lua:164: attempt to compare number with boolean
[15:56:08.956] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scr
ipts/runes.lua
Last edited: