SphereCommunity

Full Version: Moongate generator for empty world.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everyone, am posting this script to help anyother person who might need it.

The moongate script wasn`t made by me. All credits to the owner (even thou I don`t know who he is :/). =)

Code:
[plevel 6]
genmoongate
// Moongate
[function genmoongate]
//
serv.newitem=i_moongate
new.attr=attr_static
new.p=4467,1283,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=1336,1997,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=1499,3771,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=771,752,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=2701,692,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=1828,2948,-20,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=643,2067,5,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=3563,2139,34,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=3763,2771,50,0
serv.newitem=i_moongate
new.attr=attr_static
new.p=4467,1283,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=1336,1997,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=1499,3771,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=771,752,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=2701,692,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=1828,2948,-20,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=643,2067,5,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=3563,2139,34,1
serv.newitem=i_moongate
new.attr=attr_static
new.p=2711,2234,0,1
src.sysmessage World genmoongate complete.

[ITEMDEF i_moongate]
DEFNAME=i_moongate
NAME=moongate
ID=i_moongate_blue
TYPE=t_normal

ON=@STEP
IF (<ARGN1> == 0)
IF (<SRC.ISPLAYER>)
  SOUND=snd_spell_gate_travel
  IF (<SRC.P.M> == 0)
   DIALOG D_MOONGATE 1
  ELIF (<SRC.P.M> == 1)
   DIALOG D_MOONGATE 2
  ENDIF
ENDIF
ENDIF

CATEGORY=GM ITEMS
SUBSECTION=Moongates
DESCRIPTION=OSI Moongate

[DIALOG D_MOONGATE]
0,0
page 0
resizepic 190 180 5054 400 300

button 200 405 4005 4007 1 0 1
button 200 430 4005 4007 1 0 0

button 200 215 2117 2118 0 1 0
//button 200 240 2117 2118 0 2 0

dtext 200 190 0 Escolha seu destino:

dtext 220 215 0 Felucca
//dtext 220 240 0 Trammel

dtext 235 405 0 Aceitar
dtext 235 430 0 Cancelar

page 1
dtext 220 215 034 Felucca

radio 400 230 210 211 0 0
radio 400 255 210 211 0 1
radio 400 280 210 211 0 2
radio 400 305 210 211 0 3
radio 400 330 210 211 0 4
radio 400 355 210 211 0 5
radio 400 380 210 211 0 6
radio 400 405 210 211 0 7
radio 400 430 210 211 0 8

dtext 425 230 0 Moonglow
dtext 425 255 0 Britain
dtext 425 280 0 Jellom
dtext 425 305 0 Yew
dtext 425 330 0 Minoc
dtext 425 355 0 Trinsic
dtext 425 380 0 Skara Brae
dtext 425 405 0 Magincia
dtext 425 430 0 Haven

page 2
dtext 220 240 034 Trammel

radio 400 230 210 211 0 9
radio 400 255 210 211 0 10
radio 400 280 210 211 0 11
radio 400 305 210 211 0 12
radio 400 330 210 211 0 13
radio 400 355 210 211 0 14
radio 400 380 210 211 0 15
radio 400 405 210 211 0 16
radio 400 430 210 211 0 17

dtext 425 230 0 Moonglow
dtext 425 255 0 Britain
dtext 425 280 0 Jellom
dtext 425 305 0 Yew
dtext 425 330 0 Minoc
dtext 425 355 0 Trinsic
dtext 425 380 0 Skara Brae
dtext 425 405 0 Magincia
dtext 425 430 0 Buccaneer's Den


[DIALOG D_MOONGATE BUTTON]
ONBUTTON=1
IF (<DISTANCE> > 1)
SRC.SYSMESSAGE You are too far away to use the gate.
RETURN 1
ENDIF

SRC.SOUND=510

IF (<argchk[0]>)
SRC.GO 4467 1283 5 0
ELIF (<argchk[1]>)
SRC.GO 1336 1997 5 0
ELIF (<argchk[2]>)
SRC.GO 1499 3771 5 0
ELIF (<argchk[3]>)
SRC.GO 771 752 5 0
ELIF (<argchk[4]>)
SRC.GO 2701 692 5 0
ELIF (<argchk[5]>)
SRC.GO 1828 2948 -20 0
ELIF (<argchk[6]>)
SRC.GO 643 2067 5 0
ELIF (<argchk[7]>)
SRC.GO 3563 2139 34 0
ELIF (<argchk[8]>)
SRC.GO 3763 2771 50 0
ELIF (<argchk[9]>)
SRC.GO 4467 1283 5 1
ELIF (<argchk[10]>)
SRC.GO 1336 1997 5 1
ELIF (<argchk[11]>)
SRC.GO 1499 3771 5 1
ELIF (<argchk[12]>)
SRC.GO 771 752 5 1
ELIF (<argchk[13]>)
SRC.GO 2701 692 5 1
ELIF (<argchk[14]>)
SRC.GO 1828 2948 -20 1
ELIF (<argchk[15]>)
SRC.GO 643 2067 5 1
ELIF (<argchk[16]>)
SRC.GO 3563 2139 34 1
ELIF (<argchk[17]>)
SRC.GO 2711 2234 0 1
ENDIF

SRC.FLAGS |= statf_hidden
SRC.UPDATE

SRC.SYSMESSAGE <SRC.REGION.NAME>
I am rather new to this. Where in the scripts would I post this to get it to work? Thanks in advance.
Organisation is best so that you can see when your new scripts have gone wrong...

My advice:

Inside your scripts folder create a new folder called custom and save this script to it's own file within that folder.
Then open spheretables.scp you'll see a block called [Resources] with a bunch of folder & file paths.
Scroll to the bottom of this block before [obscene] and enter the path to your folder like this:

scripts/myfoldername/

Save it, a restart will be required for sphere to load in anything inside that folder, or in the console you can type

/load scripts/myfoldername/myfilename.scp

and you're done.

Might seem a little long winded but if all your custom stuff is in it's own folder/subfolders it'll be easier for you to find in the future.
Awesome. Many thanks for the advice.
Reference URL's