- Joined
- Aug 19, 2007
- Messages
- 4,940
- Solutions
- 11
- Reaction score
- 354
Since it is Christmas time, I've decided to make Santa script
.
He is giving away those presents:
Teddy Bear (very rare ;p),
Oranges,
Apples,
Ginger Bread Man,
Candy Canes.
Your presents depends on random.
Here it is:
Santa.xml
santa.lua
Enjoy the Christmas time!

He is giving away those presents:
Teddy Bear (very rare ;p),
Oranges,
Apples,
Ginger Bread Man,
Candy Canes.
Your presents depends on random.
Here it is:
Santa.xml
PHP:
<npc name="Santa" script="data/npc/scripts/santa.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="160" head="0" body="94" legs="0" feet="94"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|!"/>
<parameter key="message_farewell" value="Merry Christmas." />
<parameter key="message_placedinqueue" value="Your time will come |PLAYERNAME|, ho ho ho." />
<parameter key="message_walkaway" value="Merry Christmas." />
<parameter key="message_idletimeout" value="Merry Christmas." />
<parameter key="message_walkaway" value="Merry Christmas!" />
</parameters>
</npc>
santa.lua
PHP:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
-- OTServ event handling functions start
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
-- OTServ event handling functions end
function creatureSayCallback(cid, type, msg)
-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so
you do not have to take care of that yourself.
if(npcHandler.focus ~= cid) then
return false
end
present = getPlayerStorageValue(cid, 67872)
random = math.random(1, 40)
if msgcontains(msg, 'present') then
if present == -1 then
if (random >= 1 and random <= 3) then
doPlayerAddItem(cid, 2112, 1)
setPlayerStorageValue(cid, 67872, 1)
selfSay('You were very lucky! Here is your present.')
elseif (random >= 4 and random <= 12) then
doPlayerAddItem(cid, 2675, 15)
setPlayerStorageValue(cid, 67872, 1)
selfSay('Merry Christmas! Ho Ho Ho!')
elseif (random >= 13 and random <= 20) then
doPlayerAddItem(cid, 2688, 10)
setPlayerStorageValue(cid, 67872, 1)
selfSay('Merry Christmas! Ho Ho Ho!')
elseif (random >= 21 and random <= 30) then
doPlayerAddItem(cid, 6501, 3)
setPlayerStorageValue(cid, 67872, 1)
selfSay('Merry Christmas! Ho Ho Ho!')
elseif (random >= 31 and random <= 40) then
doPlayerAddItem(cid, 2674, 5)
setPlayerStorageValue(cid, 67872, 1)
selfSay('Merry Christmas! Ho Ho Ho!')
end
else
selfSay('You already have your present, ho ho ho!')
end
end
return 1
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Enjoy the Christmas time!