mob
Login()
if(src.key == "SSJ4 Radditz"||src.key == "Jnco904")
src.verbs += /mob/GM/verb/mute
src.verbs += /mob/GM/verb/unmute
icon_state = gender
..()
Logout()
del src
..()
mob/GM/verb
mute(mob/M as mob)
set category = "GM"
if(!M.key)
src <<"You can't mute an NPC!"
return
if(M.key == usr.key)
src <<"You can't mute yourself!"
else
M.verbs-=/mob/verb/say
world <<"[M] has been muted by [src]!"
unmute(mob/M as mob)
set category = "GM"
if(!M.key)
src <<"You can't unmute an NPC!"
return
if(M.key == usr.key)
src <<"You can't unmute yourself!"
else
M.verbs+=/mob/verb/say
world <<"[M] has been unmuted by [src]!"
mob/verb
say(msg as text)
world << "[usr]: [msg]"
attack(mob/M as mob in oview(1))
usr << "You attack [M]!"
oview() << "[usr] attacks [M]!"
var/damage = rand(1,10)
world << "[damage] damage!"
mob
var/first_name
var/last_name
Login()
// Do they have a name yet?
// If not, make them choose one.
while (!first_name)
first_name = input(src, "What Would You Like Your Name To Be?", "Name")
name = "[first_name] [last_name]"
src << "Your Name Is [name]."
return ..()
turf/storage
icon = 'chest.dmi'
density = 1
var/list/storage = newlist()//creates list
Enter(mob/M)
switch(alert(M,"What Shall You Do?","Storage","Withdraw Item","Deposit Item","Cancel"))
if("Withdraw Item")
var/savefile/store//savefile var
store = new ("Storage.sav")//defines path
var/save = ckey(M.key)//ckey(M.key) = M.key in canonical form or in laymens lower text
store["[save]"] >> storage//loads storage list
if(isnull(storage))
storage = newlist()
var/obj/withdraw = input ("Storage","What Item to Withdraw?") in storage
if(isnull(withdraw))//if there is nothing to withdraw
M << "There is nothing in here for you to withdraw"
return 0//return FALSE
else
M.contents.Add(withdraw)//adds withdraw value to M.contents
storage.Remove(withdraw)//removes from storage list
M << "You withdrawed an item"
store["[save]"] << storage//inputs list to savefile
return 1//returns TRUE
if("Deposit Item")
var/savefile/store = new ("Storage.sav")
var/obj/deposit = input(M,"Storage","Deposit") in M.contents//in the input box shows list of obj in M's contents
if(isnull(deposit))
M << "You have no item to deposit"
return 0
else
M.contents.Remove(deposit)
storage.Add(deposit)
M << "You deposited an item"
var/save = ckey(M.key)
store["[save]"] << storage
return 1
if("Cancel")
M << "Thanks for coming!"
return
turf/npc//i use turf so you cant attack it
icon='namek.dmi'//npc.dmi is the name of the file your npc is in
density=1//the "density" is so a mob cannot walk on it, if set to 0 you can mover over it like carpet, or grass
verb
Talk()//this is so when you come within a space of the npc the Talk verb will show up
set src in oview(1)//(set the oview(1)to how many spaces you want the mob to be able to see the Talk verb
usr<<"Welcome To DBQ! Game Is Currently Being Worked On But Look Around If You Would Like To See What It Would Be Like!"//"usr" means that the user that pressed the talk verb will only see the message if set to world in usr's place everyone logged into the world will hear it
// usr<<"type the message that you want the npc to say here like the above message says EZ TO DO"
mob/Login()
if(src.key=="SSJ4_Radditz")//Change the key to your key. To recieve Owner commands.
src.verbs+=typesof(/mob/GM/verb)
src.verbs+=typesof(/mob/admin/verb)
src.admin=1
if(ban.Find(src.client.address))
src << "You are banned."
del src
if(src.admin)src.verbs+=typesof(/mob/admin/verb)
..()
mob
GM/verb
Reboot(){set category="Admin";Announcement("World will reboot in 10 seconds.");sleep(100);world.Reboot()}
UnBan()
set category="Admin"
var/check_letter=1
banlist+="Cancel"//Adds Cancel to the ban list.
var/T=input("Which address would you like to unban?")in banlist
if(T=="Cancel"){return}
usr<<"You Unbanned [T]."
var/banip
start:
if(copytext(T,check_letter,check_letter+1)=="-")goto unban
else{banip+=copytext(T,check_letter,check_letter+1);check_le tter+=1;goto start}
unban:
ban.Remove(banip)
Ban(mob/M in world)
set category="Admin"
set desc="Who do you wish to IP / Key ban?"
var/list/peoples
if(M.client)peoples+=M
ban+=M.client.address
M<<"You have been ban."
world<<"[usr] Ip / Key ban [M]!"
banlist+="[M.client.address]-[M.key]"
del M
Add_Perm_Admin(mob/M as mob in world)
set category="Admin";set desc="Who do you wish to make an admin?"
if(M.admin==1){usr<<"There already admin.";return}
else
world<<"[M] was blessed with Administrative status by [usr]."
M.verbs+=typesof(/mob/admin/verb)
M.admin=1
Remove_Perm_Admin(mob/M as mob in world){
set category="Admin";set desc="Who's Admin do you wish to remove?";
world<<"[M] was stripped of his Administrative status by [usr].";
M.verbs-=typesof(/mob/admin/verb);
M.admin=0}
Announcement(message as message){set category = "Admin";
world << "
------------------------------\
------------------------------"}
admin/verb
Create(O as null|anything in typesof(/obj,/mob)){set category = "Admin";
set desc="Create an Object, Mob, or Turf.";
if(!O)return;var/T = new O(usr.loc);
world.log<<"[usr] created a [T:name].";
view() << "With afew swift movements from [usr]'s hands, a [T:name] appeared."}
Boot(mob/M in world)
set category = "Admin"
set desc = "Who do you wish to boot? (Note: you can not boot yourself.)"
if(M == usr){usr << "Can't boot yourself."}
else{Announcement("[usr] Booted [M].");world.log<<"[usr] booted [M] from the game.";M.Logout()}
Edit(obj/O as obj|mob|turf|area in view())
set category = "Admin"
set desc="You can edit a targets variables."
var/variable=input("Which var do you wish to edit.","Var") in O.vars,GH=O.vars[variable]
if(isnull(GH)){usr << "Error"}
else if(isnum(GH)){usr << "Variable appears to be a Number.";default = "Number"}
else if(istext(GH)){usr << "Variable appears to be Text.";default = "Text"}
else if(isicon(GH)){usr << "Variable appears to be a Icon.";GH = "\icon[GH]";default = "icon"}
else if(istype(GH,/atom) || istype(GH,/datum)){usr << "Variable appears to be TYPE.";default = "type"}
else if(istype(GH,/list)){usr << "Variable appears to be LIST.";default = "cancel"}
else if(istype(GH,/client)){usr << "Variable appears to be CLIENT.";default = "cancel"}
else{usr << "Variable appears to be FILE.";default = "file"}
usr << "Variable Contains The Following: [GH]"
switch(input("What Kind of variable?")in list("Text","Number","Icon","File","-= Cancel =-"))
if("-= Cancel =-"){return}
if("Text"){O.vars[variable] = input("Enter new text:","Text",\O.vars[variable]) as text}
if("Number"){O.vars[variable] = input("Enter new number:","Num",\O.vars[variable]) as num}
if("File"){O.vars[variable] = input("Pick file:","File",O.vars[variable]) \as file}
if("Icon"){O.vars[variable] = input("Pick icon:","Icon",O.vars[variable]) \as icon}
Teleport(mob/M in world){set category="Admin";set desc="Who do you wish to teleport to?";usr.loc=M.loc;world.log<<"[usr] teleported to [M].";view()<<"[usr] appeared in a flash."}
Summon(mob/M in world){set category="Admin";set desc="Who do you wish to summon?";M.loc=usr.loc;world.log<<"[usr] summoned [M].";view()<<"[usr] summoned [M]."}
Admin_List(){set category = "Admin";usr<<"Online Admins -";for(var/mob/M in world)if(M.admin==1){usr<<"[M]"}}
Announcement(message as message){set category = "Admin";
world << "
------------------------------\
------------------------------"}
world
New()
world.log<<"World started up on: [time2text(world.realtime)]"
..()
Del()
world.log<<"World shutdown on: [time2text(world.realtime)]"
..()
var/list{Admins=list();ban=list();banlist=list()}
mob/var{admin=0;default}[/code]</<></<>