summaryrefslogtreecommitdiffstats
path: root/example/scripts
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-14 15:10:06 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-04-14 15:10:06 +0200
commit080ddbe822b03416934a875b2d949e3afc84fb96 (patch)
tree8915d1c92fdd0e609952afc492cbc3ea1152d1ae /example/scripts
parent3a132996f798dbf552ac858b06fa656b6790a501 (diff)
downloadmanaserv-080ddbe822b03416934a875b2d949e3afc84fb96.tar.gz
manaserv-080ddbe822b03416934a875b2d949e3afc84fb96.tar.xz
manaserv-080ddbe822b03416934a875b2d949e3afc84fb96.zip
Removed NPC and character parameters from NPC functions
These functions can only be used in the context of a character talking to an NPC, so these parameters can be deduced from that context rather than passing them explicitly all the time. Simplifies NPC scripting.
Diffstat (limited to 'example/scripts')
-rw-r--r--example/scripts/maps/desert.lua18
-rw-r--r--example/scripts/npcs/banker.lua38
-rw-r--r--example/scripts/npcs/barber.lua14
-rw-r--r--example/scripts/npcs/debugger.lua40
-rw-r--r--example/scripts/npcs/emotemaker.lua9
-rw-r--r--example/scripts/npcs/healer.lua4
-rw-r--r--example/scripts/npcs/merchant.lua12
-rw-r--r--example/scripts/npcs/postman.lua12
8 files changed, 72 insertions, 75 deletions
diff --git a/example/scripts/maps/desert.lua b/example/scripts/maps/desert.lua
index 6b761dc..1fee2fc 100644
--- a/example/scripts/maps/desert.lua
+++ b/example/scripts/maps/desert.lua
@@ -39,7 +39,7 @@ end)
function Smith(npc, ch, list)
local sword_count = chr_inv_count(ch, true, true, "Sword")
if sword_count > 0 then
- npc_message(npc, ch, "Ah! I can see you already have a sword.")
+ npc_message("Ah! I can see you already have a sword.")
end
Merchant(npc, ch, list)
end
@@ -54,7 +54,7 @@ function possessions_table(npc, ch)
..inventory_table[i].id..", "..inventory_table[i].name..", "
..inventory_table[i].amount
end
- npc_message(npc, ch, item_message)
+ npc_message(item_message)
item_message = "Equipment:"..
"\nSlot id, item id, item name:"..
@@ -64,7 +64,7 @@ function possessions_table(npc, ch)
item_message = item_message.."\n"..equipment_table[i].slot..", "
..equipment_table[i].id..", "..equipment_table[i].name
end
- npc_message(npc, ch, item_message)
+ npc_message(item_message)
end
@@ -74,21 +74,21 @@ function Harmony(npc, ch, list)
being_apply_status(ch, 1, 99999)
-- Say all the messages in the messages list.
for i = 1, #list do
- npc_message(npc, ch, list[i])
+ npc_message(list[i])
end
--- Give the player 100 units of money the first time.
if harmony_have_talked_to_someone == false then
- npc_message(npc, ch, "Here is some money for you to find some toys to play with.\nEh Eh!")
+ npc_message("Here is some money for you to find some toys to play with.\nEh Eh!")
chr_money_change(ch, 100)
- npc_message(npc, ch, string.format("You now have %d shiny coins!", chr_money(ch)))
+ npc_message(string.format("You now have %d shiny coins!", chr_money(ch)))
harmony_have_talked_to_someone = true
- npc_message(npc, ch, string.format("Try to come back with a better level than %i.", chr_get_level(ch)))
+ npc_message(string.format("Try to come back with a better level than %i.", chr_get_level(ch)))
else
- npc_message(npc, ch, "Let me see what you've got so far... Don't be afraid!")
+ npc_message("Let me see what you've got so far... Don't be afraid!")
effect_create(EMOTE_WINK, npc)
possessions_table(npc, ch)
end
- npc_message(npc, ch, "Have fun!")
+ npc_message("Have fun!")
effect_create(EMOTE_HAPPY, npc)
-- Make Harmony disappear for a while... with a small earthquake effect!
local shakeX = posX(npc)
diff --git a/example/scripts/npcs/banker.lua b/example/scripts/npcs/banker.lua
index e6e1e28..88ba9ac 100644
--- a/example/scripts/npcs/banker.lua
+++ b/example/scripts/npcs/banker.lua
@@ -12,21 +12,21 @@
function Banker(npc, ch)
if being_get_gender(ch) == GENDER_MALE then
- npc_message(npc, ch, "Welcome to the bank, sir!")
+ npc_message("Welcome to the bank, sir!")
elseif being_get_gender(ch) == GENDER_FEMALE then
- npc_message(npc, ch, "Welcome to the bank, madam!")
+ npc_message("Welcome to the bank, madam!")
else
- npc_message(npc, ch, "Welcome to the bank... uhm... person of unspecified gender!")
+ npc_message("Welcome to the bank... uhm... person of unspecified gender!")
end
local account = tonumber(chr_get_quest(ch, "BankAccount"))
local result = -1
if (account == nil) then --Initial account creation, if needed
- npc_message(npc, ch, "Hello! Would you like to setup a bank account? There is a sign-on bonus right now!")
- result = npc_choice(npc, ch, "Yes", "No")
+ npc_message("Hello! Would you like to setup a bank account? There is a sign-on bonus right now!")
+ result = npc_choice("Yes", "No")
if (result == 1) then
chr_set_quest(ch, "BankAccount", 5)
- npc_message(npc, ch, "Your account has been made. Your sign-on bonus is 5GP.")
+ npc_message("Your account has been made. Your sign-on bonus is 5GP.")
account = 5
end
end
@@ -37,41 +37,41 @@ function Banker(npc, ch)
result = 1
while (result < 3) do --While they've choosen a valid option that isn't "Never mind"
account = tonumber(chr_get_quest(ch, "BankAccount")) --Why do I need to convert this?
- npc_message(npc, ch, "Your balance: " .. account .. ".\nYour money: " .. chr_money(ch) .. ".")
- result = npc_choice(npc, ch, "Deposit", "Withdraw", "Never mind")
+ npc_message("Your balance: " .. account .. ".\nYour money: " .. chr_money(ch) .. ".")
+ result = npc_choice("Deposit", "Withdraw", "Never mind")
if (result == 1) then --Deposit
money = chr_money(ch);
if (money > 0) then --Make sure they have money to deposit
- npc_message(npc, ch, "How much would you like to deposit? (0 will cancel)")
- input = npc_ask_integer(npc, ch, 0, money, 1)
+ npc_message("How much would you like to deposit? (0 will cancel)")
+ input = npc_ask_integer(0, money, 1)
money = chr_money(ch)
if (input > 0 and input <= money) then --Make sure something weird doesn't happen and they try to deposit more than they have
chr_money_change(ch, -input)
chr_set_quest(ch, "BankAccount", account + input)
- npc_message(npc, ch, input .. " GP deposited.")
+ npc_message(input .. " GP deposited.")
elseif (input > money) then --Chosen more than they have
- npc_message(npc, ch, "You don't have that much money. But you just did....")
+ npc_message("You don't have that much money. But you just did....")
end
else
- npc_message(npc, ch, "You don't have any money to deposit!")
+ npc_message("You don't have any money to deposit!")
end
elseif (result == 2) then --Withdraw
if (account > 0) then --Make sure they have money to withdraw
- npc_message(npc, ch, "How much would you like to withdraw? (0 will cancel)")
- input = npc_ask_integer(npc, ch, 0, account, 1)
+ npc_message("How much would you like to withdraw? (0 will cancel)")
+ input = npc_ask_integer(0, account, 1)
if (input > 0 and input <= account) then --Make sure something weird doesn't happen and they try to withdraw more than they have
chr_money_change(ch, input)
chr_set_quest(ch, "BankAccount", account - input)
- npc_message(npc, ch, input .. " GP withdrawn.")
+ npc_message(input .. " GP withdrawn.")
elseif (input > account) then --Chosen more than they have
- npc_message(npc, ch, "You don't have that much in your account. But you just did....")
+ npc_message("You don't have that much in your account. But you just did....")
end
else
- npc_message(npc, ch, "Your account is empty!")
+ npc_message("Your account is empty!")
end
end
end --This ends the while loop
end
- npc_message(npc, ch, "Thank you. Come again!")
+ npc_message("Thank you. Come again!")
end
diff --git a/example/scripts/npcs/barber.lua b/example/scripts/npcs/barber.lua
index 70efb43..58aa1a9 100644
--- a/example/scripts/npcs/barber.lua
+++ b/example/scripts/npcs/barber.lua
@@ -79,11 +79,11 @@ function Barber(npc, ch, data)
-- Choose an appropriate message
if result == 1 then
- npc_message(npc, ch, "Hello! What style would you like today?")
+ npc_message("Hello! What style would you like today?")
elseif result == 2 then
- npc_message(npc, ch, "Hello! What color would you like today?")
+ npc_message("Hello! What color would you like today?")
else
- npc_message(npc, ch, "Hello! What can I do for you today?")
+ npc_message("Hello! What can I do for you today?")
end
print("#styles ==", #styles)
@@ -91,7 +91,7 @@ function Barber(npc, ch, data)
-- Repeat until the user selects nothing
repeat
if (result == 1) then -- Do styles
- result = npc_choice(npc, ch, "Bald", styles, "Surprise me", "Never mind")
+ result = npc_choice("Bald", styles, "Surprise me", "Never mind")
result = result -1
@@ -113,7 +113,7 @@ function Barber(npc, ch, data)
result = 3
end
elseif (result == 2) then -- Do colors
- result = npc_choice(npc, ch, colors, "Surprise me", "Never mind")
+ result = npc_choice(colors, "Surprise me", "Never mind")
--Random
if (result == #colors + 1) then
@@ -130,10 +130,10 @@ function Barber(npc, ch, data)
-- If we have both styles and colors, show the main menu
if #styles > 0 and #colors > 0 then
- result = npc_choice(npc, ch, "Change my style", "Change my color", "Never mind")
+ result = npc_choice("Change my style", "Change my color", "Never mind")
end
until result >= 3 --While they've choosen a valid option that isn't "Never mind"
-- Let's close up
- npc_message(npc, ch, "Thank you. Come again!")
+ npc_message("Thank you. Come again!")
end
diff --git a/example/scripts/npcs/debugger.lua b/example/scripts/npcs/debugger.lua
index 621ba0f..e21982a 100644
--- a/example/scripts/npcs/debugger.lua
+++ b/example/scripts/npcs/debugger.lua
@@ -12,38 +12,38 @@
function npc1_talk(npc, ch)
on_remove(ch, function() print "Player has left the map." end);
- npc_message(npc, ch, "Hello! I am the testing NPC.")
+ npc_message("Hello! I am the testing NPC.")
local rights = chr_get_rights(ch);
if (rights >= 128) then
- npc_message(npc, ch, "Oh mighty server administrator, how can I avoid your wrath?")
+ npc_message("Oh mighty server administrator, how can I avoid your wrath?")
elseif (rights >= 8) then
- npc_message(npc, ch, "How can I be of assistance, sir gamemaster?")
+ npc_message("How can I be of assistance, sir gamemaster?")
elseif (rights >= 4) then
- npc_message(npc, ch, "What feature would you like to debug, developer?")
+ npc_message("What feature would you like to debug, developer?")
elseif (rights >= 2) then
- npc_message(npc, ch, "How can I assist you in your testing duties?")
+ npc_message("How can I assist you in your testing duties?")
elseif (rights >= 1) then
- npc_message(npc, ch, "What do you want, lowly player?")
+ npc_message("What do you want, lowly player?")
else
- npc_message(npc, ch, "...aren't you supposed to be banned??")
+ npc_message("...aren't you supposed to be banned??")
end
- local v = npc_choice(npc, ch, "Guns! Lots of guns!",
- "A Christmas party!",
- "To make a donation.",
- "Slowly count from one to ten.",
- "Tablepush Test")
+ local v = npc_choice("Guns! Lots of guns!",
+ "A Christmas party!",
+ "To make a donation.",
+ "Slowly count from one to ten.",
+ "Tablepush Test")
if v == 1 then
- npc_message(npc, ch, "Sorry, this is a heroic-fantasy game, I do not have any gun.")
+ npc_message("Sorry, this is a heroic-fantasy game, I do not have any gun.")
elseif v == 2 then
local n1, n2 = chr_inv_count(ch, 524, 511)
if n1 == 0 or n2 ~= 0 then
- npc_message(npc, ch, "Yeah right...")
+ npc_message("Yeah right...")
else
- npc_message(npc, ch, "I can't help you with the party. But I see you have a fancy hat. I could change it into Santa's hat. Not much of a party, but it would get you going.")
- v = npc_choice(npc, ch, "Please do.", "No way! Fancy hats are classier.")
+ npc_message("I can't help you with the party. But I see you have a fancy hat. I could change it into Santa's hat. Not much of a party, but it would get you going.")
+ v = npc_choice("Please do.", "No way! Fancy hats are classier.")
if v == 1 then
chr_inv_change(ch, 524, -1, 511, 1)
end
@@ -51,14 +51,14 @@ function npc1_talk(npc, ch)
elseif v == 3 then
if chr_money_change(ch, -100) then
- npc_message(npc, ch, string.format("Thank you for you patronage! You are left with %d GP.", chr_money(ch)))
+ npc_message(string.format("Thank you for you patronage! You are left with %d GP.", chr_money(ch)))
local g = tonumber(chr_get_quest(ch, "001_donation"))
if not g then g = 0 end
g = g + 100
chr_set_quest(ch, "001_donation", g)
- npc_message(npc, ch, string.format("As of today, you have donated %d GP.", g))
+ npc_message(string.format("As of today, you have donated %d GP.", g))
else
- npc_message(npc, ch, "I would feel bad taking money from someone that poor.")
+ npc_message("I would feel bad taking money from someone that poor.")
end
elseif v == 4 then
@@ -95,6 +95,6 @@ function npc1_talk(npc, ch)
print("---------------");
end
- npc_message(npc, ch, "See you later!")
+ npc_message("See you later!")
end
diff --git a/example/scripts/npcs/emotemaker.lua b/example/scripts/npcs/emotemaker.lua
index 0f54663..ee8928b 100644
--- a/example/scripts/npcs/emotemaker.lua
+++ b/example/scripts/npcs/emotemaker.lua
@@ -21,11 +21,10 @@ function emote_talk(npc, ch)
elseif emo_state == EMOTE_HAPPY then
state = "happy"
end
- npc_message(npc, ch, string.format("The emotional palm seems %s.", state))
- v = npc_choice(npc, ch,
- "Stupid palm, you are ugly and everyone hates you!",
- "You are such a nice palm, let me give you a hug.",
- "Are you a cocos nucifera or a syagrus romanzoffiana?")
+ npc_message(string.format("The emotional palm seems %s.", state))
+ v = npc_choice("Stupid palm, you are ugly and everyone hates you!",
+ "You are such a nice palm, let me give you a hug.",
+ "Are you a cocos nucifera or a syagrus romanzoffiana?")
if (v == 1) then
emo_state = EMOTE_SAD
diff --git a/example/scripts/npcs/healer.lua b/example/scripts/npcs/healer.lua
index 3569673..910e221 100644
--- a/example/scripts/npcs/healer.lua
+++ b/example/scripts/npcs/healer.lua
@@ -5,8 +5,8 @@
--]]
function Healer(npc, ch)
- npc_message(npc, ch, "Do you need healing?")
- local c = npc_choice(npc, ch, "Heal me fully", "Heal 100 HP", "Don't heal me")
+ npc_message("Do you need healing?")
+ local c = npc_choice("Heal me fully", "Heal 100 HP", "Don't heal me")
if c == 1 then
being_heal(ch)
elseif c == 2 then
diff --git a/example/scripts/npcs/merchant.lua b/example/scripts/npcs/merchant.lua
index 2ef0a6b..bcec5fa 100644
--- a/example/scripts/npcs/merchant.lua
+++ b/example/scripts/npcs/merchant.lua
@@ -12,9 +12,7 @@
function Merchant(npc, ch, buy_sell_table)
- local function say(message)
- npc_message(npc, ch, message)
- end
+ local say = npc_message
-- Important note: You can add two tables made of trinoms here when calling the
-- merchant function. E.g.: Merchant(npc, ch, buy_table, sell_table)
@@ -56,7 +54,7 @@ function Merchant(npc, ch, buy_sell_table)
table.insert (choice_table, "Tell me about the objects on this map")
table.insert (choice_table, "Nevermind...")
- local v = npc_choice(npc, ch, choice_table)
+ local v = npc_choice(choice_table)
--Debug and learning purpose
--for i,k in ipairs(choice_table) do print(i,k) end
@@ -67,7 +65,7 @@ function Merchant(npc, ch, buy_sell_table)
if v == 1 then
-- "To buy."
- local buycase = npc_trade(npc, ch, false, buy_sell_table[1])
+ local buycase = npc_trade(false, buy_sell_table[1])
if buycase == 0 then
say "What do you want to buy?"
elseif buycase == 1 then
@@ -80,7 +78,7 @@ function Merchant(npc, ch, buy_sell_table)
if buy_sell_table[2] == nil then
-- "To sell stuff..."
- local sellcase = npc_trade(npc, ch, true)
+ local sellcase = npc_trade(true)
if sellcase == 0 then
say "Ok, what do you want to sell?"
elseif sellcase == 1 then
@@ -90,7 +88,7 @@ function Merchant(npc, ch, buy_sell_table)
end
else
-- "Can you make me a price for what I have?"
- local sellcase = npc_trade(npc, ch, true, buy_sell_table[2])
+ local sellcase = npc_trade(true, buy_sell_table[2])
if sellcase == 0 then
say "Here we go:"
elseif sellcase == 1 then
diff --git a/example/scripts/npcs/postman.lua b/example/scripts/npcs/postman.lua
index 95e6844..c0901f8 100644
--- a/example/scripts/npcs/postman.lua
+++ b/example/scripts/npcs/postman.lua
@@ -11,17 +11,17 @@
----------------------------------------------------------------------------------
function post_talk(npc, ch)
- npc_message(npc, ch, "Hello " .. being_get_name(ch))
+ npc_message("Hello " .. being_get_name(ch))
local strength = being_get_attribute(ch, ATTR_STRENGTH)
- npc_message(npc, ch, "You have " .. tostring(strength) .. " strength")
- npc_message(npc, ch, "What would you like to do?")
- local answer = npc_choice(npc, ch, "View Mail", "Send Mail", "Nothing")
+ npc_message("You have " .. tostring(strength) .. " strength")
+ npc_message("What would you like to do?")
+ local answer = npc_choice("View Mail", "Send Mail", "Nothing")
if answer == 1 then
local sender, post = chr_get_post(ch)
if sender == "" then
- npc_message(npc, ch, "No Post right now, sorry")
+ npc_message("No Post right now, sorry")
else
- npc_message(npc, ch, tostring(sender) .. " sent you " .. tostring(post))
+ npc_message(tostring(sender) .. " sent you " .. tostring(post))
end
end
if answer == 2 then