Rotu 1.15 - Custom Spawnpoints

Arnold
Also, ich sage von Anfang an, das hier ist kompliziert! Augenzwinkern


Mein Problem ist folgendes:

Ich will für die Map Killhouse den Rotu 1.15 Support hinzufügen. Dazu braucht man die zombiesurvival/_zombiebots.gsc

bei Waypoints steht schonmal folgendes:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
waypoints_killhouse()
{
maps\mp\_load::main(); // dies wird bei jeder map aufgerufen

survSpawns1 = (643.361,2167.28,28.125); // spawnpoints definieren
survSpawns2 = (753.804,666.05,28.125);

spawngroup1 = spawn("script_model", survSpawns1); // zum spawnen wird ein model benötigt - deswegen spawne ich hier eines.
spawngroup1.targetname = "spawngroup1"; // hier wird der spawn überhaubt erst definiert
spawngroup1.classname = "mp_dm_spawn"; // nur um auf nummer sicher zu gehen, dass die class auf einem standart spawn entspricht
spawngroup1.origin = (643.361,2167.28,28.125); // nur um auf nummer sicher zu gehen

spawngroup2 = spawn("script_model", survSpawns2);
spawngroup2.targetname = "spawngroup2";
spawngroup2.classname = "mp_dm_spawn";
spawngroup2.origin = (753.804,666.05,28.125);

buildSurvSpawn(spawngroup1.targetname, 1); //hier wird bei einem objekt, dass den typ mp_dm_spawn als class definiert hat, der targetname verwendet, um einen neuen spawn zu erstellen - siehe oben
buildSurvSpawn(spawngroup2.targetname, 1);

level.Wp[1].origin = (56, 1516, 28.125); // hier setze ich den array - alle waypoints (nicht nötig zum spawnen)
level.Wp[2].origin = (343.879, 1511.02, 28.125);
level.Wp[3].origin = (259.375, 1690.36, 28.125);
level.Wp[4].origin = (24.3912, 1706.47, 28.125);
level.Wp[5].origin = (94.7159, 1977.53, 28.125);
level.Wp[6].origin = (376.6,2390.37,28.125);
level.Wp[7].origin = (242.491,2501.1,28.125);
level.Wp[8].origin = (548.583,2323.91,42.125);
level.Wp[9].origin = (677.738,2103.13,156.125);
level.Wp[10].origin = (517.601,2245.77,120.125);
level.Wp[11].origin = (824.015,2568.2,28.125);
level.Wp[12].origin = (1011.45,2244.1,28.125);
level.Wp[13].origin = (1280.92,2335.71,28.125);
level.Wp[14].origin = (1131.39,1942.3,28.125);
level.Wp[15].origin = (1233.6,1685.24,28.125);
level.Wp[16].origin = (1118.06,1349.57,28.125);
level.Wp[17].origin = (1229.74,920.886,28.125);
level.Wp[18].origin = (1026.54,720.875,28.125);
level.Wp[19].origin = (1052.25,268.049,28.125);
level.Wp[20].origin = (874.628,510.125,50.125);
level.Wp[21].origin = (720.186,712.802,156.125);
level.Wp[22].origin = (898.89,546.83,89.125);
level.Wp[23].origin = (352.882,246.169,28.125);
level.Wp[24].origin = (485.763,640.808,28.125);
level.Wp[25].origin = (741.782,1117.95,28.125);
level.Wp[26].origin = (30.5839,874.651,28.125);
level.Wp[27].origin = (26.7437,1297.68,28.125);
level.Wp[28].origin = (671.29,1666.23,28.125);
level.Wp[29].origin = (978.927,1398.9,28.125);
level.Wp[30].origin = (619.232,1454.6,40.125);
level.Wp[31].origin = (751.217,1979.76,28.125);
startSurvWaves(); // Hier wird dafür gesorgt, dass die Waves starten (Startet mit dem 30 Sek countdown bis zur 1. Wave)

level.survSpawns[1] = spawngroup1; // hier habe ich versucht, das ganze manuell per array zu regeln - geht natürlich nicht.
level.survSpawns[2] = spawngroup2;

}





Natürlich werde ich euch die Funktion zeigen (buildSurvSpawn(name, priority)


Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
buildSurvSpawn(targetname, priority) //Can be used in map gsc
{
	if (!isdefined(level.survSpawns))
	return -1;
	
	if (!isdefined(priority))
	priority = 1;
	
	spawns = getentarray(targetname, "targetname");
	
	if (spawns.size > 0)
	{
		ii = level.survSpawns.size;
		level.survSpawnsPriority[ii] = priority;
		level.survSpawnsTotalPriority = level.survSpawnsTotalPriority + priority;
		level.survSpawns[ii] = targetname;
	}
	
	
}



Nun frage ich euch - wieso kann kein Zombie spawnen? Kann mir das mal einer erklären?

Was die Regeln betrifft: Ja, ich habe die offizielle Erlaubnis von Bipo, die Modfiles zu meinem Zweck zu verwenden. Er hat sogar eine halbe Stunde versucht zu helfen. Aber den Spawn anhand eines gespawnten scriptmodel zu setzen, geht leider so, wie oben gesagt nicht. Über eure Hilfe würde ich mich sehr freuen.

Falls ihr weitere Infos braucht zum Rest des Scripts, um das zu verstehen, poste ich euch das gerne.
Rycoon
Hm... Ich wüsste wie es geht. Du lässt dir einach die dm spawns geben und setz für diese ein targetname:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
SettingSpawns()
{
	spawns = getentarray("mp_dm_spawn", "classname");
	for(i=0;i<spawns.size;i++)
	{
		spawns[i].targetname = "spawngroup"+i;
		buildSurvSpawn("spawngroup"+i, 1);
	}
}



Sollte so gehen.
Rycoon
Funzt super bei mir grosses Grinsen

Arnold
Rycoon: hier noch der Startparameter - den du wolltest für die Waypoints:


+set sv_punkbuster 0 +set fs_game mods/reignoftheundead +set g_gametype surv + set developer 1 +exec rotu.cfg + set developer_script 1 +map <mapname>


In der Rotu.cfg musst du noch Zom_developer auf 1 stellen, dann klappt's.

Mit schießen waypoit adden - [USE] um den zu entfernen (geht nur, wenn du direkt an der selben stelle stehst, aber ging bei mir schonmal) und kniven drücken, um die waypoints im logfile zu speichern


Dann steht dort zu erst irgendwie 0,0,0,0 oder sowas (erste zeile) --> Ignorieren!

dann nimmst du die restlichen Koordinaten und machst das i, am anfang weg. (i = steigende zahl)

dann level.wp[i].origin = (<Zeile aus dem Logfile ohne "i," kopieren>);

einfach der reihe nach schreiben und fertig sind deine WP's.
Rycoon
Weißt ich habe bereits 2 Rotu Maps gemacht und weiß das schon. Deine Waypoints gehen nämlich auch nicht.

Ich werd einfach mal schauen was ich so machen kann/finden lässt.
Arnold
Du hast doch gestern gefragt, wie das mit den WP's geht.
naja, egal. Hier mal mein error:


Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
********************************
count: 1, var usage: 1, endon usage: 3
@ 3506
count: 1, var usage: 4, endon usage: 0
@ 3690
count: 1, var usage: 2, endon usage: 0
@ 30690
count: 1, var usage: 1, endon usage: 0
@ 33647
count: 1, var usage: 13, endon usage: 0
@ 34033
count: 1, var usage: 4, endon usage: 2
@ 45557
count: 1, var usage: 2, endon usage: 2
@ 48893
count: 1, var usage: 2, endon usage: 2
@ 48999
count: 1, var usage: 1, endon usage: 2
@ 49205
count: 1, var usage: 2, endon usage: 3
@ 49596
count: 2, var usage: 10, endon usage: 0
@ 69743
count: 1, var usage: 2, endon usage: 0
@ 71553
count: 1, var usage: 2, endon usage: 0
@ 72578
count: 1, var usage: 1, endon usage: 2
@ 72671
count: 1, var usage: 1, endon usage: 2
@ 72709
count: 1, var usage: 1, endon usage: 2
@ 72890
count: 1, var usage: 2, endon usage: 0
@ 72964
count: 1, var usage: 2, endon usage: 0
@ 73199
count: 1, var usage: 1, endon usage: 0
@ 73397
count: 1, var usage: 2, endon usage: 0
@ 77186
count: 1, var usage: 1, endon usage: 2
@ 77506
count: 1, var usage: 1, endon usage: 2
@ 77532
count: 1, var usage: 1, endon usage: 2
@ 77558
count: 1, var usage: 2, endon usage: 4
@ 79440
count: 1, var usage: 2, endon usage: 0
@ 79800
count: 1, var usage: 1, endon usage: 2
@ 81614
count: 1, var usage: 2, endon usage: 0
@ 85349
count: 1, var usage: 1, endon usage: 2
@ 85400
count: 1, var usage: 1, endon usage: 2
@ 85422
count: 1, var usage: 1, endon usage: 2
@ 85444
count: 15, var usage: 15, endon usage: 30
@ 86606
count: 1, var usage: 2, endon usage: 2
@ 104113
count: 1, var usage: 1, endon usage: 3
@ 104158
count: 1, var usage: 1, endon usage: 2
@ 104209
count: 1, var usage: 1, endon usage: 2
@ 104245
count: 1, var usage: 3, endon usage: 3
@ 118113
count: 1, var usage: 1, endon usage: 0
@ 120853
count: 1, var usage: 2, endon usage: 0
@ 127461
count: 1, var usage: 1, endon usage: 2
@ 127519
count: 1, var usage: 2, endon usage: 3
@ 127629
count: 1, var usage: 2, endon usage: 4
@ 128551
count: 1, var usage: 2, endon usage: 3
@ 129311
count: 1, var usage: 3, endon usage: 3
@ 129507
count: 1, var usage: 3, endon usage: 3
@ 129594
count: 1, var usage: 3, endon usage: 3
@ 129745
count: 1, var usage: 3, endon usage: 3
@ 129834
count: 1, var usage: 2, endon usage: 3
@ 130524
count: 1, var usage: 2, endon usage: 3
@ 130635
count: 1, var usage: 2, endon usage: 3
@ 130746
count: 1, var usage: 1, endon usage: 2
@ 130866
count: 1, var usage: 6, endon usage: 4
@ 133763
count: 1, var usage: 3, endon usage: 0
@ 135895
count: 1, var usage: 2, endon usage: 0
@ 136060
count: 1, var usage: 2, endon usage: 2
@ 136149
count: 1, var usage: 2, endon usage: 2
@ 136182
count: 1, var usage: 2, endon usage: 2
@ 136215
count: 1, var usage: 2, endon usage: 2
@ 136245
count: 1, var usage: 2, endon usage: 0
@ 136870
count: 1, var usage: 3, endon usage: 0
@ 137714
count: 15, var usage: 30, endon usage: 0
@ 137796
count: 1, var usage: 2, endon usage: 0
@ 137969
count: 1, var usage: 1, endon usage: 2
@ 138198
count: 1, var usage: 1, endon usage: 0
@ 138244
count: 1, var usage: 2, endon usage: 3
@ 138420
count: 1, var usage: 1, endon usage: 0
@ 138434
count: 1, var usage: 1, endon usage: 0
@ 140939
count: 1, var usage: 3, endon usage: 0
@ 140967
count: 1, var usage: 1, endon usage: 2
@ 141568
count: 1, var usage: 2, endon usage: 2
@ 141992
count: 1, var usage: 2, endon usage: 4
@ 145306
count: 1, var usage: 1, endon usage: 2
@ 145516
count: 1, var usage: 2, endon usage: 3
@ 145665
count: 1, var usage: 3, endon usage: 3
@ 145809
count: 1, var usage: 2, endon usage: 3
@ 146785
count: 1, var usage: 4, endon usage: 0
@ 146883
count: 1, var usage: 3, endon usage: 3
@ 149281
count: 1, var usage: 3, endon usage: 0
@ 155553
count: 1, var usage: 1, endon usage: 2
@ 156167
count: 1, var usage: 1, endon usage: 2
@ 156692
count: 1, var usage: 2, endon usage: 0
@ 156705
count: 15, var usage: 15, endon usage: 30
@ 156734
count: 1, var usage: 21, endon usage: 2
@ 157247
count: 1, var usage: 7, endon usage: 2
@ 157915
count: 1, var usage: 1, endon usage: 2
@ 158084
count: 16, var usage: 48, endon usage: 48
@ 158169
count: 1, var usage: 1, endon usage: 2
@ 158463
count: 1, var usage: 1, endon usage: 3
@ 158706
count: 1, var usage: 1, endon usage: 3
@ 158764
count: 1, var usage: 4, endon usage: 2
@ 163066
count: 1, var usage: 2, endon usage: 0
@ 164228
count: 1, var usage: 2, endon usage: 6
@ 164655
called from:
@ 164403
count: 1, var usage: 3, endon usage: 3
@ 165605
count: 1, var usage: 1, endon usage: 0
@ 168482
count: 1, var usage: 2, endon usage: 0
@ 168691
count: 1, var usage: 2, endon usage: 0
@ 174986
count: 1, var usage: 3, endon usage: 2
@ 175071
count: 1, var usage: 1, endon usage: 0
@ 177422
count: 1, var usage: 2, endon usage: 0
@ 178052
count: 1, var usage: 2, endon usage: 0
@ 179538
count: 1, var usage: 2, endon usage: 0
@ 179856
count: 1, var usage: 1, endon usage: 2
@ 179950
count: 1, var usage: 1, endon usage: 2
@ 179972
count: 1, var usage: 1, endon usage: 2
@ 179994
count: 1, var usage: 1, endon usage: 2
@ 180020
count: 1, var usage: 1, endon usage: 0
@ 180037
count: 1, var usage: 12, endon usage: 2
@ 180149
count: 1, var usage: 2, endon usage: 2
@ 180404
count: 1, var usage: 2, endon usage: 0
@ 180738
count: 1, var usage: 1, endon usage: 2
@ 180789
count: 1, var usage: 1, endon usage: 2
@ 180805
count: 1, var usage: 1, endon usage: 2
@ 180821
count: 1, var usage: 2, endon usage: 3
@ 180886
count: 1, var usage: 1, endon usage: 3
@ 180935
count: 1, var usage: 3, endon usage: 3
@ 180977
count: 1, var usage: 1, endon usage: 0
@ 185040
count: 1, var usage: 2, endon usage: 0
@ 185053
count: 1, var usage: 1, endon usage: 2
@ 185093
count: 1, var usage: 1, endon usage: 2
@ 185119
count: 1, var usage: 9, endon usage: 0
@ 193276
********************************
var usage: 378, endon usage: 294

ent type 'entity'... count: 115, var usage: 1771
ent type 'hudelem'... count: 10, var usage: 95
ent type 'pathnode'... count: 0, var usage: 0
ent type 'vehiclenode'... count: 0, var usage: 0
********************************

******* script runtime error *******
exceeded maximum number of script variables: @ 97124
Error: called from:
@ 96841
Error: called from:
@ 190063
Error: started from:
@ 96411
Error: ************************************
********************
ERROR: script runtime error
(see console for details)
exceeded maximum number of script variables
********************
----- Server Shutdown -----
==== ShutdownGame (1) ====