summaryrefslogtreecommitdiff
path: root/example/serverdata
AgeCommit message (Collapse)AuthorFilesLines
2012-02-25Merged the example client and server dataThorbjørn Lindeijer20-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
2012-02-05Moved @announce permission to GM groupThorbjørn Lindeijer1-1/+1
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-12-04Added @skills command which lists all skillsErik Schilling1-0/+1
Reviewed-by: o11c.
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-11-02Added @permissions commandErik Schilling1-0/+1
Added @permissions <character> which lists the permissions of a player. Made @givepermission giving feedback on success. Reviewed-by: Thorbjørn Lindeijer.
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-09-15Added chatcommand to get position of a character.Erik Schilling1-0/+1
Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385. Reviewed-by: Bertram.
2011-09-01Added chatcommand to get position of a character.Erik Schilling1-0/+1
Add chatcommand @getpos <character> which return the mapid and location of the character. Part of: Mana-Mantis: #385.
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 Sehmisch2-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
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-22Implementing @killmonstersStefan Dombrowski1-0/+1
Reviewed-by: Crush
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-12-27Implemented @log and @logsay commands.Philipp Sehmisch1-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
2010-12-27Transaction logging of various command, new transaction codes and style fix.Philipp Sehmisch1-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
2010-12-17Implemented @die chat commandPhilipp Sehmisch1-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
2010-12-06Improve warp commandsJared Adams1-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).
2010-08-30Added @mute chat command.Philipp Sehmisch1-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).