• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Oracle - Keywords without the use of caps

Lightonia

Lightonia.servegame.com
Joined
Jun 4, 2007
Messages
492
Reaction score
9
Hi there, i need help with a script where i need it edited so that the players that want to continue too rook, can say the keywords without using caps lock on some letter.

For instance "Lightonia" - I want it to be able to be said when a player says "lightonia" which it cant now.

The reason why i want this specific script is because it hands out items immediately after leaving rookgaard.

All help is much appreciated!

Lightonia

Code:
--[[
!---------------------------------!
!---Created by Teh Maverick-------!
!-------www.otland.net------------!
!---------------------------------!
]]

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local talktopic, town, vocation, destination, voc = {}, {}, {}, {}, {}

--!!Config!!--

--Vocation setup
local vocation1 = {name = "Mage", id = 1,
text = "Are you sure that a Mage is what you wish to become? This decision is irreversible!"}

local vocation2 = {name = "Herbalist", id = 2,
text = "Are you sure that a Herbalist is what you wish to become? This decision is irreversible!"}

local vocation3 = {name = "Hunter", id = 3,
text = "Are you sure that a Hunter is what you wish to become? This decision is irreversible!"}

local vocation4 = {name = "Warrior", id = 4,
text = "Are you sure that a Warrior is what you wish to become? This decision is irreversible!"}

--Item setup
local firstItems = {
{ -- sorcerer items
{itemid=2458, count=1}, -- Steel Helmet
{itemid=2465, count=1}, -- Ranger's cloak
{itemid=2478, count=1}, -- Ranger legs
{itemid=2643, count=1}, -- Leather Boots
{itemid=2525, count=1}, -- Dark Shield
{itemid=2190, count=1}, -- Wand of vortex

},
{ -- druid items
{itemid=2458, count=1}, -- Steel Helmet
{itemid=2465, count=1}, -- Ranger's cloak
{itemid=2478, count=1}, -- Ranger legs
{itemid=2643, count=1}, -- Leather Boots
{itemid=2525, count=1}, -- Dark Shield
{itemid=2182, count=1}, -- Snakebite Rod

},
{ -- paladin items
{itemid=2458, count=1}, -- Steel Helmet
{itemid=2465, count=1}, -- Ranger's cloak
{itemid=2478, count=1}, -- Ranger legs
{itemid=2643, count=1}, -- Leather Boots
{itemid=2525, count=1}, -- Dark Shield
{itemid=2389, count=10}, -- Spears

},
{ -- knight items
{itemid=2458, count=1}, -- Steel Helmet
{itemid=2465, count=1}, -- Ranger's cloak
{itemid=2478, count=1}, -- Ranger legs
{itemid=2643, count=1}, -- Leather Boots
{itemid=2525, count=1}, -- Dark Shield
{itemid=8602, count=1}, -- Jagged Sword
{itemid=8601, count=1}, -- Steel Axe
{itemid=2398, count=1}, -- Clerical Mace

}
}

--Home Town setup
local city1 = {name = "Lightonia", id = 1, destination = {x=345, y=387, z=7},
text = "Lightonia City, the only place to be. So what vocation do you wish to become? {"..vocation1.name .."}, {"..vocation2.name .."}, {"..vocation3.name .."} or {"..vocation4.name .."}?"}

local towntext = "You can only live in {".. city1.name .."}."

--Text setup
local requiredlevel = 8
local lowlevel = "COME BACK WHEN YOU ARE LEVEL 8!"
local refuse = "Then come back when you are ready."
local refuse_voc = "Then what vocation do you want to become?"

----End Config-----

for _, items in ipairs(firstItems) do
table.insert(items, item)
end

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

function greetCallback(cid)

if(getPlayerLevel(cid) < requiredlevel) then
npcHandler:say(lowlevel, cid)
return false
else
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
talktopic[talkUser], town[talkUser], vocation[talkUser], destination[talkUser], voc[talkUser] = 0, 0, 0, 0, 0
return true
end
end

function creatureSayCallback(cid, type, msg)

talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if(not npcHandler:isFocused(cid)) then
return false
end

--Select Home Town control
if talktopic[talkUser] == 0 and msgcontains(msg, "yes") then
talktopic[talkUser] = 1 --question one, what city do you want?
npcHandler:say(towntext, cid)

