themanaworld / tmwa Goto Github PK
View Code? Open in Web Editor NEWThe server currently running The Mana World (mirrored from https://git.themanaworld.org/legacy/tmwa)
Home Page: https://www.themanaworld.org/
License: Other
The server currently running The Mana World (mirrored from https://git.themanaworld.org/legacy/tmwa)
Home Page: https://www.themanaworld.org/
License: Other
title says it all. it should do like getareausers and check for hide
OnPCLoginEvent is required to call clear/convert functions at login time
the lighter the better as it's not storing an intense amount of data. It's more OLTP.
as you walk into an area that hasn't had players in a while, the new mobs are in incorrect locations
to see it walk up to a stationary mob and try to attack it
so they can react on some words ie:
L_Ask:
npctalk "Sorfina", "What is your name?";
grabchat @name$;
goto L_Ask2;
L_Ask2:
npctalk "Sorfina", "You are called " + @name$ + ". Is that right?";
registerchatevent "yes", "Sorfina::OnNameOk";
registerchatevent "no", "Sorfina::OnNameRetry";
addtimer 10000, "Sorfina::OnNoReply";
end;
OnNameOk:
// do something
OnNameRetry:
goto L_Ask;
OnNoReply:
goto L_Ask2;
find a way to make the /mail
command work
Shop NPCs are incredibly single-focused, which makes sense since they are "shop NPCs". However, this causes an issue where nothing special can be done without constructing an ugly menu shop. Things such as requiring a certain level to open the shop or having an introductory dialog are impossible.
Possible solution: remove the "shop" NPC type and add a shop
command similar to menu
. This would allow much more customization without bloating code.
Example:
shop
"RedDye", -1,
@seconditem$, @secondprice;
The default pvp channel just silently resets on death so it confuses players. Therefore:
1
) should NOT reset on death because one could just cast @pvp
while being dead. The channel should automatically reset on login even if the player did not turn it off before logging out. (suggested behavior)OR
1
) SHOULD be reset on death BUT should tell the player about it (PvP : Off
). But this would not solve the problem of players finding it annoying to have to type @pvp
every single time they die.To solve a bug with the fight club, we need to:
1
reset on death.OR
Send your hp to players in the same channel as you but do not send if you have a magical cloak. Manaplus has no packet for this so we need to make one
Errors like invalid hairstyle will show in client name already taken
The scripting command "fakenpcname" has been removed on the test branch, but I'd like to keep it.
@wushin for the Tiled npc proposal it would be very useful to have a getnpclocation() builtin that can return the X and Y of the npc (not the attached player's).
A getnpcname() would also be useful but not mandatory.
Everytime I use a summon spell I see
WARNING: npc with no name:
MESSAGE @ 027-2,72,39
in the map log.
all cmdothernpc in server-data got converted to donpcevent
Since o11c made class changing work instantly, sex change is also instant (try it for yourself) and should no longer require logout and login
The spell language already has it
Spamming emotes makes the server slow as hell (as demonstrated by LazyTree)
#betsanc
(and other buffs) should be removed on re-spawn instead of on death.
Currently, damage taken from self-destructing mobs does not show the correct origin. Fix this.
Allow to update a variable without writing it twice.
Normal: set @foo, @foo + 1;
Shorthand: set @foo, + 1;
OR set @foo, ++;
Could be used for all kind of variables and not only for addition and subtraction:
Normal: set QL_HIDENSEEK, QL_HIDENSEEK | $@hideandseekNT_found5;
Shorthand: set QL_HIDENSEEK, | $@hideandseekNT_found5;
The close builtin should not implicitly do end;
but if we modify it it would cause incompatibility for other projects so I suggest:
close2;
followed by end;
instead of close;
close;
close;
has been deprecated for a while, completely remove itI also suggest some improvements for existing npcs:
close3;
builtin that just sends the close packet but does not wait for the reply.npcaction 5;
and followed by end;
.The mob move packet should be sent to the player if a mob is moving while the player enters the map or the visibility range of a monster because currently they are just standing until next move
It'd be nice if devs could list and edit quest variables with @ commands instead of making and then using using debug NPCs.
It could be as simple as a few commands: @varlist <search>
, @vartype variable
, and @varedit variable value
for example.
or maybe it could be in a conf file instead of hardcoded
Actually, nevermind, let's add a config to manaplus
Problems:
bonus bAspdRate, <n>
can be used in equip scripts to modify the attack delay. However, it can only be used to increase the speed; n < 0 has no effect.Possible solution:
Return View to its proper usage and add a Delay attribute to item_db.txt.
with themanaworld/tmwa-server-data#266 no npcs use killmonsterall anymore
Please look at this video: http://ubuntuone.com/7Mz3yVJAVaJqb7CgtvSPJM - as you can see I can't attack the second Fire Goblin, and after a while it disappears; but I can attack the first and the third Fire Goblin.
This is not the first time I notice that. If one go to the Sandstorm Desert to kill some Fire Goblins they can notice it, it happens very frequently.
The client I'm using is ManaPlus 1.3.7.7.
I've tried many combinations, but he always kills me when I try to turn in the bandana from the pirate cave. I have yet to actually kill a pirate (tried many times, died the sane number), so I hope that this isn't the cause, and if it is then the text should try to hit that is the reason he's so upset. I've even gone naked. I've never had another bandana other than the one from the chest in the bandit cave. I'm also suspecting the manaplus client since I built it from git.
upon server restart all chars are spawned at the starting point defined in tmwa-server-data (for the TMW server 042-2 26,26) regardless of where they were before.
We should be able to do in consts.txt the same things we could do in magic-config.sex
I want to make these changes but I don't know how:
menu
only allow to use labels starting with S_
when within a sub and only L_
otherwisegoto
only allow to use labels starting with S_
when within a sub and only L_
otherwise (and never On
since this should be with donpcevent)There are places that don't check char_fd is valid before using it.
I noticed this because the server has been crashing claiming it was dead. Of course, it was not dead, so there's a problem elsewhere, but ... if the server really were dead, it would still be a bug.
Take a look at parua.txt. To detect if you are idle it checks the position you have at the start of the round and compares it to the position you had at the start of the previous round. This is problematic because even if you are moving you can be detected as idle because you walked on the same tile.
To remedy to this we need builtin that checks if the player is idle. Hercules's checkidle builtin would probably be a good choice.
The char server pukes when trying to register with a bald hairstyle because bald is 20
and the max is 19
.
In char server the min and max hair style (and possibly other values) are hardcoded and should use a config like here: https://github.com/themanaworld/tmwa-server-data/blob/master/world/map/conf/battle_athena.conf#L272
...also, instead of duplicating some config in all 3 servers, why not have a global-athena.conf that could be read by all servers? I know that the 3 servers can all be run in separate folders (not necessarily in ~/tmwAthena
) so maybe we could add that conf file to PATH ?
syntax | implied meaning |
---|---|
`function | name` |
`script | name` |
`map,x,y,dir | script |
`map,x,y,dir | script |
^ we could also make dir
optional (and x
and y
while at it)
Currently, the way that account/character sex is handled is a mess.
I think the only reason is that, historically, you can't specify sex during character creation. Everything else seems to be untied though ...
the script function will not actually do the kick, because it changes it locally. Oh! I bet the kick does a second sync!
The GM command will force a kick. If I'm wrong about the second sync, this could lead to only the other characters changing sex.
Also, I think the only reason it wants to kick at all is that the server is too lazy to figure out how to update all the client state ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.