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  

 

 Leiche suchen -> SetGraphis

Nach unten 
+2
Bowserkoopa
Patta
6 verfasser
AutorNachricht
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 12:52 pm

Also, ich habe einen Clonk der Gegner erstechen kann. Der soll auch per Kontextmenü, wenn Liechen in seiner nähe sind, deren Klamotten nehmen und sdich somit tarnen. Das ganze soll über SetGraühics laufen. Wie aber kreige ichs hin dass er ne Leiche sucht und dann Den Clonktyp rausfindet? er soll halt einfach die nächste Leiche in einem kleinen Bereich vor ihm suchen. Wie liesse sich das realisieren?

edit: und er soll auch die Farbe des Spieler annehmen dem die Leiche gehörte.

und, wie kann ichs hinbekommen dass man Leichen schieben kann? ich sollte ein Append schreiben. Aber es sollte halt natürlich noch immer das Aussehen des Clonks der gestorben ist bleiben.
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 12:58 pm

Also FindObject2 und Get_ID() müssten glaub helfen können. Wenn dann die ID CLNK zurückgegeben wird, soll er dann eben die jeweilige Grafik(SetGraphics() ) annehmen.
Nach oben Nach unten
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 1:04 pm

OK, so werd ichs versuchen. muss ichs dann nur noch hinbekommen mit der Farbe.
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 2:19 pm

Um das mit dem Color by Owner hinzubekommen kannst du versuchen mit diesen Befehelen was zu drehen:
http://www.clonk.de/docs/de/sdk/script/fn/GetColorDw.html
http://www.clonk.de/docs/de/sdk/script/fn/SetColorDw.html
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 4:10 pm

Also ich würds ungefähr so machen:
Code:

#strict

func Such(){
var pLeiche; //Variable erstellen
/*nun müssen wir nurnoch nach objekten suchen!*/
pLeiche=FindObject2(Find_Distance(10),Find_Exclude(this()),Find_Func("IsClonk"));
/*jetzt wird das nächstbeste objekt gefunden das max 10 Pixel entfernt ist und ein Clonk ist*/
if(GetAlive(pLeiche) == 0){ //überprüfen ob er tot ist
      SetColorDw(GetColorDw(pLeiche)); //Overlay von der Leiche übernehmen
      }
  else { //wenn nicht tot
      return(1); } //dann nichts machen

return(1);
}

Das musst du nurnoch in den Timer vom Clonk packen und dann müsste es im Umkreis von 10 Pixeln jeden toten clonk erkennen und dem eigenen das Overlay verpassen.

Hoffe konnte dir helfen,
Gamer.

EDIT: GetLiving() zu GetAlive() gemacht


Zuletzt von Gamer am So Nov 22, 2009 8:32 pm bearbeitet; insgesamt 1-mal bearbeitet
Nach oben Nach unten
http://www.gamer95.npage.de/
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 5:56 pm

Müsste man nicht strict2 verwenden um den Operator == zu verwenden? Bin mir jetzt nicht sicher, ob das auch bei strict schon funktionierte, aber bei Skripts mit Operatoren setze ich normalerweise immer auf strict2
Nach oben Nach unten
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 6:17 pm

das osollte ja net so das Problem sein Wink danke gamer, ich änders dann so um dass des übers Kontextmenü geht.
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Faby
Generalleutnant
Generalleutnant
Faby


Männlich Ort : italien
Anmeldedatum : 19.08.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 6:50 pm

Bowserkoopa schrieb:
Müsste man nicht strict2 verwenden um den Operator == zu verwenden? Bin mir jetzt nicht sicher, ob das auch bei strict schon funktionierte, aber bei Skripts mit Operatoren setze ich normalerweise immer auf strict2

Die operatoren funzen auch mit #strict

Gamer schrieb:
Also ich würds ungefähr so machen:
Code:

#strict

func Such(){
var pLeiche; //Variable erstellen
/*nun müssen wir nurnoch nach objekten suchen!*/
pLeiche=FindObject2(Find_Distance(10),Find_Exclude(this()),Find_Func("IsClonk"));
/*jetzt wird das nächstbeste objekt gefunden das max 10 Pixel entfernt ist und ein Clonk ist*/
if(GetLiving(pLeiche) == 0){ //überprüfen ob er tot ist
      SetColorDw(GetColorDw(pLeiche)); //Overlay von der Leiche übernehmen
      }
  else { //wenn nicht tot
      return(1); } //dann nichts machen

return(1);
}

Das musst du nurnoch in den Timer vom Clonk packen und dann müsste es im Umkreis von 10 Pixeln jeden toten clonk erkennen und dem eigenen das Overlay verpassen.

Hoffe konnte dir helfen,
Gamer.


Sowas wie GetLiving gibts afaik nicht das kannsst du noch in findobject reinhängen mit Find_OCF(OCF_Alive)
Nach oben Nach unten
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 8:06 pm

also, GetLiving gibts nicht laut Konsole. und noch eine Frage: Kennt sich hier wer mit Actmaps aus und könnte mir eine machen? Ich kriegs einfach nciht hin.
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptySo Nov 22, 2009 8:30 pm

Zitat :


Sowas wie GetLiving gibts afaik nicht das kannsst du noch in findobject reinhängen mit Find_OCF(OCF_Alive)
Ja, aber dann würde es ja nur nur nach Lebenden dingen suchen aber ich muss es ja verneinen
Geht das so einfach mit !Find_OFC(OFC_Alive) ?
Oder man könnte ja auch auch statt GetAlive() machen:

if(GetOFC(pLeiche) & OFC_Living()) {return(1); } //er lebt noch
else {
SetColorDw(GetColorDw(pLeiche));
}
return(1);

EDIT: Ähh sry, GetLiving() gibts nich, ich meinte aber auch GetAlive()http://www.clonk.de/docs/de/sdk/script/fn/GetAlive.html
Nach oben Nach unten
http://www.gamer95.npage.de/
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 4:33 pm

so, also es sieht wie folgt aus im moment:

Code:

public func Contextchangeclothes()
{
  [Verkleiden|Image=ARMR]

var pLeiche; //Variable erstellen
/*nun müssen wir nurnoch nach objekten suchen!*/
pLeiche=FindObject2(Find_Distance(22),Find_Exclude(this()),Find_Func("IsClonk"));
/*jetzt wird das nächstbeste objekt gefunden das max 22 Pixel entfernt ist und ein Clonk ist*/
if(GetAlive(pLeiche) == 0){ //überprüfen ob er tot ist
      SetColorDw(GetColorDw(pLeiche)); //Overlay von der Leiche übernehmen
   if(GetID(pLeiche))==CLNK{
      SetGraphics(Clonk,this());}
   else(GetID(pLeiche))==MCLK{
      SetGraphics(Zauberer,this());}
   else(GetID(pLeiche))==SCLK{
      SetGraphics(Magier,this());}
   else(GetID(pLeiche))==KING{
      SetGraphics(King,this());}
   else(GetID(pLeiche))==KNIG{
      SetGraphics(Ritter,this());}
   else(GetID(pLeiche))==HCLK{
      SetGraphics(Hydro,this());}
   else(GetID(pLeiche))==JCLK{
      SetGraphics(Jungel,this());}
   else(GetID(pLeiche))==MAGE{
      SetGraphics(Magus,this());}
   else(GetID(pLeiche))==PRST{
      SetGraphics(Priester,this());}
      }
  else { //wenn nicht tot
   Message("Keine Leiche|in der Nähe",this());
      return(1); } //dann nichts machen

return(1);
}


nur kommt immer folgender Fehler:
ERROR: postfix operator without first expres​sion(in Contextchangeclothes, Ritter-Erweiterung.c4d\Spion.c4d\Script.c:367:22)

Die Farbe wird gewechstelt aber nicht die Grafik. eiss jemand was falsch ist?
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 9:14 pm

Mhm ohne Zeilenangaben weiß ich nicht wo genau der Error liegt.
Markier mal die Zeile rot oder schreib sie nochmal raus.
Nach oben Nach unten
http://www.gamer95.npage.de/
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 9:30 pm

Code:

   if(GetID(pLeiche))==CLNK{

das ists. geht anscheinen um das ==
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 9:45 pm

Vlt. ein Leerzeichen hinter das "=="
Weil es müsste eig. der Richtige Operator sein
und ohne das leerzeichen erkennt es es vlt. nicht als Operator.
Nach oben Nach unten
http://www.gamer95.npage.de/
imperatoerchen
Brigadegeneral
Brigadegeneral
imperatoerchen


Männlich Alter : 29
Ort : Ebersberg
Anmeldedatum : 23.03.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 9:45 pm

Du musst die Klammer nach pLeiche hinter CLNK schreiben, weil erst da die If-Abfrage zu Ende ist.
Nach oben Nach unten
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 10:04 pm

danke, nur sagt er mir jetzt dass bei dem else noch ein ; fehle. weiss einer wo? muss da eins hinter?
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 10:06 pm

Nach else kommt keine runde Klamner!
Also nicht if(..) else(..) sondern if(..) else ..
Wenn mehrere Befehle hinters else sollen dann macht man das mit der geschweiften Klammer.
if(..) else {
...
}
Aber eben nicht mit einer runden Klammer.
Nach oben Nach unten
http://www.gamer95.npage.de/
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyMo Nov 23, 2009 10:46 pm

also so?
Code:

   else GetID(pLeiche ==PRST){
      SetGraphics(Priester,this());}

edit: gehen tuts immer noch nicht, da fehlt irgendwo noch ein ;
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyDi Nov 24, 2009 6:57 pm

Ähh nein so war das nicht bemeint..
Die {} müssen direkt nach dem else hin.
else { if(GetID(pLeiche) == PRST)
..
}
Dein code ist voll wiredo o.O
Geschweifte klammer falsch gessetzt
und else GetID(pLeiche == PRST) stimmt schonmal garnicht..
da muss es heißen else { if(GetID(pLeiche) == PRST) .. }
Nach oben Nach unten
http://www.gamer95.npage.de/
Patta
Großadmiral
Großadmiral
Patta


Männlich Alter : 30
Anmeldedatum : 22.05.09

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyDi Nov 24, 2009 7:10 pm

ahh OK danke, das mit else konnt ich bei Clonk noch nier, weil bei allem anderen was ich in richtung scripts mache gibts entweder else (nur, ohne einzelnes if dahinter) oder elseif, aber nicht else { if...}

und in der Doku steht zu else gar nichts, hab zumindest nichts gefunden. Danke nochmal.
Nach oben Nach unten
http://sites.google.com/site/clonkprojekte/star-wars
Gamer
Staatsrat
Staatsrat
Gamer


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

Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis EmptyDi Nov 24, 2009 7:14 pm

Ja, schon komisch o.O
"if" gibts als Befehl in der Doku xD
Bloß else gibts nich?
Leiche suchen -> SetGraphis If10
Nach oben Nach unten
http://www.gamer95.npage.de/
Gesponserte Inhalte





Leiche suchen -> SetGraphis Empty
BeitragThema: Re: Leiche suchen -> SetGraphis   Leiche suchen -> SetGraphis Empty

Nach oben Nach unten
 
Leiche suchen -> SetGraphis
Nach oben 
Seite 1 von 1

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