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 2 » Call of Duty 2 - Mapping » CoD2-Mapping-Hilfe » viel drehendes mit einem script » 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 viel drehendes mit einem script
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
schwachmat
Zu-Hause-Esser


images/avatars/avatar-1163.gif


Dabei seit: 22.06.2007
Beiträge: 63


viel drehendes mit einem script 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,
ich habe etwas drehendes gebaut ("rotator","targetname") und es dreht sich auch wie es soll. Jetzt möchte ich es aber öfter auf meienr map haben ohne tausend scripts zu schreiben und tausend targetnames zu ändern. Das hab ich mit diesem script versucht :

main()
{
thread rotator();
}


rotator()
{
rotator = getentarray ("rotator","targetname");
while (1)


{
rotator rotateyaw (360,4);
rotator waittill ("rotatedone");

}

self thread rotator();
return;
}

Jedoch stürtzt der das Spiel dann immer mit der Fehlermeldung "array is not an entity" ab. -richtig es ist kein entity aber soll auch keins sein!! Hat da jemand ne Idee? Wäre sehr dankbar

__________________
MFG schwachmat aka laug



The road of life is rocky, and you may stumble to but while you point your finger, someone else is judging you! - Bob Marley
schwachmat ist offline E-Mail an schwachmat senden Beiträge von schwachmat suchen Nehmen Sie schwachmat in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


RE: viel drehendes mit einem script Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musste es so machen (dann sind es auch wieder Entitys und kein Array)

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:
main()
{
	thread rotator();
}


rotator()
{
	rotator = getentarray ("rotator","targetname");
	for(i = 0; i < rotator.size; i++)
		rotator[i] thread rotate_me();
}

rotate_me()
{
	while (1)
	{
		self rotateyaw (360,4);
		wait 3.9;
	}

}



Und hier hast du noch einen universell einsetzbaren.
Da kannst du dann im Radianten den zu rotierenden Dingen neben dem targetname noch den speed und die Achse angeben (wenn die Objetze sich mit unterschiedlichen Geschwindigkeiten und auf verschiedenen Achsen drehen sollen).

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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
/*
	rotate object script by Roger Abrahamsson

	Make object into a script_brushmodel and give it targetname rotate

	Key speed sets seconds per revolution.
	Key script_noteworthy takes y, x or z and rotates around that axis.

*/


main()
{
	rotate_obj = getentarray("rotate","targetname");
	if(isdefined(rotate_obj))
	{
		for(i = 0; i < rotate_obj. size; i++)
		{
			rotate_obj[i] thread ra_rotate();
		}
	}
}

ra_rotate()
{
	if (!isdefined(self.speed) || self.speed == 0)
		self.speed = 5;
	if (!isdefined(self.script_noteworthy))
		self.script_noteworthy = "y";

	while(true)
	{
		// rotateYaw(float rot, float time, <float acceleration_time>, <float deceleration_time>);
		if (self.script_noteworthy == "y")
			self rotateYaw(360,self.speed);
		else if (self.script_noteworthy == "x")
			self rotateRoll(360,self.speed);
		else if (self.script_noteworthy == "z")
			self rotatePitch(360,self.speed);
		wait ((self.speed)-0.1); // removes the slight hesitation that waittill("rotatedone"); gives.
	}
}



__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 31.01.2008 12:51.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
schwachmat
Zu-Hause-Esser


images/avatars/avatar-1163.gif


Dabei seit: 22.06.2007
Beiträge: 63


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

Danke! Das erste wird mir aber denke ich schon reichen. Aber wofür steht dnn das "i" ? for(i = 0; i < rotator.size; i++) Soll das für engl. I also "ich" stehen? Gibts da irgendwo nen tutorial? Ich hab mir auf modsonline eins angeguckt was sich "getting startet in scripting" nennt aber da stand halt nur das mann für mehrere entitys einfach getentarray schreiben soll.

edit : aber es funzt schonma grosses Grinsen

__________________
MFG schwachmat aka laug



The road of life is rocky, and you may stumble to but while you point your finger, someone else is judging you! - Bob Marley

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von schwachmat: 31.01.2008 13:41.

schwachmat ist offline E-Mail an schwachmat senden Beiträge von schwachmat suchen Nehmen Sie schwachmat in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


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 schwachmat
Danke! Das erste wird mir aber denke ich schon reichen. Aber wofür steht dnn das "i" ? for(i = 0; i < rotator.size; i++)
Nein, das ist einfach nur eine Variable (könnte auch x, y, z oder Pusteblume sein). Die Variable i wird am Anfang der for-Schleife auf 0 gesetzt (i = 0) und dann immer um eins erhöht (i++) und das solange i kleiner als die Anzahl der Elemente im Array rotator (rotator.size) ist.
Das ist eine normale for Schleife aus der Programmiersprache C.

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
schwachmat
Zu-Hause-Esser


images/avatars/avatar-1163.gif


Dabei seit: 22.06.2007
Beiträge: 63


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

Also findet das Script quasi selber heraus wieviele entitys sich drehen sollen?

__________________
MFG schwachmat aka laug



The road of life is rocky, and you may stumble to but while you point your finger, someone else is judging you! - Bob Marley
schwachmat ist offline E-Mail an schwachmat senden Beiträge von schwachmat suchen Nehmen Sie schwachmat in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


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 schwachmat
Also findet das Script quasi selber heraus wieviele entitys sich drehen sollen?
Ja, das wolltest du doch so haben. getentarry sucht alle Entities in deiner Map heraus, die den targetname "rotator" haben und speichert diese im Array rotator. Danach ruft die for Schleife für jedes einzelne Entity im Array rotator den thread rotate_me() auf.

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
schwachmat
Zu-Hause-Esser


images/avatars/avatar-1163.gif


Dabei seit: 22.06.2007
Beiträge: 63


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

Jo das is so genau richtig, ich wollt halt nur auch gern verstehen was ich da benutze^^

__________________
MFG schwachmat aka laug



The road of life is rocky, and you may stumble to but while you point your finger, someone else is judging you! - Bob Marley
schwachmat ist offline E-Mail an schwachmat senden Beiträge von schwachmat suchen Nehmen Sie schwachmat in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 2 » Call of Duty 2 - Mapping » CoD2-Mapping-Hilfe » viel drehendes mit einem script

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv