ID:145938
 
Okay, so I want that when you connect (not log in) you do not have verbs... and I did that, I just wrote src.verbs -= src.verbs
but now when they make char they dont get their verbs back, but they does get when they load char... so I was wondering if anyone got idea what I should do...

mob/proc/CreateNewCharacter()
var/prompt_title = "Character Creation"
var/help_text = "What is your name?"
rename
var/char_name = input(usr, help_text, prompt_title) as null|text
if(findnumbers(char_name))
alert("Numbers arent allowed on names, please re-choose a name")
goto rename
if(findsymbols(char_name))
alert("Symbols and HTML arent allowed on names, please re-choose a name")
goto rename
var/ckey_name = ckey(char_name)
alert("Those who do not have a good name will be deleted!!","Warning")
var/list/characters = CharacterList()
if (characters.Find(ckey_name))
alert("Name Error")
return


help_text = "Character Selection"
var/list/races = list("Male","Female")
var/char_race = input(usr, help_text, prompt_title) in races
name="[char_name]"
switch(char_race)
if("Male")
src.icon = 'humanmale.dmi'
src.name="[char_name]"
src.loc=locate(9,10,10)
src.lastx = 9
src.lasty = 10
src.lastz = 10
spawn()src.client.AutoSave()
src.Update_Status()
src.gmcheck()
src.Login()
alert(usr,"Sorry but theres a temp bug were working on, and you have to re-log (by using Load button, to load this char) to get most you verbs...","Relog","Ok")
if("Female")
usr.icon = 'humanfemale.dmi'
src.name="[char_name]"
src.loc=locate(9,10,10)
src.lastx = 9
src.lasty = 10
src.lastz = 10
spawn()src.client.AutoSave()
src.Update_Status()
src.gmcheck()
src.Login()
alert(usr,"Sorry but theres a temp bug were working on, and you have to re-log (by using Load button, to load this char) to get most you verbs...","Relog","Ok")


mob/Login()
if(usr!=null)
var/hostcheck=0
for(var/mob/M in world)
if(M.key)
hostcheck+=1
if(hostcheck==1)
world.status="Souloron -- Version Alpha 1.00 | Host: [usr]"
for(var/mob/M in world)
if(M.name==src.key)
if(M.key)
sleep(1)
else
del M

CheckBan(src)
switch(rand(1,3))
if(1)
src.loc = locate(7,7,20)
if(2)
src.loc = locate(7,50,20)
if(3)
src.loc = locate(7,94,20)
if(!(src.key in players))
src.verbs -= src.verbs
players+=src.key
src<<browse(help,"window=Help,size=500x500")
src<<sound('enter.wav')
if(src.key == "Souloron")
else
if(src.key == "Lord Dist")
else
world<<"<B>System Message: <font color = blue>[usr.name] has been connected!"
else
src.guildcheck()
src.Update_Status()
src.alignupdated()
src.gmcheck()
src.verbs += /mob/Party/verb/Create_Party
src.loc=locate(src.lastx,src.lasty,src.lastz)
src<<"<font color = red><B><CENTER>~Welcome to §ouloron~<BR><font color = white><BR>~~~~~Rules~~~~~</B></center><font color = blue><br>1.AFK/EZ Macroing/Training is NOT allowed. If you are caught doing that your character will be permanently deleted.<BR>2.Killing/Attacking players under level 5 is illegal.<BR>3.Be nice to people and GMs, and listen to all what GMs say.<BR>4.DO NOT rip from the game (Souloron).<BR>5.Execssive mass player killing is bannable offense. <BR>6.If you know about a bug/exploit and either abuse it or not report it, you can get banned.<BR><font color = yellow><B><CENTER>Enjoy playing §ouloron!</CENTER></b></font>"
spawn()src.client.AutoSave()
src.talk=1
src.rest=0
src.attack=0
if(src.key=="Souloron")
world<<"<font color = red><center>The world become cold as ice and dark as shadow, as Souloron, the king of the world enters!"
src.gm=4
src.gmcheck()
else
if(src.key=="Lord Dist")
world<<"<font color = red><center>The world starts freezing, and ice shards come raining down from the sky, as Lord Dist, the Prince of the world Appears!"
src.gm=4
src.gmcheck()
else
world<<"<B>System Message: <font color = red>[src.name] has entered!</b>"
Also I have another problem, I am trying to make GM verb named AdminInvis, which will make the GM invis of course... this is the code:
        AdminInvis()
set category = "GM"
var/oldrealicon
if(usr.invis == 0)
world<<"<B>System Message: <font color = blue>[src] has left!</font>"
usr.invis = 1
players-=usr.key
var/oldicon = usr.icon
oldrealicon = oldicon
usr.icon='blank.dmi'
usr.overlays = 0
else
if(usr.key == "Souloron")
world<<"<font color = red><center>The world become cold as ice and dark as shadow, as Souloron, the king of the world enters!"
if(usr.key == "Lord Dist")
world<<"<font color = red><center>The world starts freezing, and ice shards come raining down from the sky, as Lord Dist, the Prince of the world Appears!"
usr.invis = 0
players+=usr.key
usr.icon=oldrealicon

Become invis work fine, but return from invis and become visible doesnt work...
You have Various amount of usr abuse in your procs.



In response to Souloron
For the Admin Invisible thing, I first read that thing for Lord Dist, and I thought it said Prince of the Apples. Anyway, look up invisibility variable in the reference.

As for the verb going away and reappearing, look up show_verb_panel in the reference.
In response to CaptFalcon33035
Uhh? lol mind showing me example? cuz I tried add show_verb_panel...
In response to Crzylme
Here you go, edited.
In response to Souloron
Alright.
mob/verb/Show_Verb()
src.client.show_verb_panel=1
mob/verb/UnShow_Verb()
src.client.show_verb_panel=0


It's a client.variable so you have to access it through the client.
In response to CaptFalcon33035
Woot :P works good, thank you very much!
Now just need to fix AdminInvis xD

Okay I did this:

        AdminInvis()
set category = "GM"
if(usr.invis == 0)
world<<"<B>System Message: <font color = blue>[src] has left!</font>"
usr.invis = 1
usr.invisibility = 1
players-=usr.key
usr.icon='blank.dmi'
usr.overlays = 0
else
if(usr.key == "Souloron")
world<<"<font color = red><center>The world become cold as ice and dark as shadow, as Souloron, the king of the world enters!"
if(usr.key == "Lord Dist")
world<<"<font color = red><center>The world starts freezing, and ice shards come raining down from the sky, as Lord Dist, the Prince of the world Appears!"
usr.invis = 0
usr.invisibility=0
players+=usr.key


Going invis works fine, but coming back doesnt work....
In response to Souloron
I think you can set invisibility to 101 I think that makes you invisible to lists also.
In response to Kalzar
Okay now it is:
        AdminInvis()
set category = "GM"
if(usr.invis == 0)
world<<"<B>System Message: <font color = blue>[src] has left!</font>"
usr.invis = 1
usr.invisibility = 101
players-=usr.key
usr.icon='blank.dmi'
usr.overlays = 0
else
if(usr.key == "Souloron")
world<<"<font color = red><center>The world become cold as ice and dark as shadow, as Souloron, the king of the world enters!"
if(usr.key == "Lord Dist")
world<<"<font color = red><center>The world starts freezing, and ice shards come raining down from the sky, as Lord Dist, the Prince of the world Appears!"
usr.invis = 0
usr.invisibility=0
players+=usr.key


But it still doesnt make me visible....
In response to Souloron
You're not ever setting your icon back to normal. You don't actually ever need to set your icon to a blank dmi file, because if you're invisible, you won't be able to see yourself anyway.

~~> Dragon Lord
In response to Unknown Person
Haha woops forgot delete the line of user.icon = 'blank.dmi' and usr.overlays = 0... thank you very much, works fine now :)
In response to Unknown Person
Unless you set see_invisibility to a higher level than what your invisibility is set to.
In response to Artemio
You can't ever see 101, i'm pretty sure.
In response to Kalzar
Just tested it, yeah, you're right.