ID:1119225
 
(See the best response by A.T.H.K.)
Code:
        Attack()
flick("Attack",src)
for(var/mob/character/m in get_step(src, dir))
world << m
var/Damage=max(0,src.Str-m.Def)
view(m)<<"[src] hit [m] for [Damage] Damage!"
m.Deathcheck()


Problem description:
thats my basic attack verb, but is it possible to make it so that the character cannot move while using an attack? if it is can someone please show me how?
Best response
I would create another variable for the user eg attacking.

I would then override Move() to check this variable and stop movement.

Then in that attack verb I would sleep() however long and return the variable back to it's original state so the player may move once more.
the only thing i dont understand from that is what the "eg" stands for, other than that im familiar with sleep and the rest...
"e.g." is an abbreviation for exempli gratia which means "for example".
oohhh lol ok.
i got a random question that i figured i would add on to here instead of starting a new post. How exactly do all of you learn how to code this kind of stuff? did u guys actually sit down and read that manual, or did u learn through otherways? please let me know, cause i would love to be able to do all these things without taking up other peoples time.
Have a read through this post.

http://www.byond.com/forum/?post=808851&page=2

I ordered the Blue Book which is essentially just the DM Guide in a hard copy, still got it too in mint condition, read that and the reference since it was all I had back in 2000.

And that has lead me to other languages such as PHP which I actually do for a living now.
Those posts where really intimidating but somewhat encouraging i guess! the majority of those posts consisting of people coding for a significant amount of years...but I guess the common trend in those posts are reading just about anything you can find on coding with programs similar to DM. welp, alright i guess imma go ahead and do as much as i can to see if im able to get the general idea of it. since A.T.H.K. mentioned he was learning this stuff in 2000, i'm wondering how long such a thing would take to learn for someone who isnt in college yet ._.
In response to Jemai1
Jemai1 wrote:
"e.g." is an abbreviation for exempli gratia which means "for example".

another often used abbreviation is "i.e." which stands for in-example.
It's actually an abbreviation of id est. Latin for "that is", if memory serves.
In response to Panda dude XD
I stopped DM for a long time most of it has stuck with me, as per anything to do with learning it can take some people days and others years just depends, their are some young great programmers on BYOND so don't give up just keep learning from the guide reference and trial and error, hopefully you'll get it!
Im stuck with figuring out how to override the movement when attacking, and i searched the manual under the proc section and i couldnt find anything. Does anyone have a helpful link that i can look at? or advice? other than giving me the code itself Plz!
Not really without giving you code, the only documentation is the guide and reference sadly.

http://www.byond.com/ forum/?post=158833&hl=stopping%20movement
http://www.byond.com/ forum/?post=269924&hl=stopping%20movement
http://www.byond.com/ forum/?post=169023&hl=stopping%20movement
http://www.byond.com/ forum/?post=161367&hl=stopping%20movement

It's a fairly simple thing to write so you'll get the gist of those examples above pretty quickly.
i like that third link which shows how to freeze a mob with the code:
mob/var/tmp/freeze=0 //Default for 'freeze' is 0 and it can NOT be saved, which means when the person re-logsin, they can move again

mob/Move()
if(freeze)
return 0 //If freeze != null or 0, than the person can NOT move
return ..()


but im not sure how to unfreeze a person ._. or how to implement it into my attack verb
        Attack()
src.freeze = 1
flick("Attack",src)
for(var/mob/character/m in get_step(src, dir))
world << m
var/Damage=max(0,src.Str-m.Def)
view(m)<<"[src] hit [m] for [Damage] Damage!"
m.Deathcheck()
src.freeze=0


Depending on how long you want them to freeze for you may want to add a sleep() before unfreezing them, I would sleep them on how long that flick takes until it returns to the original state.
hmmm i implimented the src.freeze and i didnt get any errors, but my character can still move when attacking ._.
Did you override the Move() ? do you have two Move() procs?
i have the code i said i liked earlier in my files, and i dont think i have two move() procs since im using the sidescroller library in my project, and im assuming it has 1 move() proc.
Did you add a sleep in the attack proc? otherwise it'll just be 0 pretty much straight after clicking Attack().
Unfreezing happens without delay. Just put a sleep before setting freeze back to 0.
Page: 1 2 3