CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Message, wenn Objekt entfernt wird

Nach unten 
4 verfasser
AutorNachricht
Draewa
Fähnrich
Fähnrich



Männlich Alter : 28
Ort : Niedersachsen
Anmeldedatum : 29.07.08

Message, wenn Objekt entfernt wird Empty
BeitragThema: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySa Okt 23, 2010 12:57 pm

Ich suche nach einem Script, das ganz einfach eine Message ausgibt, sobald ein bestimmtes Objekt von einem Spieler genommen wird (Für ein CTF-Szenario), also zB.:
Spieler 1 nimmt die Flagge, eine globale Message erscheint "Spieler 1 hat die Flagge erobert!", sobald Spieler 2 die Flagge dann wieder hat, "Spieler 2 hat die Flagge!" usw.

Müsste eigentlich simpel sein, aber ich habe überhaupt keine Ahnung von Scripten!
Danke im Vorraus.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySa Okt 23, 2010 1:11 pm

Das musst du im Script der Flagge regeln.
Die hat Folgendes:
Code:
/* Einsamml0rn!!11 */

protected func Collected(pClonk)
{
  Log("$HasTheFlag$", GetPlayerName(GetOwner(pClonk)), GetTeamName(team));
 [..]
  GameCallEx("FlagCaptured",team, GetPlayerTeam(GetOwner(pClonk)), pClonk);
  return(1);
}
Da sieht man, das es im Log ein gewissens $HasTheFlag$ drinnen ist.
Nun kannst du zum einen in dir die Flagge kopieren (Hazard.c4d \ Goals.c4d \ CTF.c4d \ Flagbase.c4d \ Flag.c4d) und din dieser die Datei en StringTblDE.txt und StringTblEN.txt verändern.
Da steht drinn:
Zitat :
ReturnedTheFlag=%s hat die Flagge zurückgebracht
CapturedTheFlag=%s hat die Flagge erfolgreich geklaut
HasTheFlag=%s hat die Flagge von Team %s
FlagLost=Die Flagge von Team %s wurde fallen gelassen
FlagReturned=Die Flagge von Team %s ist zurück
Diese Werte kannst du dann ändern. Natürlich auch für die Englische Version Smile
Nach oben Nach unten
http://www.gamer95.npage.de/
Draewa
Fähnrich
Fähnrich



Männlich Alter : 28
Ort : Niedersachsen
Anmeldedatum : 29.07.08

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySa Okt 23, 2010 6:43 pm

Hmmm... Ich habe versucht, das durch

Code:
protected func Collected(pClonk)
{
  if (!Collected(this, pClonk));
  Message("%BeispielString%",0);
  return(1);
}

zu lösen, das Objekt meldet aber einfach nichts. Was ist falsch?
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySa Okt 23, 2010 6:49 pm

Das gibt erstmal eine Endlosschleife, da du jedes Mal die Funktion nochmal aufrufst x)

Wenn du ein neues Objekt machst, solltest du Entrance(object pInto) benutzen. Die Funktion wird aufgerufen, wenn ein Objekt eingesammelt wird. Genauso kannst du dann auch Departure(object pContainer) benutzen, wenn das Objekt fallengelassen wird.
Nach oben Nach unten
Draewa
Fähnrich
Fähnrich



Männlich Alter : 28
Ort : Niedersachsen
Anmeldedatum : 29.07.08

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySo Okt 24, 2010 10:00 am

Jetzt hab ich es folgendermaßen:
Code:
protected func Entrance(this,pClonk)
{
Message("@Die Flagge wurde genommen!",0);
Sound("Scream");
}
Schöner wäre es so:
Code:
protected func Entrance(this,pClonk)
{
Message("Die Flagge wurde von %s genommen!", this, GetPlayerName(GetOwner));
Sound("Scream");
}

Mit zweiterem kommt aber leider folgender Error:
ERROR: '(' expected, but found ')' (in Entrance, Szenario.c4s\Flagge.c4d\Script.c:547:75)
also genau beim String. Was ist falsch? Ich habe das fast 1 zu 1 aus der Doku übernommen und die Syntax ist (glaube ich) auch richtig.


Btw: Der Thread hier sollte besser zu Anfänger verschoben werden
Nach oben Nach unten
ClonkGeist
Brigadegeneral
Brigadegeneral



Männlich Anmeldedatum : 23.01.10

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySo Okt 24, 2010 10:31 am

Bei GetOwner fehlt das Objekt.

Zitat :

protected func Entrance(this,pClonk)
{
Message("Die Flagge wurde von %s genommen!", this, GetPlayerName(GetOwner(pClonk)));
Sound("Scream");
}

Mal abgesehen davon, wieso "this" als Parameter? - Scheint mir sinnlos.
Nach oben Nach unten
Draewa
Fähnrich
Fähnrich



Männlich Alter : 28
Ort : Niedersachsen
Anmeldedatum : 29.07.08

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySo Okt 24, 2010 10:37 am

this in der Funktion oder in der Message? In der Message hab ich es aus versehen geschrieben, in der Funktion dachte ich, es gehört zur Syntax (Welche Funktion,welcher Aktor,welches Ziel?). Danke für die Hilfe, jetzt klappt es!

[Edit]

Mist, nächstes Problem! Das Spiel gibt zwar keine Errors mehr, dafür wird die Nachricht jetzt verkorkst ausgegeben:
"Spieler (Null) aus Team (Null) hat die Flagge genommen!"
Hab ich im String etwas falsch gemacht? Die fertige Funktion sieht so aus:

Code:
protected func Entrance(this,pClonk)
{
Message("@Die Flagge wurde von %s aus Team %s genommen!", this, GetPlayerName(GetOwner(pClonk)), GetTeamName(GetOwner(pClonk)));
Sound("Scream");
}

Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySo Okt 24, 2010 11:04 am

Ähm, was sucht der Paramater "this" in der Funktion? o_O?
Mach die mal raus und schreib ein "object" vor das pClonk.
Und bei this in dem Message Befehl würde ich noch die Funktionsklammern mitreinnehmen.
Also so:
Code:
protected func Entrance(object pClonk)
{
Message("@Die Flagge wurde von %s aus Team %s genommen!", this(), GetPlayerName(GetOwner(pClonk)), GetTeamName(GetOwner(pClonk)));
Sound("Scream");
}
Nach oben Nach unten
http://www.gamer95.npage.de/
Draewa
Fähnrich
Fähnrich



Männlich Alter : 28
Ort : Niedersachsen
Anmeldedatum : 29.07.08

Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird EmptySo Okt 24, 2010 11:16 am

Danke allerseits, jetzt läuft wirklich alles!
Nach oben Nach unten
Gesponserte Inhalte





Message, wenn Objekt entfernt wird Empty
BeitragThema: Re: Message, wenn Objekt entfernt wird   Message, wenn Objekt entfernt wird Empty

Nach oben Nach unten
 
Message, wenn Objekt entfernt wird
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Message veraltet gesucht!
» Wie kann ich einstellen, wo ein Objekt produziert wird?

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Anfragen-
Gehe zu: