SRL Archive - SRL Archives

worldswitching


Killerdou

2007-01-09 11:25:45


type Activeworld = record
WorldNumber:integer;
Active:boolean;
Member:boolean;
end;

var
MyWorlds:array[0..131] of ActiveWorld;

procedure DeclareWorlds;

begin
MyWorlds[0].WorldNumber:=1;
MyWorlds[0].Active:=true;
MyWorlds[0].Member:=false;

MyWorlds[1].WorldNumber:=2;
MyWorlds[1].Active:=true;
MyWorlds[1].Member:=true;

MyWorlds[2].WorldNumber:=3;
MyWorlds[2].Active:=true;
MyWorlds[2].Member:=false;

MyWorlds[3].WorldNumber:=4;
MyWorlds[3].Active:=true;
MyWorlds[3].Member:=false;

MyWorlds[4].WorldNumber:=5;
MyWorlds[4].Active:=true;
MyWorlds[4].Member:=false;

MyWorlds[5].WorldNumber:=6;
MyWorlds[5].Active:=true;
MyWorlds[5].Member:=true;

MyWorlds[6].WorldNumber:=7;
MyWorlds[6].Active:=true;
MyWorlds[6].Member:=false;

MyWorlds[7].WorldNumber:=8;
MyWorlds[7].Active:=true;
MyWorlds[7].Member:=false;

MyWorlds[8].WorldNumber:=9;
MyWorlds[8].Active:=true;
MyWorlds[8].Member:=true;


MyWorlds[9].WorldNumber:=10;
MyWorlds[9].Active:=true;
MyWorlds[9].Member:=false;

MyWorlds[10].WorldNumber:=11;
MyWorlds[10].Active:=true;
MyWorlds[10].Member:=false;

MyWorlds[11].WorldNumber:=12;
MyWorlds[11].Active:=true;
MyWorlds[11].Member:=true;

MyWorlds[12].WorldNumber:=13;
MyWorlds[12].Active:=true;
MyWorlds[12].Member:=false;

MyWorlds[13].WorldNumber:=14;
MyWorlds[13].Active:=true;
MyWorlds[13].Member:=true;

MyWorlds[14].WorldNumber:=15;
MyWorlds[14].Active:=true;
MyWorlds[14].Member:=true;

MyWorlds[15].WorldNumber:=16;
MyWorlds[15].Active:=true;
MyWorlds[15].Member:=true;

MyWorlds[16].WorldNumber:=17;
MyWorlds[16].Active:=true;
MyWorlds[16].Member:=true;

MyWorlds[17].WorldNumber:=18;
MyWorlds[17].Active:=true;
MyWorlds[17].Member:=true;

MyWorlds[18].WorldNumber:=19;
MyWorlds[18].Active:=true;
MyWorlds[18].Member:=true;

MyWorlds[19].WorldNumber:=20;
MyWorlds[19].Active:=true;
MyWorlds[19].Member:=true;

MyWorlds[20].WorldNumber:=21;
MyWorlds[20].Active:=true;
MyWorlds[20].Member:=true;

MyWorlds[21].WorldNumber:=22;
MyWorlds[21].Active:=true;
MyWorlds[21].Member:=true;

MyWorlds[22].WorldNumber:=23;
MyWorlds[22].Active:=true;
MyWorlds[22].Member:=true;

MyWorlds[23].WorldNumber:=24;
MyWorlds[23].Active:=true;
MyWorlds[23].Member:=true;

MyWorlds[24].WorldNumber:=25;
MyWorlds[24].Active:=true;
MyWorlds[24].Member:=true;

MyWorlds[25].WorldNumber:=26;
MyWorlds[25].Active:=true;
MyWorlds[25].Member:=true;

MyWorlds[26].WorldNumber:=27;
MyWorlds[26].Active:=true;
MyWorlds[26].Member:=true;

MyWorlds[27].WorldNumber:=28;
MyWorlds[27].Active:=true;
MyWorlds[27].Member:=true;

MyWorlds[28].WorldNumber:=29;
MyWorlds[28].Active:=true;
MyWorlds[28].Member:=true;

MyWorlds[29].WorldNumber:=30;
MyWorlds[29].Active:=true;
MyWorlds[29].Member:=true;

MyWorlds[30].WorldNumber:=31;
MyWorlds[30].Active:=true;
MyWorlds[30].Member:=true;

MyWorlds[31].WorldNumber:=32;
MyWorlds[31].Active:=true;
MyWorlds[31].Member:=true;

MyWorlds[32].WorldNumber:=33;
MyWorlds[32].Active:=true;
MyWorlds[32].Member:=true;

