|
 |
Admiral Mod - Spawnprotection |
|
|
Admiral Mod - Spawnprotection |
 |
Hi
Mag mir einer bei der Spawnprotection helfen??
Ich bekomm das irgendwie nicht hin.
Der geschützte Player soll zwar seine Waffe behalten, aber für die Dauer der Protection keinen Damage verursachen.
Hier der 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:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
|
activateSpawnHealth() {
if(game["am_player_spawn_protect"] != 1) return;
self endon("disconnect");
self endon("killed_player");
// * Wenn schon Protection, dann nicht nochmal *
if(isDefined(self.spawnProtection)) return;
self.spawnProtection = true;
if(game["am_error_logfile"] == 1) logPrint("activateSpawnHealth\n");
self iprintln(&"AM_MP_YOU_ARE_PROTECTED");
wait 1; // 1 Sekunde warten, bis die HeadIcons eingestellt sind und man sie bearbeiten kann!
protect_time = game["am_player_spawn_protect_time"];
wait 0.1;
self deletePlayerHudElementByName("spawnHealth");
self createPlayerHudElement("spawnHealth", 120,420,"center","middle","fullscreen","fullscreen",false,"gfx/hud/hud@health_cross.tga",24,24,1,0,1,1,1);
wait 1;
self fadeOverPlayerHudElement("spawnHealth",0.05,0.8);
self scaleOverPlayerHudElement("spawnHealth",0.1, 64, 64);
self scaleOverPlayerHudElement("spawnHealth",0.05, 34, 34);
startpos = self.origin;
// * Protection Zeit *
for(i=0;i<((protect_time-1)*2);i++) {
// * Abfragen ob Spieler aus dem Bereich laeuft *
if(distance(startpos, self.origin) > 80) break;
wait 0.5; // * 2 Mal pro Sekunden abfragen *
}
|
|
Danke für Eure Hilfe
ToM
__________________

|
|
|
|
|
|
|
Hallo Tom,
Hab mir das Script nicht wirklich angesehen aber auf die Schnelle würd ich sagen das du etwas im PlayerDamge Teil einbaun musst.
__________________

|
|
|
|
|
|
|
Hi Markus
Danke für den Tip, den PlayerDamage werd ich mir nachher zu Gemüte führen
ToM
EDIT:
Hab in der Funktion PlayerDamage in der Datei admiral_mod_player.gsc folgenden Code eingefügt:
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:
|
PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime) {
if(game["am_error_logfile"] == 1) logPrint("PlayerDamage\n");
//*** geändert für HELLZone AM **///
if(isPlayer(eAttacker) && self.spawnprotection == true || self.spawnprotection == true) return;
//*** ENDE für HELLZone AM **///
self endon("disconnect");
/*
iprintln(iDamage);
iprintln(sMeansOfDeath);
iprintln(sWeapon);
iprintln(vPoint);
*/
if(isDefined(sWeapon) && (sWeapon == "gas_grenade_mp" || sWeapon == "fire_grenade_mp")) {
if(isDefined(eAttacker) && isPlayer(eAttacker) && isDefined(eAttacker.clientid) && isDefined(eAttacker.pers["team"])) {
level thread maps\mp\gametypes\_admiral_mod_weapons_class::CreateWeaponSpecialFX(eAttacker.clientid, eAttacker.pers["team"], iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir);
return;
}
}
|
|
Müsste funktionieren.
__________________

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Nightwing: 22.05.2007 18:24.
|
|
|
|
|
|
|
auch bei dem Versuch, wie oben beschrieben, tut es nicht.
Ich hab nun die Lösung, hier der 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:
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:
|
activateSpawnHealth() {
if(game["am_player_spawn_protect"] != 1) return;
self endon("disconnect");
self endon("killed_player");
// * Wenn schon Protection, dann nicht nochmal *
if(isDefined(self.spawnProtection)) return;
self.spawnProtection = true;
if(game["am_error_logfile"] == 1) logPrint("activateSpawnHealth\n");
self iprintln(&"AM_MP_YOU_ARE_PROTECTED");
// wait 1; // 1 Sekunde warten, bis die HeadIcons eingestellt sind und man sie bearbeiten kann!
protect_time = game["am_player_spawn_protect_time"];
wait 0.1;
/*
self deletePlayerHudElementByName("spawnHealth");
self createPlayerHudElement("spawnHealth", 120,420,"center","middle","fullscreen","fullscreen",false,"gfx/hud/hud@health_cross.tga",24,24,1,0,1,1,1);
wait 1;
self fadeOverPlayerHudElement("spawnHealth",0.05,0.8);
self scaleOverPlayerHudElement("spawnHealth",0.1, 64, 64);
self scaleOverPlayerHudElement("spawnHealth",0.05, 34, 34);
*/
startpos = self.origin;
// * Protection Zeit *
for(i=0;i<((protect_time-1)*2);i++) {
// * Abfragen ob Spieler aus dem Bereich laeuft *
if(distance(startpos, self.origin) > 80) break;
// * Wenn Spieler attackiert, dann kein Schutz mehr *
if( self attackButtonPressed() ) break;
wait 0.5; // * 2 Mal pro Sekunden abfragen *
}
/*
// * Fade *
self fadeOverPlayerHudElement("spawnHealth",1,0);
self scaleOverPlayerHudElement("spawnHealth",0.5, 10, 10);
self deletePlayerHudElementByName("spawnHealth");
wait 1;
*/
self.spawnProtection = undefined;
self iprintln(&"AM_MP_YOU_ARE_NOT_PROTECTED");
}
|
|
Feuert der geschützte Spieler die Waffe ab, endet seine Protection
ToM
PS: Das dusselige Health Cross über der Birne hab ich gleich mal entfernt
__________________

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Nightwing: 28.05.2007 21:55.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|