ID:1460527
 
Code:
mob/logging/Login()
/* if(src.key<>"TheDarkChakra")
src << "Sorry under testing right now"
del src*/

world << sound('bell.ogg')
updateScoreboard(src)
if(src.key=="TheDarkChakra")
world << output("[src.key] key has logged in. He is the owner.","output1")
else if(is_admin(src))
world << output("[src.key] key has logged in. He is an admin","output1")
else world << output("[src.key] key has logged in","output1")
src << output("Hello. I am TheDarkChakra. I created this game. I would appreciate it if you told me on the forums or by emailing me at ssunlimitedssu@yahoo.com any comments, suggestions, or complains please contact me through there. Please go to forums and on bug reports section report all the bugs you have found. Please use the feature requests forum to request any features. This is a new game so expect many bugs. I can't test them all out yet. Please click help under commands or talk to Wing(the guy in white) to find out how to play.","output1")
src.invisibility=0

var/FileName="saves/[src.ckey].sav"
if(fexists(FileName))
var/savefile/F=new(FileName)
var/mob/player/p = null
F >> p
p.icon='Characters.dmi'
p.icon_state=p.ishold
//F >> p.verbs
F >> p.verbshold
world << output("[p.key] has logged in as [p.name]","output1")
if(p.knowten)
p.knownen=1
if(is_admin(p))
p.verbs+=typesof(/mob/admin/verb/)
for(var/b in p.verbshold)
p.verbs+=b
p.nen_body()
//world<<"test"
/*if(p.heardenhancestr)
// world<<"test"
p.verbs+=/mob/player/nen/verb/Enhance_Strength
if(usr.heardenhancespd)
p.verbs+=/mob/player/nen/verb/Enhance_Speed
if(usr.heardenhancedef)
p.verbs+=/mob/player/nen/verb/Enhance_Defense
if(usr.heardenhancesta)
usr.verbs+=/mob/player/nen/verb/Enhance_Stamina
if(usr.heardenhanceheai)
p.verbs+=/mob/player/nen/verb/Enhance_Healing
if(usr.heardnrgball)
p.verbs+=/mob/player/nen/verb/Energy_Ball
if(usr.heardlitepalm)
p.verbs+=/mob/player/nen/verb/Lightning_Palm
if(usr.heardfireball)
p.verbs+=/mob/player/nen/verb/Fireball*/

/*if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr
if(usr.heardenhancestr)
usr.verbs+=/mob/player/nen/verb/enhancestr*/


return ..()
else
src.CharCreation()


mob/player/verb/save()
if(src.z==5||src.z==6||src.z==7||src.z==8||src.inturny)
src << output("You can't save here!","output1")
return
var/savefile/F = new/savefile("saves/[src.ckey].sav")
F << src
F << src.verbs
for(var/v in src.verbs)
src.verbshold+=v
F << src.verbshold
src << "Saved"


mob
player
Write(var/savefile/F,var/list/neversave=null)
. = ..(F,neversave)
var/ocd = F.cd
F.cd = "location"
F << src.x
F << src.y
F << src.z
F.cd = ocd
F["verbs"] << src.verbs
F <<src.verbshold
// src.verbs+=src.verbshold
return .
Read(var/savefile/F,var/list/neversave=null)
. = ..(F,neversave)
var/ocd = F.cd
F.cd = "location"
F >> src.x
F >> src.y
F >> src.z
F.cd = ocd
F >> src.verbs
F["verbs"]>>src.verbshold
return


Problem description: I don't know why but sometimes players are losing their verbs. I keep verbs saved in src.verbshold then use for(var/b in src.verbshold) src.verbs+=b to load them. But some people are losing their verbs. Help.
Please, to make everything easier for us to read(and make it less painful for you in the future), replace all of those individual verbs with a typesof() proc. It also seems that you have two functions that save your characters.
No those grayed out verbs are checked whether they are known to the player or not. I know about typesof() but I don't want players to have all the verbs in that type.
In response to TheDarkChakra
I'm not sure if the rest of the verbs are just placeholders, then? It seems that you are repeatedly checking for the same thing and then adding the same verb, which takes up way too much screen space.
In response to GamerMania
Do you not know what code comments are?
I thought I added them in src.verbshold and then loaded from them but some people still don't save or load the verbs...
Generally, verbs should not be saved. And I'm pretty sure the reasoning is for this exact scenario. You should just dynamically add/remove them during runtime as necessary instead of trying to "save/load" them.

EDIT
Oh and as an added note, you can add the same verb to someone's verbs list multiple times, thus requiring you to remove it multiple times (unless you use the typesof() proc of course to remove them).
In response to TheDarkChakra
TheDarkChakra wrote:
I thought I added them in src.verbshold and then loaded from them but some people still don't save or load the verbs...

Yes, but I'm not sure why he would use comments like that unless he intended to use it as a placeholder.
In response to TheDarkChakra
TheDarkChakra wrote:
No those grayed out verbs are checked whether they are known to the player or not.