MyWorlds[33].WorldNumber:=34;
MyWorlds[33].Active:=true;
MyWorlds[33].Member:=true;

MyWorlds[34].WorldNumber:=35;
MyWorlds[34].Active:=true;
MyWorlds[34].Member:=true;

MyWorlds[35].WorldNumber:=36;
MyWorlds[35].Active:=true;
MyWorlds[35].Member:=true;

MyWorlds[36].WorldNumber:=37;
MyWorlds[36].Active:=true;
MyWorlds[36].Member:=true;

MyWorlds[37].WorldNumber:=38;
MyWorlds[37].Active:=true;
MyWorlds[37].Member:=true;

MyWorlds[38].WorldNumber:=39;
MyWorlds[38].Active:=true;
MyWorlds[38].Member:=true;

MyWorlds[39].WorldNumber:=40;
MyWorlds[39].Active:=true;
MyWorlds[39].Member:=true;

MyWorlds[40].WorldNumber:=41;
MyWorlds[40].Active:=true;
MyWorlds[40].Member:=true;

MyWorlds[41].WorldNumber:=42;
MyWorlds[41].Active:=true;
MyWorlds[41].Member:=true;

MyWorlds[42].WorldNumber:=43;
MyWorlds[42].Active:=true;
MyWorlds[42].Member:=true;

MyWorlds[43].WorldNumber:=44;
MyWorlds[43].Active:=true;
MyWorlds[43].Member:=true;

MyWorlds[44].WorldNumber:=45;
MyWorlds[44].Active:=true;
MyWorlds[44].Member:=true;

MyWorlds[45].WorldNumber:=46;
MyWorlds[45].Active:=true;
MyWorlds[45].Member:=true;

MyWorlds[46].WorldNumber:=47;
MyWorlds[46].Active:=true;
MyWorlds[46].Member:=true;

MyWorlds[47].WorldNumber:=48;
MyWorlds[47].Active:=true;
MyWorlds[47].Member:=true;

MyWorlds[48].WorldNumber:=49;
MyWorlds[48].Active:=true;
MyWorlds[48].Member:=true;

MyWorlds[49].WorldNumber:=50;
MyWorlds[49].Active:=true;
MyWorlds[49].Member:=true;

MyWorlds[50].WorldNumber:=51;
MyWorlds[50].Active:=true;
MyWorlds[50].Member:=true;

MyWorlds[51].WorldNumber:=52;
MyWorlds[51].Active:=true;
MyWorlds[51].Member:=true;

MyWorlds[52].WorldNumber:=53;
MyWorlds[52].Active:=true;
MyWorlds[52].Member:=true;

MyWorlds[53].WorldNumber:=54;
MyWorlds[53].Active:=true;
MyWorlds[53].Member:=true;

MyWorlds[54].WorldNumber:=55;
MyWorlds[54].Active:=true;
MyWorlds[54].Member:=true;

MyWorlds[55].WorldNumber:=56;
MyWorlds[55].Active:=true;
MyWorlds[55].Member:=true;

MyWorlds[56].WorldNumber:=57;
MyWorlds[56].Active:=true;
MyWorlds[56].Member:=true;

MyWorlds[57].WorldNumber:=58;
MyWorlds[57].Active:=true;
MyWorlds[57].Member:=true;

MyWorlds[58].WorldNumber:=59;
MyWorlds[58].Active:=true;
MyWorlds[58].Member:=true;

MyWorlds[59].WorldNumber:=60;
MyWorlds[59].Active:=true;
MyWorlds[59].Member:=true;

MyWorlds[60].WorldNumber:=61;
MyWorlds[60].Active:=true;
MyWorlds[60].Member:=true;

MyWorlds[61].WorldNumber:=62;
MyWorlds[61].Active:=true;
MyWorlds[61].Member:=true;


MyWorlds[62].WorldNumber:=63;
MyWorlds[62].Active:=true;
MyWorlds[62].Member:=true;

MyWorlds[63].WorldNumber:=64;
MyWorlds[63].Active:=true;
MyWorlds[63].Member:=true;

MyWorlds[64].WorldNumber:=65;
MyWorlds[64].Active:=true;
MyWorlds[64].Member:=true;

MyWorlds[65].WorldNumber:=66;
MyWorlds[65].Active:=true;
MyWorlds[65].Member:=true;

MyWorlds[66].WorldNumber:=67;
MyWorlds[66].Active:=true;
MyWorlds[66].Member:=true;

MyWorlds[67].WorldNumber:=68;
MyWorlds[67].Active:=true;
MyWorlds[67].Member:=true;

MyWorlds[68].WorldNumber:=69;
MyWorlds[68].Active:=true;
MyWorlds[68].Member:=true;

MyWorlds[69].WorldNumber:=70;
MyWorlds[69].Active:=true;
MyWorlds[69].Member:=true;

MyWorlds[70].WorldNumber:=71;
MyWorlds[70].Active:=true;
MyWorlds[70].Member:=true;

MyWorlds[71].WorldNumber:=72;
MyWorlds[71].Active:=true;
MyWorlds[71].Member:=true;

MyWorlds[72].WorldNumber:=73;
MyWorlds[72].Active:=true;
MyWorlds[72].Member:=true;

MyWorlds[73].WorldNumber:=74;
MyWorlds[73].Active:=true;
MyWorlds[73].Member:=true;

MyWorlds[74].WorldNumber:=75;
MyWorlds[74].Active:=true;
MyWorlds[74].Member:=true;

MyWorlds[75].WorldNumber:=76;
MyWorlds[75].Active:=true;
MyWorlds[75].Member:=true;

MyWorlds[76].WorldNumber:=77;
MyWorlds[76].Active:=true;
MyWorlds[76].Member:=true;

MyWorlds[77].WorldNumber:=78;
MyWorlds[77].Active:=true;
MyWorlds[77].Member:=true;

MyWorlds[78].WorldNumber:=79;
MyWorlds[78].Active:=true;
MyWorlds[78].Member:=true;

MyWorlds[79].WorldNumber:=80;
MyWorlds[79].Active:=true;
MyWorlds[79].Member:=true;

MyWorlds[80].WorldNumber:=81;
MyWorlds[80].Active:=true;
MyWorlds[80].Member:=true;

MyWorlds[81].WorldNumber:=82;
MyWorlds[81].Active:=true;
MyWorlds[81].Member:=true;

MyWorlds[82].WorldNumber:=83;
MyWorlds[82].Active:=true;
MyWorlds[82].Member:=true;

MyWorlds[83].WorldNumber:=84;
MyWorlds[83].Active:=true;
MyWorlds[83].Member:=true;

MyWorlds[84].WorldNumber:=85;
MyWorlds[84].Active:=true;
MyWorlds[84].Member:=true;

MyWorlds[85].WorldNumber:=86;
MyWorlds[85].Active:=true;
MyWorlds[85].Member:=true;

MyWorlds[86].WorldNumber:=87;
MyWorlds[86].Active:=true;
MyWorlds[86].Member:=true;

MyWorlds[87].WorldNumber:=88;
MyWorlds[87].Active:=true;
MyWorlds[87].Member:=true;

MyWorlds[88].WorldNumber:=89;
MyWorlds[88].Active:=true;
MyWorlds[88].Member:=true;

MyWorlds[89].WorldNumber:=90;
MyWorlds[89].Active:=true;
MyWorlds[89].Member:=true;

MyWorlds[90].WorldNumber:=91;
MyWorlds[90].Active:=true;
MyWorlds[90].Member:=true;

MyWorlds[91].WorldNumber:=92;
MyWorlds[91].Active:=true;
MyWorlds[91].Member:=true;

MyWorlds[92].WorldNumber:=93;
MyWorlds[92].Active:=true;
MyWorlds[92].Member:=true;

MyWorlds[93].WorldNumber:=94;
MyWorlds[93].Active:=true;
MyWorlds[93].Member:=true;

MyWorlds[94].WorldNumber:=95;
MyWorlds[94].Active:=true;
MyWorlds[94].Member:=true;

MyWorlds[95].WorldNumber:=96;
MyWorlds[95].Active:=true;
MyWorlds[95].Member:=true;


MyWorlds[96].WorldNumber:=97;
MyWorlds[96].Active:=true;
MyWorlds[96].Member:=true;

MyWorlds[97].WorldNumber:=98;
MyWorlds[97].Active:=true;
MyWorlds[97].Member:=true;

MyWorlds[98].WorldNumber:=99;
MyWorlds[98].Active:=true;
MyWorlds[98].Member:=true;

MyWorlds[99].WorldNumber:=100;
MyWorlds[99].Active:=true;
MyWorlds[99].Member:=true;

MyWorlds[100].WorldNumber:=101;
MyWorlds[100].Active:=true;
MyWorlds[100].Member:=true;

MyWorlds[101].WorldNumber:=102;
MyWorlds[101].Active:=true;
MyWorlds[101].Member:=true;

MyWorlds[102].WorldNumber:=103;
MyWorlds[102].Active:=true;
MyWorlds[102].Member:=true;

MyWorlds[103].WorldNumber:=104;
MyWorlds[103].Active:=true;
MyWorlds[103].Member:=true;

MyWorlds[104].WorldNumber:=105;
MyWorlds[104].Active:=true;
MyWorlds[104].Member:=true;

MyWorlds[105].WorldNumber:=106;
MyWorlds[105].Active:=true;
MyWorlds[105].Member:=true;

MyWorlds[106].WorldNumber:=107;
MyWorlds[106].Active:=true;
MyWorlds[106].Member:=true;

MyWorlds[107].WorldNumber:=108;
MyWorlds[107].Active:=true;
MyWorlds[107].Member:=true;

MyWorlds[108].WorldNumber:=109;
MyWorlds[108].Active:=true;
MyWorlds[108].Member:=true;

MyWorlds[109].WorldNumber:=110;
MyWorlds[109].Active:=true;
MyWorlds[109].Member:=true;

MyWorlds[110].WorldNumber:=111;
MyWorlds[110].Active:=true;
MyWorlds[110].Member:=true;

MyWorlds[111].WorldNumber:=112;
MyWorlds[111].Active:=true;
MyWorlds[111].Member:=true;

MyWorlds[112].WorldNumber:=113;
MyWorlds[112].Active:=true;
MyWorlds[112].Member:=true;

MyWorlds[113].WorldNumber:=114;
MyWorlds[113].Active:=true;
MyWorlds[113].Member:=true;

MyWorlds[114].WorldNumber:=115;
MyWorlds[114].Active:=true;
MyWorlds[114].Member:=true;

MyWorlds[115].WorldNumber:=116;
MyWorlds[115].Active:=true;
MyWorlds[115].Member:=true;

MyWorlds[116].WorldNumber:=117;
MyWorlds[116].Active:=true;
MyWorlds[116].Member:=true;

MyWorlds[117].WorldNumber:=118;
MyWorlds[117].Active:=true;
MyWorlds[117].Member:=true;

MyWorlds[118].WorldNumber:=119;
MyWorlds[118].Active:=true;
MyWorlds[118].Member:=true;

MyWorlds[119].WorldNumber:=120;
MyWorlds[119].Active:=true;
MyWorlds[119].Member:=true;

MyWorlds[120].WorldNumber:=121;
MyWorlds[120].Active:=true;
MyWorlds[120].Member:=true;

MyWorlds[121].WorldNumber:=122;
MyWorlds[121].Active:=true;
MyWorlds[121].Member:=true;

MyWorlds[122].WorldNumber:=123;
MyWorlds[122].Active:=true;
MyWorlds[122].Member:=true;

MyWorlds[123].WorldNumber:=124;
MyWorlds[123].Active:=true;
MyWorlds[123].Member:=true;

MyWorlds[124].WorldNumber:=125;
MyWorlds[124].Active:=true;
MyWorlds[124].Member:=true;

MyWorlds[125].WorldNumber:=126;
MyWorlds[125].Active:=true;
MyWorlds[125].Member:=true;

MyWorlds[126].WorldNumber:=127;
MyWorlds[126].Active:=true;
MyWorlds[126].Member:=true;

MyWorlds[127].WorldNumber:=128;
MyWorlds[127].Active:=true;
MyWorlds[127].Member:=true;

MyWorlds[128].WorldNumber:=129;
MyWorlds[128].Active:=true;
MyWorlds[128].Member:=true;

MyWorlds[129].WorldNumber:=130;
MyWorlds[129].Active:=true;
MyWorlds[129].Member:=true;

MyWorlds[130].WorldNumber:=131;
MyWorlds[130].Active:=true;
MyWorlds[130].Member:=true;

MyWorlds[131].WorldNumber:=132;
MyWorlds[131].Active:=true;
MyWorlds[131].Member:=true;
end;

//chooses a random world, if Current is false, Active is amde false, Members false for non-member worlds only and
//Active for choosing active worlds only
//made by iloveit8... boreas basicly did it;) he told me how to....


procedure RandomWorld(Current, Members, Active : Boolean);
var
WhichWorld:integer;
begin
if(Active) then
begin
if(Members=true)then
begin
repeat
WhichWorld:=random(131);
until(MyWorlds[WhichWorld].Active);
SCSSLoadWorld(MyWorlds[WhichWorld].WorldNumber,true)
if not(current) then MyWorlds[WhichWorld].Active:=false;
end else
begin
repeat
WhichWorld:=random(131);
until((MyWorlds[WhichWorld].Active = true)and(MyWorlds[WhichWorld].Member = false));
SCSSLoadWorld(MyWorlds[WhichWorld].WorldNumber,true)
if not(current) then MyWorlds[WhichWorld].Active:=false;
end;
end else
begin
if(Members=true)then
begin
WhichWorld:=random(131);
SCSSLoadWorld(MyWorlds[WhichWorld].WorldNumber,true)
if not(current) then MyWorlds[WhichWorld].Active:=false;
end else
begin
repeat
WhichWorld:=random(131);
until(MyWorlds[WhichWorld].Member = false);
SCSSLoadWorld(MyWorlds[WhichWorld].WorldNumber,true)
if not(current) then MyWorlds[WhichWorld].Active:=false;
end;
end;
wait(30000);
end;

thanks to boreas… BIG thanks to boreas

Boreas

2007-01-09 11:58:41

You should write another function, that keeps track of the 10 (or some number) last used worlds, and makes them false. Then when you use another world, the 10th one (or whatever the earliest used was) becomes active, they all move down one spot, and the one just used goes in the 1 spot. This is so that you don't go back to a world too soon. Otherwise the above doesn't do much more than a load random world function that freddy already wrote (SCSSLoadRandomWorld).

Killerdou

2007-01-09 12:57:38

you are still able to 'filter' out worlds by putting .active to false… but yeah good idea, im gonna try that:)

Boreas

2007-01-09 13:04:08

Yea that's I mean, without a filtering function, this doesn't do anything.

Ron

2007-01-09 15:15:18

How about an INI file retrieved by the latest SRL INI file of the worlds from the web, similar to the txt file in the arga folder, and then you can add in the links, etc.

If you don't know what I'm talking about, here is an example of the text file in arga.

1=ul2\:free
2=ul4\:members
3=po3\:free
4=po4\:free
5=po5\:free
6=po6\:members
7=above2\:free
8=above3\:free
9=above4\:members
10=jolt7\:free
11=jolt8\:free
12=jolt9\:members
13=nl3\:free
14=nl4\:free
15=uk2\:free
16=uk3\:free
17=tor1\:free
18=tor2\:members
19=nl7\:free
20=nl8\:free
21=nl11\:free
22=nl1\:members
23=uk4\:members
24=uk5\:members
25=nl12\:free
26=ul5\:members
27=nl5\:members
28=nl6\:members
29=ul6\:free
30=po7\:free
31=po8\:free
32=ul1\:free
33=at1\:free
34=at2\:free
35=at3\:free
36=at4\:members
37=tor3\:free
38=planet1\:free
39=planet2\:free
40=planet3\:free
41=planet4\:members
42=po2\:members
43=sl11\:free
44=at6\:members
45=planet5\:free
46=planet6\:members
47=above5\:free
48=above6\:members
49=ams1\:free
50=ams2\:free
51=ams3\:free
52=ams4\:free
53=ams5\:members
54=ams6\:members
55=ch1\:free
56=nl10\:free
57=ch3\:free
58=ch4\:members
59=ch5\:members
60=ch6\:members
61=se1\:free
62=se2\:free
63=se3\:free
64=se4\:members
65=se5\:members
66=se6\:members
67=jolt10\:free
68=jolt11\:free
69=jolt12\:members
70=sl10\:members
71=uk7\:members
72=sl1\:free
73=sl2\:free
74=sl3\:free
75=sl4\:free
76=sl5\:free
77=sl6\:members
78=sl7\:members
79=sl8\:members
80=jolt1\:free
81=jolt2\:free
82=jolt3\:free
83=jolt4\:members
84=jolt5\:members
85=ny1\:free
86=ny2\:free
87=ny4\:free
88=ny5\:members
89=ny6\:members
90=ny7\:free
91=ny8\:members
92=nl9\:free
93=mi1\:free
94=mi2\:free
95=mi3\:free
96=mi4\:free
97=mi5\:free
98=mi6\:members
99=mi7\:members
100=mi8\:members
101=at7\:free
102=at8\:free
103=at9\:members
104=at10\:members
105=uk8\:free
106=uk9\:free
107=au1\:free
108=au2\:free
109=au3\:free
110=au4\:members
111=au5\:members
112=au6\:members
113=tor4\:free
114=tor5\:members
115=tor6\:members
116=tor7\:members
117=swe1\:free
118=swe2\:free
119=swe3\:free
120=swe4\:members
121=swe5\:members
122=swe6\:free
123=swe7\:members
124=swe8\:members
125=va1\:free
126=va3\:free
127=va4\:free
128=va5\:free
129=va6\:members
130=va7\:members
131=va8\:members
132=va9\:members

Short, sweet, and easy to manipulate using scar. :)