elseif talktopic[talkUser] == 0 and msgcontains(msg, "no") then
talktopic[talkUser] = 0
npcHandler:unGreet(cid)

elseif talktopic[talkUser] == 1 and msgcontains(msg, city1.name) then
town[talkUser] = city1.id
destination[talkUser] = city1.destination
npcHandler:say(city1.text, cid)
talktopic[talkUser] = 2 --question two, what vocation do you want?

elseif talktopic[talkUser] == 1 and msgcontains(msg, city2.name) then
town[talkUser] = city2.id
destination[talkUser] = city2.destination
npcHandler:say(city2.text, cid)
talktopic[talkUser] = 2 --question two, what vocation do you want?
end

--Select Vocation control
if talktopic[talkUser] == 2 and msgcontains(msg, vocation1.name) then
talktopic[talkUser] = 3 --confirm dicision: are you sure you want to become...
voc[talkUser] = vocation1.id
npcHandler:say(vocation1.text, cid)

elseif talktopic[talkUser] == 2 and msgcontains(msg, vocation2.name) then
talktopic[talkUser] = 3 --confirm dicision: are you sure you want to become...
voc[talkUser] = vocation2.id
npcHandler:say(vocation2.text, cid)

elseif talktopic[talkUser] == 2 and msgcontains(msg, vocation3.name) then
talktopic[talkUser] = 3 --confirm dicision: are you sure you want to become...
voc[talkUser] = vocation3.id
npcHandler:say(vocation3.text, cid)

elseif talktopic[talkUser] == 2 and msgcontains(msg, vocation4.name) then
talktopic[talkUser] = 3 --confirm dicision: are you sure you want to become...
voc[talkUser] = vocation4.id
npcHandler:say(vocation4.text, cid)
end

--Confirm your choice control
if talktopic[talkUser] == 3 and msgcontains(msg, 'yes') then
talktopic[talkUser] = 4
vocation[talkUser] = voc[talkUser]

elseif talktopic[talkUser] == 3 and msgcontains(msg, 'no') then
talktopic[talkUser] = 2
npcHandler:say(refuse_voc, cid)
voc[talkUser] = 0
end

if(destination[talkUser] ~= 0 and vocation[talkUser] ~= 0 and town[talkUser] ~= 0 and talktopic[talkUser] == 4) then
if(getPlayerLevel(cid) < requiredlevel) then
npcHandler:say('You must first reach level ' .. requiredlevel .. '!', cid)
npcHandler:resetNpc()
else
if(getPlayerVocation(cid) > 0) then
npcHandler:say('Sorry, You already have a vocation!', cid)
npcHandler:resetNpc()
else
doPlayerSetVocation(cid, vocation[talkUser])
doPlayerSetTown(cid, town[talkUser])
npcHandler:resetNpc()

local tmp = getCreaturePosition(cid)
doTeleportThing(cid, destination[talkUser])
doSendMagicEffect(tmp, CONST_ME_POFF)
doSendMagicEffect(destination, CONST_ME_TELEPORT)

itemThink(cid)
end
end
end
return true
end

function itemThink(cid)
talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local backpack = doCreateItemEx(1988, 1)
local giveItems = firstItems[vocation[talkUser]]
if giveItems ~= nil then
for _, v in ipairs(giveItems) do
doAddContainerItem(backpack, v.itemid, v.count or 1)
end
local addItem = doPlayerAddItemEx(cid, backpack, 0)
if (addItem == RETURNVALUE_NOERROR and getPlayerStorageValue(cid,9011) < 1) then
setPlayerStorageValue(cid,9011,1)
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You recieved items from Isa.')
return true
elseif addItem == RETURNVALUE_NOTENOUGHCAPACITY then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You don\'t have enough capacity for your start items, please make capacity by getting rid of some items.')
addEvent(itemThink,10000,cid)
return true
end
end
return true
end

npcHandler:setMessage(MESSAGE_GREET, "Hello |PLAYERNAME|. Are you prepared to face your destiny?")
npcHandler:setMessage(MESSAGE_WALKAWAY, "Goodbye adventurer!")
npcHandler:setMessage(MESSAGE_FAREWELL, "Come back when you are ready!")

npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Back
Top