4Dimensions Forum
General Category => Suggestions & Ideas => Topic started by: Jaros on September 13, 2011, 09:04:05 am
-
At risk of adding another thing to the list :-\ I think this would be really cool. Scenario:
You write yourself a brand new social and apply it to any command you like. Could be anything at all; now functions just like any other social, but only for you.
Someone sees you use it, they like it, they want it, so they wander down to the little socials market and find it on the list, next to your name because you created it.
They pay for it, at whatever price you've named, and it's now theirs to use as well for ever and ever until they buy a new one that happens to use the same command and thus replaces it.
Then we have stats showing the most popular ones and who is making the most money off it all etc. just for anyone who's interested.
Thoughts?
-
I like this idea! Definitely great for RP!
-
.. No one else thinks it would be cool to be able to write your own socials? *boggle*
-
Not really... I mean you do have emote which gives you free reign to do what ever you like. And than you have Pose to do some other nasty things involving your name either in it or not in it just only due to abuse people know who is doing it.
-
Emote is a pain in the ass and displays differently. As in it doesn't target people. Pose is lame. Also with this we get the added bonus of a little market to trade them in, people can get creative.
-
Hey, I had a contest for people to write their own 4D social... not many people took the time. I think emote and pose are good enough, though even as I say that, I do see the intrigue in it.
-
Exactly, there is potential in things like this. If the option can be provided without much hassle, why not provide it? Doesn't do any harm, adds to the game for some.
An ongoing place where you can create your socials, display them and sell them is quite different to a one-off contest, but good job running it all the same :)
-
As someone who DID participate in the socials contest, I think its a good idea! And jaros is right, it's not going to cause any problems, just perhaps make some people some money and give more interaction as opposed to non-targeting emotes and poses.
-
I think it would be a lot more constructive to work on a targetting emote code, which displays differently to sender, target and room, just like the socials do.
I've seen RPI mud with this kind of improved emote commands, so it cannot be impossible to code.
And although I am for every idea that leads to more trading and interacting between players, I'm not sure a socials shop would, because writing socials needs some time and skill. And like Kvetch already pointed out, not many contributed to her socials contest, probably for that reason.
-
.......................
Writing a social takes some time and skill? Are you serious? My dog could do it.
fleas
You stand up and shake fleas all over everybody.
fleas <target>
You lean towards <target> and shake fleas all over them. How rude.
Done. I don't want to waste precious seconds of a convo typing that out and emoting it, I want to have that command at my fingertips. Incidentally, so might someone else...... if only they could go buy it somewhere and use it themselves. Hurrah, they did and I made a million coins and overtook Xeriuth's stupid square_dance.
Probably not many contributed to the contest because that means making one up, probably not winning, and then not being able to use it. Effort wasted. In this case if you think of something you can make it and use it and get the enjoyment immediately. AND so can everyone else if they want.
-
I like your idea Jaros, but I like to make one minor point - just because you think its as simple as a few lines doesn't mean you are right :p
What you see if there is no target.
What you see if there is a target.
What the room sees if there is no target.
What the room sees if there is a target.
What the target sees.
I believe there are a few other lines, I can't remember off the top of my head. Some are optional, and some are a must.
In so saying that, I still like your idea, but please realise, just because YOU cannot see how complicated it is, does not mean it might not be.
-
Fair point.
Worst case scenario, someone has to fill in three lines more than they expected :o
-
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.
-
Thanks for that explanation, Horus. It was needed.
Cool ideas that seem easy for those who only see the player side of things, are not necessarlily easy to code, build or script. Sometimes they might be, but only the ones who actually work with those things will be able to assess them.
Incidentally, that's why I unevitably tell anyone, who comes with me with a request or idea that involves coding, to talk with the coders about it instead. Because I simply don't have a clue about if something is easy or hard to do, since I know very little about code. But at least I know enough to realise how little I know.
So whenever you get frustrated because some idea that sounded so good in theory isn't getting implemented, remember Horus's post. If you want people to spend their spare time coding for free for a mud, don't expect them to always explain in detail why something is or isn't possible - or even desireable.
-
Keep it coming, Horus. Jaros loves it when you talk dirty.
-
I found what Horus was trying to say in the form of a cartoon for those who tl:dr 'd it.
http://xkcd.com/277/
-
Perhaps simply make a board for social in the social shop, Can post what you want to be a social and if enough people give it a thumbs up, and imm, or a hero/rpl (if given the ability), can add the social to the game with the command. Then simply have an imm at a later time do all of the things horus mentioned with copyovers and such.
-
Thanks Horus, that's exactly the kind of input I've been looking for in every thread I've started. Not this OMG people might make dirty words crap.
-
Ok: this is how "easy" it is to make a social: Fill in all these lines and use the correct variables:
n) Command : <name of social> 1) Sort as Command : <name of social on social list>
2) Min Position[CH]: Standing 3) Min Position [VT]: Standing
4) Min Level [CH]: 0 5) Show if Invisible: NOT HIDDEN
a) Char [NO ARG]: <what the character sees without a victim>
b) Others [NO ARG]: <what the room sees when no victim>
c) Char [NOT FOUND]: <what the character sees if victim is not found>
d) Char [ARG SELF]: <what the character sees if victim is self>
e) Others[ARG SELF]: <What the room sees when victim is character’s self>
f) Char [VICT]: <What the character sees when they have a victim>
g) Others [VICT]: <What the room sees when the character has a victim>
h) Victim [VICT]: <What the victim sees when the character has a victim>
i) Char [BODY PRT]: <Used only if this social can be used with the body part of victim>
j) Others[BODY PRT]: <What room sees if character uses body part of victim>
k) Victim[BODY PRT]: <What victim sees if character uses body part of victim>
l) Char [OBJ]: <What character sees if victim is an object>
m) Others [OBJ]: <what room sees if victim is an object>
But instead of using <player> or <victim> you have to know these variables:
$n = you, $N = target, $m him/her/it for you, $M him/her/it for target
$s = his/her/it for you, $S = his/her/it for target
$e = he/she/it for you, $S = he/she/it for target
Example: Poke
n) Command : poke 1) Sort as Command : poke
2) Min Position[CH]: Resting 3) Min Position [VT]: Resting
4) Min Level [CH]: 0 5) Show if Invisible: NOT HIDDEN
a) Char [NO ARG]: Poke who? What? Where?
b) Others [NO ARG]: <Null>
c) Char [NOT FOUND]: You can't poke someone who's not here!
d) Char [ARG SELF]: You poke yourself in the ribs, feeling very silly.
e) Others[ARG SELF]: $n pokes $mself in the ribs, looking very sheepish.
f) Char [VICT]: You poke $M in the ribs.
g) Others [VICT]: $n pokes $N in the ribs.
h) Victim [VICT]: $n pokes you in the ribs.
i) Char [BODY PRT]: You poke $M in $S $t.
j) Others[BODY PRT]: $n pokes $N in $S $t.
k) Victim[BODY PRT]: $n pokes you in your $t.
l) Char [OBJ]: You poke at $p.
m) Others [OBJ]: $n pokes at $p.
-
Loria pokes Kvetch.
-
So Kvetch... its pretty easy?
-
Loria pokes Kvetch.
from afar
-
There has been a bit more interest in this so, I see there is a typo in the variables above so here is the correct ones:
But instead of using <player> or <victim> you have to know these variables:
$n = you, $N = target, $m him/her/it for you, $M him/her/it for target
$s = his/her/it for you, $S = his/her/it for target
$e = he/she/it for you, $E = he/she/it for target
-
To maybe make it a little more easier for those that want to do socials let me show you an easier way to know what variable you need.
1) all lowercase letters for the person doing the social, uppercase for the victim of the social
2) n=name so $n would be the name of the person doing the social and $N would be the name of the victim of the social
3) Using the male version of the pronoun you want helps figure out which letter you need.
- e = he/she, m = him/her, s = his/her - again, capitalize for victim