Clonk-Center Titelbild

Clonk Center Forum / Off Topic / Script für Dumme(wie mich)


[ ]


Seite 1[1]

Von Kühlschrank am 07.02.2008 15:40  
Also ich habe mir eine map gebastelt und ich möchte gerne das meine clonks an einer bestimmten stelle starten

mein script sieht so aus:
/*-- Neues Script --*/

#strict

func Initialize() {
  
  return(1);
}

func InitializePlayer() {
  GetCrew()->SetPosition(361, 1849);
}
einer meiner clonks startet da wo er soll aber der andere wird einfach irgendwo erstellt wie kann ich ändern das der auch da startet wo der andere anfängt?
Was ist denn nun falsch?
Bzw was muss ich noch ändern

Danke im vorraus ^^

Von Deffi am 07.02.2008 16:21  
func InitializePlayer(iPlr) {
  GetCrew(iPlr)->SetPosition(361, 1849);
}

Probier das mal. Ansonsten versuchs mal mit scenario.txt?

Von Kühlschrank am 07.02.2008 16:24  
Also bis gerade eben startete kein clonk wo er sollte jetzt startet aber schon 1 von 2 clonks da wo er soll nur noch einer wird einfach irgendwo erstellt

Von Twonky am 07.02.2008 19:30  
GetCrew(iPlr)->SetPosition(361, 1849); setzt nur den ersten Clonk des jeweiligen Spielers. Praktisch wäre hier eine for-Schleife.
Etwa so:

for (var i = 0; i<GetCrewCount(iPlr); i++) GetCrew(iPlr,i)->SetPosition(361, 1849);

So oder so ähnlich.

Als Funktion wäre das dann:

func InitializePlayer(iPlr) {
  for (var i = 0; i<GetCrewCount(iPlr); i++)
    GetCrew(iPlr,i)->SetPosition(361, 1849);
  return 1;
}

Von Kühlschrank am 07.02.2008 20:24  
JAAAA es hat funktioniert VIELEN DANK
Hab nur noch 3 Fragen

1.Wie kann ich jetzt unter der map(eigenschaften)die spielziele ändern? Es ist alles grau außer die clonks die kann ich noch umändern (würde gerne das spielziel ändern und die ausrüstung)

2.Gelten die Startpunkte jetzt auch für andere spieler die ins spiel einsteigen(internet) ?

3.Nur wenn ihr lust habt wie würde der script heißen wenn ein erdbeben an einer bestimmten stelle
passieren soll , wenn ich an einer bestimmten stelle vorbeigehe
Zb. Ich gehe durch einen tunnel und wenn ich eine bestimmte stelle erreicht habe kommt das erdbeben um die decke zum einsturz zu bringen ?

VIELEN VIELEN DANK schonmal :D

Von Luchs am 08.02.2008 10:57  
Zu 1.:
Das geht wimni nur per Script (if(!FindObject(ID)) CreateObject(ID);) oder per bearbeiten der Scenario.txt.

Zu 2.:
InitializePlayer() wird immer aufgerufen, wenn ein Spieler beitritt, egal wann das geschieht, d.h. ja.

Zu 3.:
Das machst du entweder mit einem globalen Effekt, oder mit einem Objekt (Effekt ist i.d.R. besser). Du überrprüfst jedes Frame, ob sich ein Crewmember bei der bestimmten Stelle befindet (entweder mit Find_InRect() oder Find_Distance()), FindObject2(Find_OCF(OCF_CrewMember), Find_Distance(10, X, Y)) z.B..

Von Twonky am 09.02.2008 09:28  
>1.Wie kann ich jetzt unter der map(eigenschaften)die spielziele ändern? Es ist alles grau außer die clonks die kann ich noch umändern (würde gerne das spielziel ändern und die ausrüstung)


Du hast die Map als Szenario gespeichert. Darum wurde NoInitialize=1 in die Szenario.txt geschrieben, um einen Fehler zu vermeiden. Siehe Luchs, mach das per Script.

Von Deffi am 09.02.2008 19:25  
Hab noch mal eine Frage: Wieso sollte man das per Skript machen, wenn das in der Scenario.txt viel leichter geht? Können sonst auch Fehler auftreten?

Von Luchs am 09.02.2008 20:11  
Script ist toller. Und einige offizielle Melees machen es per Scenario.txt UND Script.

Von Twonky am 10.02.2008 09:03  
Ja. Es sei denn, CR behebt das automatisch.

Von -Dark-Spirit- am 06.03.2008 17:07  
Kann es sein das CR einige scripts auf denn Aktuellen stand bringt? Ich hab mal aus langeweile ein CP Objekt in CR eingefügt. Dabei wurder der ganze script auf CR stand gebracht:)

Von Luchs am 06.03.2008 18:13  
o_O.

Von Twonky am 06.03.2008 18:58  
Leider, leider eigentlich nicht. :(

Von -Dark-Spirit- am 06.03.2008 19:05  
Unheimlich. Warum aktualisiert mein CR ein CP objekt?

Von Deffi am 06.03.2008 19:59  
Frag den allwissenden Boni.

Von boni am 06.03.2008 20:17  
Nein.

Von Zapper am 06.03.2008 20:19  
Kann es nicht. Das kann nur C4SyntaxConv.exe(tm)!

Von Luchs am 07.03.2008 12:54  
Lad mal hoch! :[

Von Methos am 07.03.2008 16:57  
Du willst doch nur angeben^^

Von Zapper am 07.03.2008 17:59  
Und wenn!

Von Methos am 07.03.2008 12:01  
Weil du bei CP ein CR Objekt hattest.

Von SpezialClonk am 18.03.2008 17:26  
Eine Frage was soll das mit der Überschrifft?

Von Methos am 18.03.2008 20:41  
Er sagt uns, dass er im Scripten ein nap ist. Er warnt uns vor.

Von Speed am 19.03.2008 13:01  
versteck dich!

Von Methos am 19.03.2008 13:50  
Warum?

*vorsichtshalberschonmalversteck*

Von Speed am 19.03.2008 17:53  
vor dem ironiedetektor natürlich :)

Seite 1[1]