ID:2720764
 
(See the best response by Shadowkaroth.)
Problem description:
4 topic's that i didn't found relevantive guide/demo that work, what ever you guys will be able to help i will appreciate it alot :-), the topic's are:


*how do i do new statpanel of skill's(have there icon of skill that can be be clicked for use+click for drag+ his name side the icon)?

*how do macros for skills(do i must do it "verb" for macro it, can't i macro a "proc") i made?

*and finally how do i do the skill bar thing, i guess it combain all the thing's above, if you get code exmple/guide/demo(that can be download) that relevante for this i will try learn it alone from there i just didn't found something.

*dmg range:
Code:
for(var/mob/M in locate(A.x,A.y+1,A.z))//1 tile above
//all dmg thing's


propblem: something bugged there its dont realy work as i want sometime's it miss and sometimes hit while its dont look on game like the skills realy attack the enemy.
do you guys have any other method for good skill's range cheack?
var mob/m = locate(/mob) in locate(x,y+1,z)


mob/Stat()
if(statpanel("Who"))
for(var/mob/player in list_of_players)
stat(player) // will display their icon and name, which can be clicked/dragged.
Best response
Welcome to the forums, and great topics to ask questions about!

So the Stat() proc that can be used to display information to a "info" element in the .dmf interface/skin files.
An example of displaying the contents or pocket-space that is an /atom's "inventory"..
client/Stat()
if( statpanel( "contents" ) )
stat( mob.contents ) // stat() with an /atom as the first argument will display the appearance of it in the Stat window like a grid in the first column, the "name" to the right in the second column.


Client macros cannot run procs they have to call verb/functions().

I would recommend a few topics to look in to for your final question.. Put simply look in to screen_loc this alone combined with "screen" will start forming a skill bar for you.

To further your reading and advanced to a intermediate or more difficulty look in to vis_contents as well which combine with screen objs very well to make things like this.

In sounds like you are using skin/.dmf interface elements and you can look in to using a second_map.map element to make a custom skill bar that way as well.

The previous thing I mentioned though is the current and much better way to go about it as well.

locate() is going to return the first /atom it finds in the coordinates specified so in your example it is not making sure its returning a turf which would have contents containing mobs.
var/turf/t = locate(x,y+1,z)
for( var/mob/m in t )
//do stuff
In response to Shadowkaroth
Shadowkaroth wrote:
Welcome to the forums, and great topics to ask questions about!
Thank you, its fun to see how fast and how you happy to help!
So the Stat() proc that can be used to display information to a "info" element in the .dmf interface/skin files.
An example of displaying the contents or pocket-space that is an /atom's "inventory"..
> client/Stat()
> if( statpanel( "contents" ) )
> stat( mob.contents ) // stat() with an /atom as the first argument will display the appearance of it in the Stat window like a grid in the first column, the "name" to the right in the second column.

mm i see, i understand from this, that i must make my skill's as a datum, and if so, when some one will learn skill, i must enter it to a array of skill's?

Client macros cannot run procs they have to call verb/functions().
i read on some topic that someone give warning about it, that what everyone doing with skill's(make it verb and do it hidden=1)?

I would recommend a few topics to look in to for your final question.. Put simply look in to screen_loc this alone combined with "screen" will start forming a skill bar for you.

To further your reading and advanced to a intermediate or more difficulty look in to vis_contents as well which combine with screen objs very well to make things like this.

In sounds like you are using skin/.dmf interface elements and you can look in to using a second_map.map element to make a custom skill bar that way as well.

The previous thing I mentioned though is the current and much better way to go about it as well.
if i understand right so you don't reccomand use interface, and for now i don't use it, so its good to hear that,but i dont *must* use the interface thing for screen auto scale and if i want that will be only cheat in right and not line in buttom that u can write there commends for verb's?

locate() is going to return the first /atom it finds in the coordinates specified so in your example it is not making sure its returning a turf which would have contents containing mobs.
> var/turf/t = locate(x,y+1,z)
> for( var/mob/m in t )
> //do stuff

nice, i use it and it work very good as i saw for traning with log that stand in 1 place but didnt work so good with skill if be honest, i reccomend what Kozuma3 write over there that work very good for skill's as i saw.

and again thank you for your time and the good will to help i realy appreciate this :-)
In response to 1robib1
For a list of skills that have icons and are mouse interactive, I'd make the skills as objs. Click, MouseDrop, mouse_pointer_icon are probably the most relevant procs for the interactions you want.

The action of the skill should be defined on the skill itself as an override of a proc that all skills have, not as multiple verbs of a client or mob.

The macros that the client uses skills through should run the same verb with a different argument, corresponding to the number of a slot that holds a skill. The verb would grab the skill of the slot and call that skill's action.
In response to Kozuma3
Kozuma3 wrote:
var mob/m = locate(/mob) in locate(x,y+1,z)

lol that work pefrect better then all thing's for skill's here, thank you!
> mob/Stat()
> if(statpanel("Who"))
> for(var/mob/player in list_of_players)
> stat(player) // will display their icon and name, which can be clicked/dragged.

ill try it soon and edit after use it.
In response to Kaiochao
Kaiochao wrote:
For a list of skills that have icons and are mouse interactive, I'd make the skills as objs. Click, MouseDrop, mouse_pointer_icon are probably the most relevant procs for the interactions you want.
amazing you give me the name's of proce's ill read about it and try to use them, thank you for give me direction its help alot :-)
The action of the skill should be defined on the skill itself as an override of a proc that all skills have, not as multiple verbs of a client or mob.
that how i tought do it , good to sound that im on right direction.
The macros that the client uses skills through should run the same verb with a different argument, corresponding to the number of a slot that holds a skill. The verb would grab the skill of the slot and call that skill's action.
the problem as i see it, what happned if i del a skill from the usr, then may be problem with arry numbers, so as i see it for each skill ill run a serch from skill(0) to skill(size_of_arry)and for each one ill cheack the name of skill i serch, and if its the correct ill call that skill,lets say each player will get 200-300 skills max its should be ok i think(i hope i understand you correct lol).

and thank you for you time and answer i realy appreciate it :-)