|
 |
Camping Optionen bei v1.6 |
|
|
| Camping Optionen bei v1.6 |
 |
Hallo!
hab mir denn mod inst. und läuft auch alles so wie es sein soll. mein problem ist nun, das ich die camper auf dem compass anzeigenlassen lassen möchte und sie gleichzeitig pupsen sollen. orginal sind es ja 2 verschiedene optionen. hab da schonmal in der _ex_camper.gsc etwas rumprobiert aber es hat nicht so wirklich funktioniert.
hatte es so geändert:
markTheCamper()
{
level endon("round_ended");
self endon("ex_dead");
self endon("stopcamper");
if(self.ex_iscamper || (isDefined(level.roundended) && level.roundended) || self.sessionstate != "playing") return;
self.ex_iscamper = true;
// notify player and players
self iprintlnbold(&"CAMPING_MARKED_MESSAGE_SELF", self);
self iprintlnbold(&"CAMPING_TIME_MESSAGE_SELF", level.ex_camptimer);
iprintln(&"CAMPING_MARKED_MESSAGE_ALL", self);
iprintln(&"CAMPING_TIME_MESSAGE_ALL", level.ex_camptimer);
if(isDefined(self.ex_objnum))
{
objective_delete(self.ex_objnum);
self.ex_objnum = undefined;
}
self.ex_objnum = getFreeObjective();
compass_icon = "";
if(self.pers["team"] == "allies")
{
compass_icon = "objective_" + game["allies"];
compass_team = "none";
}
else
{
compass_icon = "objective_" + game["axis"];
compass_team = "none";
}
objective_add(self.ex_objnum, "current", self.origin, compass_icon);
objective_team(self.ex_objnum, compass_team);
if(level.ex_camptimer >= 1) self thread countCamper();
while(isPlayer(self) && isAlive(self) && self.pers["team"] != "spectator")
{
for(i=0; (i<60 && isPlayer(self) && isAlive(self));
{
if((i <= 29) && self.ex_iscamper) objective_icon(self.ex_objnum, "objpoint_radio");
else if((i >= 30) && self.ex_iscamper) objective_icon(self.ex_objnum, compass_icon);
if(self.ex_iscamper) objective_position(self.ex_objnum, self.origin);
playfxontag(level.ex_effect["fartbomb"], self, "pelvis");
self playLocalSound("fart");
wait 0.02;
}
}
}
dabei ist dann allerdings nur dauergepupse,wegen dem wait 0.02, rausgekommen.
und das nächste was ich ändern wollte ist das verschiedene fartsound gespielt werden. da hab ich aber noch nichts weiter versucht.
hoffe ihr könnt mir weiter helfen, wäre echt super.
gruß firestorm!
|
|
|
|
|
|
|
So wird das nichts.
Probier mal bitte diesen Code, ich hab es nicht getestet.
Ändere im Original (ex_camper.gsc)
die Zeile 55 (hier die Zeile 6):
Code 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:
|
// ok, they didn't listen, punish them!
if((campingtime >= level.ex_campobjtime || snipercampingtime >= level.ex_campsniper_objtime) && !self.ex_isunknown)
{
switch(level.ex_camppunish)
{
case 1: self thread markTheCamper(); break;
case 2: self thread makeThemFart(); break;
case 3: self thread blowTheCamper(); break;
case 4: self thread shellshockPlayer(false); break;
case 5: self thread shellshockPlayer(true); break;
default:
{
switch(randomInt(6))
{
case 2: self thread makeThemFart(); break;
case 3: self thread blowTheCamper(); break;
case 4: self thread shellshockPlayer(false); break;
case 5: self thread shellshockPlayer(true); break;
default: self thread markTheCamper(); break;
}
}
}
campingtime = 0;
snipercampingtime = 0;
show_warning = false;
}
|
|
so ab, dass beide Funktionen aufgerufen werden, das fällt mir (um diese Uhrzeit) auf die Schnelle ein.
Hier der neue Code:
Code 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:
|
// ok, they didn't listen, punish them!
if((campingtime >= level.ex_campobjtime || snipercampingtime >= level.ex_campsniper_objtime) && !self.ex_isunknown)
{
switch(level.ex_camppunish)
{
case 1: self thread markTheCamper();
self thread makeThemFart();
break;
case 2: self thread makeThemFart(); break;
case 3: self thread blowTheCamper(); break;
case 4: self thread shellshockPlayer(false); break;
case 5: self thread shellshockPlayer(true); break;
default:
{
switch(randomInt(6))
{
case 2: self thread makeThemFart(); break;
case 3: self thread blowTheCamper(); break;
case 4: self thread shellshockPlayer(false); break;
case 5: self thread shellshockPlayer(true); break;
default: self thread markTheCamper(); break;
}
}
}
campingtime = 0;
snipercampingtime = 0;
show_warning = false;
}
}
}
|
|
Da gibts bestimmt noch viele andere Möglichkeiten, aber allzusehr bin ich auch (noch) nicht mit der Scripterei bewandert, aber es wird
So long
ToM
EDIT: Code korrigiert, grammatikalisch nun richtig, Test erfolgt nach Feierabend.
__________________

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Nightwing: 10.05.2007 12:39.
|
|
|
|
|
|
|
Ich habe diesen Teil hier rein serverseitig eingebaut:
case 1: {
self thread markTheCamper();
self thread makeThemFart(); break;
}
Irgendwie hat sich nichts verändert. Habe ich irgendwo etwas übersehen? (Die Camper-Schikane steht auf 1)
cu Mike
__________________ ++++ To Yoda: Jedi-Meister bekommt Auris zugeschickt. Unmöglich nichts ist ++++
|
|
|
|
|
|
|
Wie gesagt, ich habs nicht getestet, mach ich aber heut oder morgen noch, dann geb ich Dir Bescheid.
Der eXtreme iss grad LAN Einrichtungstechnisch eh drauf
Grüßle ToM
EDIT:
Sorry Mike, mag er net haben, mir fällt partout nicht ein, die beiden Funktionen ohne weiteres zu Verbinden... Wie michs scho wieder ankotzt
Da iss ausnahmsweise der AdmiralMod leichter...
Ich informier mich aber, da die case befehle mir zwar noch etwas unvertraut sind, aber Du bekommst ne Lösung, wenns einfach ist
__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nightwing: 08.05.2007 16:47.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|