1)I apologize for my bad wording. Would you like me to add <tt> tags as well?
If you have anicon stateicon_state inside of 'Base.dmi' that has no name, mobs will have thisiconicon_state.
2)
> mob
> see_invisible = 2 //where or when do you define this variable?
> npc
> invisibility = 2
> proc/talk(mob/m)
> //no istype() or path check here
> m.see_invisible = 1 // now m can't see src
>
see_invisible is a built-in mob variable.
As for the istype(), I'm not handing out code to be plugged in. I'm telling them what they asked, not adding in all the nit-picky checks.
3)I am sorry for my wording again.
"upon Bump()ing"
A very awkward way to word this here
4)I believe I said that "I fixed his gotos". I did not claim to fix anything else.
http://www.byond.com/ forum/?post=875863&hla=Albro1#comment2696717
There is still repetitive code in this example
5)
obj/hud
> screen_loc = "SOUTHEAST to NORTHWEST"
> icon = 'night-vision.dmi'
> mouse_opacity = 0 //wasnt given a layer
>
As said above, I'm not handing out plug-and-plays. That's not how I have ever or ever will work.
> var/obj/hud/night_vision //hud is a terrible type path to use in an example as libraries and demos could very well use this, causing inexplicable bugs.
>
Refer to my last statement. I'm not here to compensate for every possible conflicting variable.
> world/New()
> . = ..()
> if(.) //what in gods name are you doing here? seriously?
>
If you do not know what is happening there, I will be happy to explain.
> night_vision = new //you could have just instantiated the object at compile time
>
I guess I didn't feel like it. Preferences, they are a varying subject.
> //why aren't you just using a variable to see if you have night vision active or not? Instead you make two different verbs?
> mob/verb/Night_Vision_Activate()
> usr.client.screen += night_vision
> mob/verb/Night_Vision_Deactivate()
> usr.client.screen -= night_vision
The verbs were merely a quick way to demonstrate the effect it would have. I was not showing him everything he needed for a HUD system, I was showing him how to add a screen effect.
6)No, in fact. If a verb's hidden setting is TRUE, then you cannot access it unless you know the name of the verb and type it directly into the Command bar.
"If they are hidden and you don't know them, chances are you won't be able to find them."
Did you pull that out of your rear end?
7)The only thing you did here was define what I meant by "who".
"usr is who called the proc/verb.
src is the source of the proc/verb"
usr is a mob variable that contains the mob of a variable that executed a verb, or the caller of a proc. Also, why did you use the past tense, 'called' here?
Also, why did you use 'executed'?
src is the object containing the proc or verbThis is just a reworded version of my statement. Kudos to you.
8)My sincerest apologies again for using improper wording.
"You are calling New() somewhere in your code and you aren't sending a client to the argument."
He wasn't passing in a client to the argument. No sending is involved. Passing.
9)
> // this line is really only used on the first iteration
> // since m starts off as null, we set it to f
> if(!m) m = f
Again, why wouldn't you just instantiate m at compile-time?Again. Examples are not plug-and-plays in my world. Nor are they often the best way to go about it.
10)Well Mr. Technical, there are two things I have to say to this:
"Are you using an interface? If so, you can go under the output control's Appearance tab and edit the CSS."
Do you mean to say here that he can create a CSS stylesheet?
1) CSS stands for Cascading Style Sheet. In other words, you pretty much just said "Cascading Style Sheet stylesheet".
2) The CSS for controls is already created and plugged in. The text you add into there is modifying the pre-existing CSS. Hence why you don't have to do any creation - only editing.
11)
> NewMob(client/c, f)
> // bla bla
> c.mob = //bla bla
>
No idea what you're planning on accomplishing here. The "bla"s threw me off.I actually don't remember where I put this. Mind linking me to it? Perhaps I can give you a better explanation and fix your confusion.
12)
> world
> name = "My Game"
> status = "In progress"
>
You literally offered nothing by posting this example here.Actually, he didn't know what variables to set to change the game name and hub status. I demonstrated them both.
13)I don't remember where this is from either. Link it up if you want more insight.
"(Delay() is not a built-in proc, you have to create it yourself)"
Uhm, that's what sleep and spawn are for...
14)
> proc
> worldGenerate(x = world.maxx, y = world.maxy)
> // make x and y default to the current dimensions
> // if you send a different value to x or y then it will override the default
> world.maxx = x
> world.maxy = y
You do realize that if you haven't already set world.maxx and world.maxy and you call this function with no parameters, you'll be setting both of these values to null, right?world.maxx and world.maxy are set automatically according to the dimensions of the largest existing map file. The default value is even 0 - meaning that it will never pass a null value without doing so manually.
I have no more patience to go on. My point is that you lack the knowledge to be of help on many of the asked forum questions without also hindering with bad practices, awkward phrasing, and messy code.
I do hope that my replies to your examples have enlightened you and shown you that you do not know as much as you think you know. I do hope that you have learned something here.
I am not posting on the forums to create games for people. I am posting on the forums to help them with their issues, and in some cases correct them completely. In most cases, I provide a push in the right direction. Learning is the fun of programming, and I do not believe in spoiling that for them. Their job is to take the information given to them and apply it in the best way they see fit. If they do not believe it is the best way, they can make a topic in Design Philosophy inquiring on how to make it better. Technically they could even put that kind of topic in Developer Help, assuming they have code along with it.
If you have any other references, please do point them out. Keep in mind though, that many of my replies are not to give them a straight-forward answer but rather a push in the right direction. My answer may not be the most efficient but that is not my goal. To give someone the most efficient method without them first trying to figure out the most efficient method would be to have them miss out on the best part of the learning experience. You may not agree with my methods and that is fine, but I'm not going to stop them because of that.