summaryrefslogtreecommitdiff
path: root/example/serverdata/scripts
AgeCommit message (Collapse)AuthorFilesLines
2012-02-25Merged the example client and server dataThorbjørn Lindeijer18-1089/+0
It's easier to just talk about world data and to modify it as a whole. If there is really a need to separate it, a project can still choose to do that (and in whatever suitable way). There is no need to enforce this separation or to do it in our example. Reviewed-by: Erik Schilling
2012-02-04Simplified merchant.luaThorbjørn Lindeijer1-80/+85
Just defined an inline function to make talking to the player easier. Would be nice when NPC scripts could look more like this by default. Also indented with 4 spaces, which we do in C++ so why not Lua files (the file had mixed 2 and 4 space indentation before).
2012-01-31Use a full user data object for MapObject referencesThorbjørn Lindeijer1-0/+10
Based on a templated helper class, MapObject references in Lua scripts are now full user data objects. Using the '__index' member of their metatable, a library is associated with it so that member functions can be called directly on the object. Reviewed-by: Yohann Ferreira Reviewed-by: Erik Schilling
2012-01-22Added announce(text [, sender]) lua functionErik Schilling1-0/+1
The function will cause a global announcement. If no sender ist set "Server" will be used. Reviewed-by: Bjorn.
2012-01-18Added the chr_get_inventory and chr_get_equipment functions.Yohann Ferreira1-0/+28
Those will make the scripters able to get a full view of the current player's possessions. Use with care. + Fixes following Ablu's review. Resolves: Mana-Mantis #207. Reviewed-by: Ablu
2012-01-18Fixed the chr_inv_count function to handle equipment.Yohann Ferreira1-2/+11
the function can now count in the inventory and/or the player's equipment. I also fixed the script function and added a use case in the example map. + Fixes after Ablu's review. + 2nd fix after Ablu's review: Fix the inventory remove behaviour. Resolves: Mana-Mantis #288 Reviewed-by: Ablu
2012-01-02Made all beings capable of having a genderErik Schilling3-10/+10
Reviewed-by: o11c, bjorn, Bertram.
2012-01-02Made do_npc_close to be called by default after the end of the talk functionErik Schilling8-11/+1
Reviewed-by: Bertram.
2011-11-07Merged three global script states into oneThorbjørn Lindeijer1-0/+17
These scripts could trivially share one script state, since the methods called on them from the server are not overlapping. This does leave them open to access each other's global variables, but that's the problem with global variables. The one remaining global script file name is now configurable, so that it may also be set to a script in a different scripting language. The two related script options are: script_mainFile (default: scripts/main.lua) script_defaultEngine (default: lua) - renamed from defaultScriptEngine Reviewed-by: jurkan Reviewed-by: Yohann Ferreira
2011-10-19Merge branch 'master' of github.com:mana/manaservYohann Ferreira1-7/+12
Conflicts: src/game-server/accountconnection.cpp
2011-10-19Prevent server crash by not having beings talk after spawn for nowThorbjørn Lindeijer1-7/+12
At the moment it is the responsibility of the script to make sure any references to beings passed into script functions are valid. This means you can't schedule delayed scripts like the one making maggots say 'Roaaarrrr!!!', since the being might have been removed before the script gets executed. In the case of this bug the maggots are removed by some script code testing 'mana.monster_remove'. We should of course fix the way actor handles are used in Lua so that scripts can't end up crashing the server. Mantis-issue: 384 Reviewed-by: Yohann Ferreira
2011-09-28Added the chr_get_level script function.Yohann Ferreira1-0/+1
2011-08-25Merge branch 'equipment-fix' of github.com:Bertram25/manaservYohann Ferreira1-2/+2
2011-08-19Merge git://gitorious.org/~bertram/mana/manaserv-equipment-fix into ↵Yohann Ferreira1-2/+2
equipment-fix Conflicts: example/serverdata/scripts/maps/desert.lua
2011-08-19Added boots and pants to play with on the test map.Yohann Ferreira1-1/+1
2011-08-19Used the client base to make a final bugfix on the server code.Yohann Ferreira1-1/+1
Made the server handle only one slot type requirement since it's irrelevant to have more anyway. Plus, it simplifies the code for both equipping/unequipping. I also added a dagger to show how equipping/unequipping is working.
2011-08-18Added LUA function for changing anger of monsters.Erik Schilling1-1/+4
You now can change the anger of a monster to a being using mana.monster_change_anger(monster, being, anger) Resolves: Mana-Mantis #366.
2011-08-18Added LUA function for changing anger of monsters.Erik Schilling1-1/+4
You now can change the anger of a monster to a being using mana.monster_change_anger(monster, being, anger) Resolves: Mana-Mantis #366.
2011-08-10Made chr_inv_count and npc_trade capable of taking a name or an id.Erik Schilling1-3/+4
Resolves: Mana-Mantis #318. Reviewed-by: Bertram.
2011-08-04Allowed names of items and monsters in scripts - part 1.Erik Schilling1-1/+1
You can now use either the name or the id of the item in the LUA functions chr_inv_change, monster_create, item_drop. Part of: Mana-Mantis #318. Reviewed-by: Bertram.
2011-08-03Unified the lua.cpp documentation.Yohann Ferreira2-8/+8
I also changed the chatmessage function to chat_message to follow the coding standard.
2011-08-03Added monster_remove lua function.Erik Schilling1-0/+9
mana.monster_remove(monster) can now be used to remove a monster from a map. Resolves: Mana-Mantis #352. Reviewed-by: Bertram.
2011-07-04Added new lua function for calculating distances.Ablu1-0/+2
You can now call mana.get_distance(being1, being2) or mana.get_distance(x1, y1, x2, y2) for calculating distances. Reviewed-by: Jaxad0127, Bertram. Resolves: Mana-Mantis #370.
2011-04-27fixed a bug in the example crafting scriptsPhilipp Sehmisch1-2/+2
(trivial change)
2011-04-27Added a simple crafting systemPhilipp Sehmisch1-0/+99
A client can craft something using the @craft command. The command needs a list of item names and amounts. The gameserver checks if the character has these items in the inventory and then passes the list together with the character handle to the lua script function on_craft in the script file scripts/crafting.lua. This function can then be used to evaluate if the list is a valid crafting combination and when this is the case take or give items. Implemented two example crafting scripts there, one which enforces exact item order and amount and one which doesn't. Both are disabled per default and one needs to be enabled by uncommenting a line. Also gave the player group permission to use the @craft command in permissions.xml and added two new items (wood and iron) required for the example crafting combination. Resolves: #333 Reviewed-by: bcs86, Bertram
2011-04-17Added a shake effect when Harmony is disappearing.Yohann Ferreira1-1/+7
... And one when she's coming back. Reviewed-by: Jaxad0127.
2011-03-14Script binding for the new screen shake effect.Philipp Sehmisch1-0/+48
The new lua function mana.chr_shake_screen can cause a screen shake for a single client with variable x-intensity, y-intensity, decay and duration. I also added an example script which causes tremors for nearby characters with intensity and direction relative to a specific point. The function is not referenced on the example map because it is quite distracting.
2011-03-11Change the monster talking delay to 0.5 to minimize test failures.Yohann Ferreira1-1/+1
This should do the trick until we have a better time management system. This closed issue: Mana-Mantis #205.
2011-03-09Show a way to make monsters speak at spawn time.Yohann Ferreira1-2/+11
Even when events are inserted before game state update time, the monsters don't speak since they still don't have an id (-1). As I thought that reworking the mapcomposite engine for that particular point was ineffective, here is another working way to make monsters speak at spawn time by using the schedule_in function with 0.3 second (or 3 ticks). Resolves: Mana-Mantis #205. Reviewed-by: Thorbjorn.
2011-03-02Enabling of warp to respawn location after deathStefan Dombrowski1-1/+1
Reviewed-by: Thorbjorn
2011-02-20Made use of npc_disable(), npc_enable() on the template map.Yohann Ferreira1-0/+4
2011-02-20Update barbers and hair display.Yohann Ferreira1-2/+2
2011-02-15Added a merchant and a blacksmith on the template map.Yohann Ferreira3-73/+113
They're both using a fully working merchant lua function. Resolves: Mana-mantis #295.
2011-02-11Finally fix Harmony giving some GP to characters.Yohann Ferreira1-7/+4
2011-02-08Implemented LUA binding to get the gender of a characterPhilipp Sehmisch1-1/+7
The function is named mana.chr_get_gender. It returns 0 for male and 1 for female. libmana-constants.lua defines the variables GENDER_MALE and GENDER_FEMALE with these values. Also made the banker NPC refer to the gender of the player character. Reviewed-by: Jaxad0127
2011-01-31Added first visible npcs and play with them a bit.Yohann Ferreira1-6/+36
2011-01-27Simply fixing the map script header while i see it.Yohann Ferreira1-4/+4
2011-01-27Updates to the example data.Yohann Ferreira2-2/+34
- Fixed monsters Id. - Added collision layer to the desert map. - Added a few simple NPCs on the map (They still need a sprite.) - Added player and hairstyles sprites files and definition in items.xml.
2010-12-30Added new example files needed to start a more complete feature-showing map.Yohann Ferreira12-10/+644
I also replaced certain files with newer version, just as the items.xml file. And I started to split test npcs from the tmwserv repository into reusable pieces. Big but trivial. Part of the Mana-Mantis issue: #231.
2010-07-09Added LUA script bindings for manipulating the specials available to a ↵Philipp Sehmisch1-0/+39
character. Added script call for getting the cost of a special (recharge only for now) Deleting specials works server-sided but the client isn't informed about it properly. Specials without recharge cost don't appear for the player. Both of these features require an additional netcode message. Reviewed-by: Freeyorp
2010-05-31Added minimal example global_events.luaPhilipp Sehmisch1-0/+57
Reviewed-by: Thorbjorn
2010-05-30Copied basic Lua libs back from tmwserv-data and added dummy dataThorbjørn Lindeijer1-0/+7
The dummy data is currently mostly empty data though, so still nothing to see as far as the example content is concerned. Reviewed-by: Bertram