summaryrefslogtreecommitdiffstats
path: root/example/serverdata
Commit message (Collapse)AuthorAgeFilesLines
* Merged the example client and server dataThorbjørn Lindeijer2012-02-2520-1147/+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
* Moved @announce permission to GM groupThorbjørn Lindeijer2012-02-051-1/+1
| | | | Reviewed-by: Erik Schilling
* Simplified merchant.luaThorbjørn Lindeijer2012-02-041-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).
* Use a full user data object for MapObject referencesThorbjørn Lindeijer2012-01-311-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
* Added announce(text [, sender]) lua functionErik Schilling2012-01-221-0/+1
| | | | | | | The function will cause a global announcement. If no sender ist set "Server" will be used. Reviewed-by: Bjorn.
* Added the chr_get_inventory and chr_get_equipment functions.Yohann Ferreira2012-01-181-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
* Fixed the chr_inv_count function to handle equipment.Yohann Ferreira2012-01-181-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
* Made all beings capable of having a genderErik Schilling2012-01-023-10/+10
| | | | Reviewed-by: o11c, bjorn, Bertram.
* Made do_npc_close to be called by default after the end of the talk functionErik Schilling2012-01-028-11/+1
| | | | Reviewed-by: Bertram.
* Added @skills command which lists all skillsErik Schilling2011-12-041-0/+1
| | | | Reviewed-by: o11c.
* Merged three global script states into oneThorbjørn Lindeijer2011-11-071-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
* Added @permissions commandErik Schilling2011-11-021-0/+1
| | | | | | | Added @permissions <character> which lists the permissions of a player. Made @givepermission giving feedback on success. Reviewed-by: Thorbjørn Lindeijer.
* Merge branch 'master' of github.com:mana/manaservYohann Ferreira2011-10-191-7/+12
|\ | | | | | | | | Conflicts: src/game-server/accountconnection.cpp
| * Prevent server crash by not having beings talk after spawn for nowThorbjørn Lindeijer2011-10-191-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
| * Added chatcommand to get position of a character.Erik Schilling2011-09-151-0/+1
| | | | | | | | | | | | | | | | Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385. Reviewed-by: Bertram.
| * Added LUA function for changing anger of monsters.Erik Schilling2011-08-181-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.
* | Added the chr_get_level script function.Yohann Ferreira2011-09-281-0/+1
| |
* | Added chatcommand to get position of a character.Erik Schilling2011-09-011-0/+1
| | | | | | | | | | Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385.
* | Merge branch 'equipment-fix' of github.com:Bertram25/manaservYohann Ferreira2011-08-251-2/+2
|\ \
| * \ Merge git://gitorious.org/~bertram/mana/manaserv-equipment-fix into ↵Yohann Ferreira2011-08-191-2/+2
| |\ \ | | |/ | |/| | | | | | | | | | | | | equipment-fix Conflicts: example/serverdata/scripts/maps/desert.lua
| | * Added boots and pants to play with on the test map.Yohann Ferreira2011-08-191-1/+1
| | |
| | * Used the client base to make a final bugfix on the server code.Yohann Ferreira2011-08-191-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.
* | | Added LUA function for changing anger of monsters.Erik Schilling2011-08-181-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.
* / Made chr_inv_count and npc_trade capable of taking a name or an id.Erik Schilling2011-08-101-3/+4
|/ | | | | | Resolves: Mana-Mantis #318. Reviewed-by: Bertram.
* Allowed names of items and monsters in scripts - part 1.Erik Schilling2011-08-041-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.
* Unified the lua.cpp documentation.Yohann Ferreira2011-08-032-8/+8
| | | | | I also changed the chatmessage function to chat_message to follow the coding standard.
* Added monster_remove lua function.Erik Schilling2011-08-031-0/+9
| | | | | | | | | mana.monster_remove(monster) can now be used to remove a monster from a map. Resolves: Mana-Mantis #352. Reviewed-by: Bertram.
* Added new lua function for calculating distances.Ablu2011-07-041-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.
* fixed a bug in the example crafting scriptsPhilipp Sehmisch2011-04-271-2/+2
| | | | (trivial change)
* Added a simple crafting systemPhilipp Sehmisch2011-04-272-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Added a shake effect when Harmony is disappearing.Yohann Ferreira2011-04-171-1/+7
| | | | | | ... And one when she's coming back. Reviewed-by: Jaxad0127.
* Script binding for the new screen shake effect.Philipp Sehmisch2011-03-141-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.
* Change the monster talking delay to 0.5 to minimize test failures.Yohann Ferreira2011-03-111-1/+1
| | | | | | | This should do the trick until we have a better time management system. This closed issue: Mana-Mantis #205.
* Show a way to make monsters speak at spawn time.Yohann Ferreira2011-03-091-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.
* Enabling of warp to respawn location after deathStefan Dombrowski2011-03-021-1/+1
| | | | Reviewed-by: Thorbjorn
* Implementing @killmonstersStefan Dombrowski2011-02-221-0/+1
| | | | Reviewed-by: Crush
* Made use of npc_disable(), npc_enable() on the template map.Yohann Ferreira2011-02-201-0/+4
|
* Update barbers and hair display.Yohann Ferreira2011-02-201-2/+2
|
* Added a merchant and a blacksmith on the template map.Yohann Ferreira2011-02-153-73/+113
| | | | | | They're both using a fully working merchant lua function. Resolves: Mana-mantis #295.
* Finally fix Harmony giving some GP to characters.Yohann Ferreira2011-02-111-7/+4
|
* Implemented LUA binding to get the gender of a characterPhilipp Sehmisch2011-02-081-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
* Added first visible npcs and play with them a bit.Yohann Ferreira2011-01-311-6/+36
|
* Simply fixing the map script header while i see it.Yohann Ferreira2011-01-271-4/+4
|
* Updates to the example data.Yohann Ferreira2011-01-272-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.
* Added new example files needed to start a more complete feature-showing map.Yohann Ferreira2010-12-3012-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.
* Implemented @log and @logsay commands.Philipp Sehmisch2010-12-271-0/+2
| | | | | | | | | | The @log command is the equivalent to tmwAthena's @l. It allows to log a text as a transaction for documentation purpose. The @logsay command works like @t on tmwAthena. It says something in public chat while also logging it as a separate trasaction. Reviewed-by: Thorbjorn
* Transaction logging of various command, new transaction codes and style fix.Philipp Sehmisch2010-12-271-0/+2
| | | | | | | | | | | | | | The @mute, @goto, @attribute and @announce commands now logs transactions to the database. Added new transaction codes to database. I've preliminarily added a lot of codes for not yet supported commands so that we needn't do a database update with every single commit which implements one. Also using the equivalent "say" helper function in place of the "GameState::sayTo" method in the command handler. Reviewed-by: Kage
* Implemented @die chat commandPhilipp Sehmisch2010-12-171-0/+1
| | | | | | | | | | | | The @die chat command kills the evoking character by setting its hit points to 0. The example permissions.xml assigns it to the "tester" rights group and not "players" because server admins who are not aware of this command might run into trouble when they assume that players don't have a method to teleport to their spawn point voluntarily. Resolves: mantis ticket #192 Reviewed-by: Jaxad0127
* Improve warp commandsJared Adams2010-12-061-0/+1
| | | | | | | | @warp no longer takes a character. @charwarp was added to handle that ('#' still means the player). Both can take a map name, map id (preceded by '#') or '#' for the player's current map. Logging of warp commands now logs destination map and player warped (for @charwarp).
* Added @mute chat command.Philipp Sehmisch2010-08-301-0/+1
| | | | | | | | The @mute command stops another character from talking in the public chat for a specified amount of seconds. It doesn't survive a reconnect of the client, but I don't think that this is necessary because a mute by a GM is usually intended as a slap on the wrist with more severe consequences to follow (like @ban).