ctf - flagge um 90° drehen

steinacker
ich hab in meiner map in der gsc-datei die flagge der allies um 90° gedreht
nun erscheint der sockel etwas weiter links vorne als die flagge selbst

code:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
//////////////////////////////////////////////////// Gametype Capture the Flag & Capture the Flag back////
	if( getDvar("g_gametype") == "ctf")
	{
		addobj("allied_flag", (2520, -424, -256), (0, 90, 0));
		addobj("axis_flag", (-2832, -3016, -1432), (0, 0, 0));
	}
	
	if(getDvar("g_gametype") == "ctfb")
	{
		addobj("allied_flag", (2520, -424, -256), (0, 90, 0));
		addobj("axis_flag", (-2832, -3016, -1432), (0, 0, 0));
	}



pic:


kann das irgendwie gefixt werden, oder liegt das an dem "nullpunkt" der flagge
OLD MAN WITH GUN
Das Problem ist nicht die Flagge, sondern der Sockel.
Bei den Mods wurde für den Sockel eine Lampe benutzt (ch_industrial_lamp_off). Deren Nullpunkt (origin) liegt aber nicht in der Mitte der Lampe, sondern außerhalb.



Und in den Mods ist der Einfügepunkt für den Sockel so definiert, dass die Mitte des Sockels (der Lampe) genau unter der Flagge ist.

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
	allied_flag.basemodel = spawn("script_model", allied_flag.home_origin + (-19, 0, 15));
	allied_flag.basemodel.angles = allied_flag.home_angles ;
	allied_flag.basemodel setmodel(game["prop_flag_base"]);


Dadurch, das sich der Ursprungspunkt des Sockels also nicht genau da befindet, wo der Ursprungspunkt der Flagge ist, verschieb sich das alles, sobald du den Einfügewinkel änderst (da beide Modelle um unterschiedliche Ursprungspunkte gedreht werden). Man hätte in den Mods besser die Sockel nicht ebenfalls gedreht (ist doch genau betrachtet sinnlos), dann hätte es das Problem nicht gegeben.
steinacker
ist das das xmodel oder das prefab des sockels, das hier benutzt wird
dann könnte ich ja eventuell den nullpunkt im radianten verschieben, oder würde das wieder zu neuen problemen führen

oder wäre es besser das im script auszugleichen, dass man den spawnpunkt des sockels abändert
OLD MAN WITH GUN

Zitat:

Original von steinacker
ist das das xmodel oder das prefab des sockels, das hier benutzt wird

Das xmodel (steht ja eigentlich schon im Scriptschnipsel drin, den ich gepostet habe, "script_model").

Zitat:

Original von steinackeroder wäre es besser das im script auszugleichen, dass man den spawnpunkt des sockels abändert
Dann würde der Spawnpunkt des Sockels nur noch in deiner Map stimmen und bei allen anderen nicht.

Die beste Möglichkeit ist, ein anderes xmodel zu verwenden. Das kannst du aber nicht selber, da das xmodel ins Fastfile der Mod kompiliert werden müsste.
Außerdem würde deine Map auf anderen Servern dann wieder den alten Sockel anzeigen und den wiederum an der falschen Stelle.

Die einzig wirklich praktikable Lösung ist leider, die Flagge nicht zu drehen.
steinacker
so schnell geb ich mich nicht geschlagen...

hat jemand kontakt zum modder - ist das nicht Tally

bzw. wo hast du den code rausgelesen oder wo bekomm ich den her

wenn ich deine 3 zeilen in meine gsc einbinde bekomm ich scriptfehler, aber iss ja auch klar, weil die variable vorher nicht deklariert wird, desahalb
wenn ich den rest jetzt auch hätte oder besser noch die ctf.gsc - wenn die datei so heist, könnte ich den entsprechenden teil in meine map.ff rein builden
Nightwing
Tally hat sich auf Ende Januar zurückgezogen aus der CoD Community und entwickelt sein eigenes Spiel.
Die ctf.gsc hat (nach meinem Wissensstand) nichts in einem Mapfile verloren, sondern nur in einem Modfile.

ToM
steinacker
ich will auch nicht das komplette script verwenden sondern nur ein teil davon übernehmen
der teil oder die teile die mit dem spawn und deklarieren usw. der flagge zu tun haben

Edit:
so wie beim awe vom uo z.b.

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
ctf_spawn_flag()
{
	targeted = getentarray(self.target, "targetname");
	for(i=0;i<targeted.size;i++)
	{
		if(targeted[i].classname == "mp_gmi_ctf_flag")
		{
			if ( isDefined(self.spawnloc) )
			{
				maps\mp\_utility::error("multiple mp_gmi_ctf_flag for the " + self.team + " team");
				return;
			}



usw.