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

Teilen | 
 

 Message, wenn Objekt entfernt wird

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Draewa
Fähnrich
Fähnrich


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

BeitragThema: Message, wenn Objekt entfernt wird   Sa 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
Benutzerprofil anzeigen
Gamer
Staatsrat
Staatsrat
avatar

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

BeitragThema: Re: Message, wenn Objekt entfernt wird   Sa 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

_________________
Star Wars Projekt Homepage: http://sites.google.com/site/clonkprojekte/star-wars

Das Burg Projekt.................................................................... Schaut doch mal im Super-Mario Clonk Editon Forum vorbei!
Nach oben Nach unten
Benutzerprofil anzeigen http://www.gamer95.npage.de/
Draewa
Fähnrich
Fähnrich


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

BeitragThema: Re: Message, wenn Objekt entfernt wird   Sa 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
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Message, wenn Objekt entfernt wird   Sa 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
Benutzerprofil anzeigen
Draewa
Fähnrich
Fähnrich


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

BeitragThema: Re: Message, wenn Objekt entfernt wird   So 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
Benutzerprofil anzeigen
ClonkGeist
Brigadegeneral
Brigadegeneral


Männlich Anmeldedatum : 23.01.10

BeitragThema: Re: Message, wenn Objekt entfernt wird   So 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
Benutzerprofil anzeigen
Draewa
Fähnrich
Fähnrich


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

BeitragThema: Re: Message, wenn Objekt entfernt wird   So 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
Benutzerprofil anzeigen
Gamer
Staatsrat
Staatsrat
avatar

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

BeitragThema: Re: Message, wenn Objekt entfernt wird   So 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");
}

_________________
Star Wars Projekt Homepage: http://sites.google.com/site/clonkprojekte/star-wars

Das Burg Projekt.................................................................... Schaut doch mal im Super-Mario Clonk Editon Forum vorbei!
Nach oben Nach unten
Benutzerprofil anzeigen http://www.gamer95.npage.de/
Draewa
Fähnrich
Fähnrich


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

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

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




BeitragThema: Re: Message, wenn Objekt entfernt wird   

Nach oben Nach unten
 
Message, wenn Objekt entfernt wird
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» [phpBB2] Beiträge löschen, ohne das die Kategorie entfernt wird?
» Schrift im Profil wird schwarz, wenn ich mit der Maus drauf bin
» Link wird umgeleitet!
» (Wichtig) Das Internet wird Abgeschaltet !
» Favicon wird nicht angezeigt

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