Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 4 » Fix-Dateien, Modding-Fragen, Scripting » Scores (Bei Erreichen eines Punktes einen Score vergeben) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Scores (Bei Erreichen eines Punktes einen Score vergeben)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Oi!mel
Turnbeutelvergesser


images/avatars/avatar-1619.jpg


Dabei seit: 29.06.2009
Beiträge: 299


Scores (Bei Erreichen eines Punktes einen Score vergeben) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen,
Ich versuche seit einiger Zeit auf meiner Map trigger use_touch zu nutzen um Punkte zu vergeben. Allerdings funktioniert es so, wie ich es aktuell aufgebaut habe, nicht.
Also ich habe einen trigger use_touch mit dem targetname trig.

Dieses Script soll die Punkte vergeben:

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:
jumperscores()
{
entSCOREUPDATER = getentarray("trig","targetname");
if(isdefined(entSCOREUPDATER))
{
for(lp=0;lp<entSCOREUPDATER.size;lp++)
entSCOREUPDATER[lp] thread SCOREUPDATER();
}


}

SCOREUPDATER()
{
mapsmpgametypes_rank::registerScoreInfo( strafejump", 5 );

while(true)
{
self waittill("trigger",player);
entTarget = getent(self.target, "targetname");
player thread [[level.onXPEvent]]( "strafejump" );
mapsmpgametypes_globallogic::givePlayerScore( "strafejump", player );
level notify( "update_allhud_score" );
}
}



Ich glaube es ist schon ein Wunder dass ich das ganze ohne Fehlermeldung starten kann. xD
Wenn ich jetzt durch den Trigger durchlaufe passiert allerdings garnichts.

Kann mir jemand bitte weiterhelfen. =)
Danke


--- Edit by Nightwing: Thema angepasst und in Scripthilfe verschoben ---

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nightwing: 03.03.2010 17:03.

Oi!mel ist offline E-Mail an Oi!mel senden Beiträge von Oi!mel suchen Nehmen Sie Oi!mel in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.858


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bist Du Dir sicher, das das Script überhaupt geladen wird?
Bei der Menge an Zeichenfehlern dürfte das nie und nimmer starten.
Hab Dir das Script mal ohne den Codetag eingefügt, denn sonst funktioniert die rote Farbe nicht:

jumperscores()
{
entSCOREUPDATER = getentarray("trig","targetname");
if(isdefined(entSCOREUPDATER)) Warum hier eine Abfrage, ob entSCOREUPDATER definiert ist? Hast Du eine Zeile höher definiert.
{
for(lp=0;lp<entSCOREUPDATER.size;lp++)
entSCOREUPDATER[lp] thread SCOREUPDATER();
}


}

SCOREUPDATER()
{
maps\mp\gametypes\_rank::registerScoreInfo( "strafejump", 5 );

while(1) Warum Warten, bis etwas true ist? Du hast nirgends ein false definiert.
{
self waittill("trigger",player);
entTarget = getent(self.target, "targetname"); Was soll diese Zeile bewirken?
player thread [[level.onXPEvent]]( "strafejump" );
maps\mp\gametypes\_globallogic::givePlayerScore( "strafejump", player );
level notify( "update_allhud_score" );
}
}

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Oi!mel
Turnbeutelvergesser


images/avatars/avatar-1619.jpg


Dabei seit: 29.06.2009
Beiträge: 299


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

KA, ich bin mir nicht ganz sicher...
thread maps\mp\_jumperscores::jumperscores();
Das steht in meiner map.gsc

Wahrscheinlich wird SCOREUPDATER() nicht geladen, da sind ja die Fehler drinnen. Muss ich die nochmal extra in der map.gsc aufrufen?

Eigentlich war es nämlich so gedacht dass die Funktion jumperscores() die Funktion SCOREUPDATER() aufruft.

Die Scores funktionieren jetzt logischerweise immer noch nicht.

Hast du eine Idee was noch alles am Script falsch ist?
Oi!mel ist offline E-Mail an Oi!mel senden Beiträge von Oi!mel suchen Nehmen Sie Oi!mel in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.858


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von Oi!mel

thread maps\mp\_jumperscores::jumperscores();
Das steht in meiner map.gsc

Wenn es an der richtigen Stelle steht und das File _junperscores.gsc heisst, passt das.

Zitat:

Original von Oi!mel

Wahrscheinlich wird SCOREUPDATER() nicht geladen, da sind ja die Fehler drinnen. Muss ich die nochmal extra in der map.gsc aufrufen?

Die Funktion dürfte wohl nicht geladen werden, weil in der ersten schon Fehler drin sind, siehe Edit.

Zitat:

Original von Oi!mel

Eigentlich war es nämlich so gedacht dass die Funktion jumperscores() die Funktion SCOREUPDATER() aufruft.

So wäre das auch richtig.

Zitat:

Original von Oi!mel

Hast du eine Idee was noch alles am Script falsch ist?

Nein, da ich sowas noch nie in eine Map eingebaut habe.

Hier das Script, wie es zumindest scripttechnisch richtig wäre.
Keine Ahnung, ob es funktioniert:

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:
init()
{
	strafejump = getentarray( "strafejump", "targetname" );
	maps\mp\gametypes\_rank::registerScoreInfo( "strafejump", 5 );
	for( lp=0; lp < strafejump.size; lp++ )
		strafejump[lp] thread score();
}

score()
{
	while(1)
	{
		self waittill( "trigger", player );
		player thread [ [ level.onXPEvent ] ]( "strafejump" );
		maps\mp\gametypes\_globallogic::givePlayerScore( "strafejump", player );
		level notify( "update_allhud_score" );
	}
}



ToM

PS: Bitte keine Freundschaftsanfragen per xFire / sonstigen Tools.

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Oi!mel
Turnbeutelvergesser


images/avatars/avatar-1619.jpg


Dabei seit: 29.06.2009
Beiträge: 299


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

sry.

Danke für die Hilfe, aber leider passiert nichts wenn ich durchlauf.
Ich hab jetzt einen trigger use_touch mit dem targetname strafejump.

Ich habe gesehen dass beim Teleporter Script ein trigger multiple benutzt wurde, aber man auch reinlaufen muss. Wenn ich jetzt ein trigger multiple hernehm bekomm ich lauter Fehlermeldung:



Was bringt eigentlich trigger multiple im Gegenzug zu use_touch?

Kann mir jemand erklären was ich machen muss dass dieses Script auf meine Map passt?
Oi!mel ist offline E-Mail an Oi!mel senden Beiträge von Oi!mel suchen Nehmen Sie Oi!mel in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Fix-Dateien, Modding-Fragen, Scripting » Scores (Bei Erreichen eines Punktes einen Score vergeben)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv