15
« on: September 15, 2011, 09:03:32 am »
Sigh, again, you just think all the player has to do is make sure they fill out all the necessary lines. Now, let us look at the entire issue:-
- Make sure social shop saves to file dynamically. Make sure player file is also updated to show they can use this social.
- Any new social purchased means adding a new command. This means, making sure the new social saves to file (for shop), updating the main social file, re-loading the entire social file again into memory so that the command is recognised. Depending on how the commands are loaded, we may have to re-load the entire command structure as well. (Otherwise, a copyover is needed. NOTICE how whenever something new is added, a copyover is needed? What you are asking is for something that doesnt require a copyover). Save the new social in the social shop file with the creator's name, save the creator's pfile to show this creator can use the command.
- Because this social can only be used by the specific person who has purchased it, you will need to edit the entire command structure to also check player file if the person has the right to use this command.
- Everytime a social is purchased, the purchaser's pfile needs to be updated.
Two main issues stand out:-
1. It is NEVER a good idea to allow players to directly write to disk. In this case, players are able to create new socials on demand, which makes the mud save to disk a fair amount of information. Disk writes slows the mud down, especially if someone decides to spam this command.
2. It is NEVER a good idea to change the command structure. If something goes wrong, it affects EVERYONE with every single command, so the mud becomes totally unplayable.
Now with further thinking, there may be ways around this but the reason why I wanted to post this is to explain to people the thought processes behind whether ideas are "worth" the effort of implementing. Now coders do not have the time nor the inclination to explain all the issues every single time someone has an idea, and then to debate how worthy their ideas are over the amount of effort to complete the code.