'N paar Fragen... (zu: HUD Element, Punktevergabe, etc.) |
Oi!mel
Turnbeutelvergesser
 
Dabei seit: 29.06.2009
Beiträge: 299

|
|
| 'N paar Fragen... (zu: HUD Element, Punktevergabe, etc.) |
 |
Hallo an Alle!
Ich habe ein paar Fragen, und ich hoffe ihr könnt sie mir auch beantworten. also...
1. Kennt jemand ein Script das folgendes bewirken soll:
Der Spieler soll wie in der SP Mission am Anfang auf Ziele schießen müssen. Sobald er sie getroffen hat verschwienden sie.
2. Kann ich einem Spieler mit einem trigger use_touch scores geben? Also ein Spieler läuft durch den Trigger und bekommt dafür 10 Punkte? Bzw, wie kann ich das machen?
3. Was ist der Unterschied wenn ich in meiner map.gsc eine funktion einbinde wenn ich thread benutze oder nicht?
4. Mein Ziel ist es, eine Option zu geben, wie man spawnt. Jetzt habe ich folgendes probiert.
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:
|
trainingspawn(){
normal = getent("stdspawn","targetname");
train = getent("trainspawn","targetname");
if(getdvar("monkey_spawn") == "train")
{
normal hide();
}
if(getdvar("monkey_spawn") == "normal")
{
train hide();
}
if(getdvar("monkey_spawn") == "")
{
train hide();
}
} |
|
Einen Spawn habe ich den targetname stdspawn gegeben, und einem spawn trainspawn. Allerdings kann der Spieler immer noch bei beiden Spawns spawnen. Weiß jemand wie ich das lösen kann?
Danke schonmal im vorraus =)
Cheers'n'Oi!,
Oi!mel
--- Edit by Nightwing: Thema angepasst und in Scripthilfe verschoben ---
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 03.03.2010 17:01.
|
|
|
|
|
|
|
Ich kann dir hier ein paar Dinge kurz anreißen, aber ich denke, das einiges deine bisherigen Kenntnisse, was das Scripten betrifft, in einem hohen Maße überschreitet, ich aber weder Zeit noch Lust habe, das alles haarklein zu erklären (das wird nämlich in seitenweise Romane ausarten).
Original von Oi!mel
1. Kennt jemand ein Script das folgendes bewirken soll:
Der Spieler soll wie in der SP Mission am Anfang auf Ziele schießen müssen. Sobald er sie getroffen hat verschwienden sie.
Einfach eine Zielscheibe basteln (als script_brushmodel) und einen trigger_damage vor die Zielscheibe platzieren. dann im Script warten bis der trigger_damage getriggert wird und dadurch die Zielscheibe wegbewegen/wegdrehen.
Original von Oi!mel
2. Kann ich einem Spieler mit einem trigger use_touch scores geben? Also ein Spieler läuft durch den Trigger und bekommt dafür 10 Punkte? Bzw, wie kann ich das machen?
zuerst einmal die Punkte definieren.
maps\mp\gametypes\_rank::registerScoreInfo( "irgendwas", 5 );
irrgendwas = kannst dir selber eine Bezeichnung aussuchen
5 = Punkte die man bekommt.
Dann, sobald der trigger getriggert wird, z.B.
trig waittill("trigger", player );
dem player die Punkte geben
player thread [[level.onXPEvent]]( "irgendwas" );
maps\mp\gametypes\_globallogic::givePlayerScore( "irgendwas", player );
level notify( "update_allhud_score" );
irgendwas = das selbe, was du oben bei irgendwas eingegeben hast.
Original von Oi!mel
3. Was ist der Unterschied wenn ich in meiner map.gsc eine funktion einbinde wenn ich thread benutze oder nicht?
ohne thread wird die eigentliche Funktion angehalten und die aufgerufene Funktion abgearbeitet, ist die am Ende angelangt, wird die ursprüngliche Funktion weiter abgearbeitet.
Mit thread wird die Funktion aus der du die neue Funktion aufrufst nicht unterbrochen, sondern läuft gleichzeitig mit der neuen Funktion weiter.
Original von Oi!mel
4. Mein Ziel ist es, eine Option zu geben, wie man spawnt. Jetzt habe ich folgendes probiert.
Dafür musst du dir leider einen komplett eigenen gametype (Mod) schreiben, da das Spawnen der Player nur über die gametypescripts geregelt wird (da hast du von einer Map aus keinen Einfluss).
Ich schätze aber mal, mit der Hälfte, was ich hier geschrieben habe, wirst du nichts anfangen können
__________________
Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.
|
|
|
|
|
|
|
erst mal muss das Material deines Bildes precached werden
precacheShader("material_name");
dann musst du den Player identifizieren (z.B. über einen Trigger) , und für ihn ein neues Hudelement erzeugen. Damit es nicht mehrmals erzeugt wird (wenn er z.B. den trigger nochmal betätigt) sollte vorher geprüft werden ob das Hudelement schon existiert um es dann gegenbenenfalls vorher mit 'destroy' löschen)
if( isDefined( self.hudicon )
self.hudicon destroy();
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
self.hudicon = newClientHudElem( self );
self.hudicon.x = 10; // x-position in Bezug auf horzAlign
self.hudicon.y = 13; // y-position in Bezug auf vertAlign
self.hudicon.alignX = "center"; // x-Bezugspunkt vom Bild
self.hudicon.alignY = "middle"; //y-Bezugspunkt vom Bild
self.hudicon.horzAlign = "center"; //x-Achsenbezug vom Bildschirm
self.hudicon.vertAlign = "middle"; //y-Bezugspunkt vom Bildschirm self.hudicon.alpha = 0.9; // transparenz
self.hudicon.hideWhenInMenu = true; //unsichtbar schalten wenn ein menü aufgerufen wird
self.hudicon setShader("material_name", 40, 40); //Materialname des Bildes und dessen gewünschte Größe (x und y). |
|
Es gibt da noch mehr Parameter die aber im Moment unwichtig sind.
Bei alignX und horzAligen sind gültig "left", "center" und "right" bei alignY und vertAlign "top", "middle" und "bottom").
Bei der Wahl der Bildgröße und den Bezugspunkten solltest du daran denken, das nicht jeder mit der selben Auflösung und selben Bildschirmseitenverhältnissen spielt (4:3, 16:9 bzw. 16:10). Da sollte man das Bild so positionieren, das ganz gleich welche Auflösung oder Seitenverhältnis der Spieler hat, keine der anderen Anzeigen überdeckt werden bzw. das Element mitten im Bild ist und die Sicht zu stark verdeckt.
Das Ding muss auch nicht 'hudicon' heißen, den Namen kannst du dir selber aussuchen.
Es macht auch einen Unterschied, ob man nur ein allgemeines Bild anzeigen will (das jeder Spieler sieht) oder für jeden Spieler einzeln (wenn sie unterschiedliche haben sollen). Das oben gezeigte ist für jeden Spieler einzeln.
__________________
Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 01.02.2010 19:32.
|
|
|
|
|
Oi!mel
Turnbeutelvergesser
 
Dabei seit: 29.06.2009
Beiträge: 299

|
|
Danke für die Antwort. Zu Schade dass ich wahrscheinlich vor dem Wochenende nicht zum Ausprobieren komme.
Jetzt ist mir noch eine Frage eingefallen.
6. Wie kann ich den "pulsir" Effekt (Wenn man hart getroffen wird, und die Ränder so rot angelaufen sind" entfernen?
Ich hab das ganz so probiert:
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:
|
setdvar( "hud_health_pulserate_critical", "0" );
setdvar( "hud_health_pulserate_injured", "0" );
setdvar( "hud_health_startpulse_critical", "0" );
setdvar( "hud_health_startpulse_injured", "0" );
setdvar( "hud_healthOverlay_phaseEnd_pulseDuration", "0" );
setdvar( "hud_healthOverlay_phaseEnd_toAlpha", "0" );
setdvar( "hud_healthOverlay_phaseOne_pulseDuration", "0" );
setdvar( "hud_healthOverlay_phaseThree_pulseDuration", "0" );
setdvar( "hud_healthOverlay_phaseThree_toAlphaMultiplier", "0" );
setdvar( "hud_healthOverlay_phaseTwo_pulseDuration", "0" );
setdvar( "hud_healthOverlay_phaseTwo_toAlphaMultiplier", "0" );
setdvar( "hud_healthOverlay_pulseStart", "0" );
setdvar( "hud_healthOverlay_regenPauseTime", "0" );
setdvar( "cg_hudDamageIconHeight", "0" );
setdvar( "cg_hudDamageIconInScope", "0" );
setdvar( "cg_hudDamageIconOffset", "0" );
setdvar( "cg_hudDamageIconTime", "0" );
setdvar( "cg_hudDamageIconWidth", "0" ); |
|
Leider kein Erfolg =(.
Jemand ne Idee?
Danke.
|
|
|
|
|
|
|
Ersetz doch erst mal die iwi-Datei overlay_low_health durch eine neue (komplett transparente). Was transparent ist sieht man nicht (auch nicht pulsierend).
__________________
Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.
|
|
|
|
|
Mapicted
Steuerzahler

Dabei seit: 10.04.2015
Beiträge: 200

|
|
soweit ich weiß nicht
__________________ Fresh Beginnings!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Mapicted: 06.02.2010 13:00.
|
|
|
|
|
|
|
1. Eintrag in der \maps\mp\mp_deinemap.gsc:
main()
{
maps\mp\_load::main();
setExpFog(100, 3000, 0.613, 0.621, 0.609, 0);
VisionSetNaked( "mp_deinemap" );
ambientPlay("sound01");
game["allies"] = "marines";
game["axis"] = "opfor";
game["attackers"] = "axis";
game["defenders"] = "allies";
game["allies_soldiertype"] = "desert";
game["axis_soldiertype"] = "desert";
setdvar( "r_specularcolorscale", "1" );
setdvar("compassmaxrange","2100");
}
2. Im Ordner \raw\soundaliases eine Textdatei mit folgendem Inhalt erstellen:
name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dis
t_max,channel,type,probability,loop,masterslave,loadspec,subtitle,compressi
on,secondaryaliasname,volumefalloffcurve,startdelay,speakermap,reverb,lfe percentage,center percentage,platform,envelop_min,envelop_max,envelop percentage
sound01,,amb/NAME DER MP3.mp3,0.5,0.9,,,,,,ambient,streamed,,looping,,all_mp,,,,,,amb_front,nowet
level fulldrylevel,0.6,,,,,,mp3
3. Diese Datei mp_deinemap.csv nennen
4. Compile Tools starten, auf "Update Zone File" klicken und um folgende Zeile ergänzen:
sound,mp_mapname,mp_mapname,all_mp
5. Auf den Button "Save" klicken und die Änderung wird übernommen
6. Im Ordner \raw\sound einen neuen Ordner erstellen und z.b. amb nennen. In diesen Ordner kommt die mp3 rein.
7. Dann muß ein Ordner erstellt werden (egal wo), mit dem Namen mp_deinemap. Darin einen Ordner mit dem Namen sound darin wieder einen Ordner mit dem Namen amb (dies ist der Ordner aus raw/sound) und in diesen Ordner kommt die mp3 rein.
Die Ordnerstruktur sollte dann so aussehen: mp_deinemap/sound/amb darin die mp3.
8. Den Ordner mp_deinemap mit den darin befindlichen Unterordnern zu einer mp_deinemap.zip packen und umbennen in mp_deinemap.iwd und diese in Mods/customMaps kopieren.
9. "Build Fast File"
__________________

|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|