ID:165273
 
Hey...

I've been working on a new Admin verb...

I want it to be called NBall (Noob Ball)
This is what it should do:

A admin clicks the verb, Chooses a person in view, it terns that person into a Ball (Ball icon) and he apears in your inventory.
Were ever you walk, His screen should follow the person who has NBalled him/her.
And he can release the person when ever he wants, And were ever, And his icon is back to normal.
He can not move while in the ball state too.

Is this possible?
Ive tried my hardest...
All ive got is terning the person into a ball,
He is unable to move...
But when i un noob ball him, His icon stays as a ball..
But he can move..
I want him to apear in my infentory and follow me..
And have his icon restored to what it was...

Is this possible?

Heres my code so far...


mob/Admin/verb

NoobBall(mob/m)
set name = "Noob Ball"
set desc = "Noob Ball An Anoying Player"
set category = "Admin"
if(!m.client)
return
if(m.key == "BEVAN" && !m.frozen)
return
m.frozen = !m.frozen
if(m.frozen)
usr << "[m] Is Now Noob Balled"
m << "You Have Been Noob Balled!"
m.icon_state = "NBM"
m.icon_state = "P"
usr << "[m] Is No Longer Noob Balled!"
m << "You Have Been Set Free"



^ it does not do what i reall want...
Anyone know how to make this code to what i want?

Please help...

- Bevan
mob/Move()
if(usr.frozen == 1)
return 0
else
..()

mob/var/noobed = 0
mob/var/frozen = 0


mob/Admin/verb/Noob_Ball(mob/M in oview())
if(M.noobed == 0)
M << "You have been noob balled by [usr]"
usr << "You noob ball [M]"
usr.contents += M
M.icon = 'waterver.dmi'
M.icon_state = "wateva"
M.noobed = 1
M.frozen = 1
else
M << "You have been unnoob balled by [M]"
M.icon = 'waterver.dmi' // original icon
M.icon_state = "wateva" //original icon state
M.loc = locate(usr.x,usr.y+1,usr.z)
M.noobed = 0
M.frozen = 0


- Miran94

You need to freeze him so he wont escape xD

In response to Miran94
No errors....
But,
When i run the game,
It doesent show up in my Admin comands,
I've added it in,
Checked over it...
It just doesent show o.o
.....
In response to Miran94
mob/Move()
if(usr.frozen == 1)
return 0
else
..()

mob/var/noobed = 0
mob/var/frozen = 0


mob/verb/Noob_Ball(mob/M in view())
if(M.noobed == 0)
M << "You have been noob balled by [usr]"
usr << "You noob ball [M]"
usr.contents += M
M.icon = 'waterver.dmi'
M.icon_state = "wateva"
M.noobed = 1
M.frozen = 1
else
M << "You have been unnoob balled by [M]"
M.icon = 'waterver.dmi' // original icon
M.icon_state = "wateva" //original icon state
M.loc = locate(usr.x,usr.y+1,usr.z)
M.noobed = 0
M.frozen = 0


- Miran94

You need to freeze him so he wont escape xD
this is another version that should run

In response to Miran94
You need to learn about boolean vars here and here.
In response to Popisfizzy
Ugh,
I know about vars.
Lol

Just its midnight here.
And ive ill and sleepy,
But im not going to sleep until i fisnish this

And,
Code doesent work...
I get this error

Admin.dm:485:error:/mob/Admin/verb/Noob_Ball:undefined type path

And everything is correct.....
Ugh...
So not my day >.<
In response to BEVAN
I was referring to Miran, which is the reason I replied to his post. If I was referring to you, I'd reply to your post.
In response to Popisfizzy
Woops....
Lol,
Like i said..

sleepy....

.<
In response to Popisfizzy
I dont find anything wrong with my code.
In response to Miran94
Hmm,

Must be my computer going all weird,
Does that at times >.>

Ima close and reopen Dream maker and se if its ok.
In response to Miran94
That's obviously because you don't know about boolean vars. I already linked you to information about them, so read them.
In response to Popisfizzy
Fixed.

It wasent sent into the Admin category.
It was placed as a Mob verb (So everyone gets it)
But i changed it too

mob/Admin/verb

so it should work....

I hope.

- Bevan
In order to do this, you should make a ball item, and move the player to it's contents when the player is locked up in there. Perhaps make it possible for one ball to contain multiple players?
For the sake of gameplay you should probably set client.eye to the balls' location (i.e. a person who is holding it or the turf) and override ball.Move() to check for every player and readjust their client.eye variable.

Be careful not to let your player get couped up in that thing for too long! If the game reboots and the ball is deleted (or it's internal reference changes), it's likely the player will end up in a random object or nowhere at all! You'd be better off making some sort of jail on the map itself to store the player and saving a list of jailed players over reboots to ensure players remain locked up even if you reboot a thousand times.

If there's any doubt, read the book.
In response to Android Data
usr in Move() rofl!