Welcome to U.A.C.
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
ZScript не видит функцию
   Список разделов - Местечко мапперов и моддеров - ZScript не видит функциюОтветить
АвторСообщение
qwe8013
= Lance Corporal =
Next rank: - Master Corporal - after 10 points
190

Doom Rate: 1.92

Posts quality: +57
Ссылка на пост №1 Отправлено: 03.08.26 23:49:42
Имеется 2 actor-а на zscript

Скрытый текст:


#include "actors/spark_spawners/ORANGE_SPARK.zs"

Class SPARK_SPAWNER_ORANGE : Actor {
	double user_height;
	property user_height: user_height;
	
	double user_radius_min;
	property user_radius_min: user_radius_min;
	
	double user_radius_max;
	property user_radius_max: user_radius_max;
	
	double user_spark_vel;
	property user_spark_vel: user_spark_vel;
	
	uint user_num_sparks;
	property user_num_sparks: user_num_sparks;
	
	Default {
		Radius 16;
		Height 8;
		
		SPARK_SPAWNER_ORANGE.user_height 64;
		SPARK_SPAWNER_ORANGE.user_radius_min 64;
		SPARK_SPAWNER_ORANGE.user_radius_max 128;
		SPARK_SPAWNER_ORANGE.user_num_sparks 1;
		SPARK_SPAWNER_ORANGE.user_spark_vel 10.0;
		
		+NOGRAVITY
		
		+INVULNERABLE
		+NODAMAGE
		+NOTAUTOAIMED
		+NEVERTARGET
		+DONTTHRUST
	}
	
	SPARK_SPAWNER_ORANGE the_spark;

	override void PostBeginPlay()
	{
		super.PostBeginPlay();
		
		vector3 spark_pos = self.Pos + (self.user_radius_min, 0.0, 0.0);
		
		SPARK_SPAWNER_ORANGE the_spark = SPARK_SPAWNER_ORANGE(Spawn('SPARK_SPAWNER_ORANGE', spark_pos, 0.0));
		//void SetPos(vector3 center, vector3 x, vector3 y, vector3 z, double velocity, double radius, double init_angle)
		the_spark.SetPosition(self.pos, (1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0), 1.0, 64.0, 0.0);
		
		self.the_spark = the_spark;
	}

	States {
		Spawn:
			TNT1 A -1 bright;
			Stop;
	}
}


Сей actor спавнит другого actor-а:
Скрытый текст:


Class ORANGE_SPARK : Actor {
	Default {
		Radius 8;
		Height 16;
		+NOGRAVITY
		
		+INVULNERABLE
		+NODAMAGE
		+NOTAUTOAIMED
		+NEVERTARGET
		+DONTTHRUST
	}
	
	vector3 x;
	vector3 y;
	vector3 z;

	vector3 center;
	double velocity;
	
	double radius;
	
	double way_angle;
	
	void SetPosition(vector3 center, vector3 x, vector3 y, vector3 z, double velocity, double radius, double init_angle)
	{
		self.center = center;
		self.x = x;
		self.y = y;
		self.z = z;
		self.velocity = velocity;
		self.radius = radius;
		self.way_angle = init_angle;
		
		double the_cos = cos(self.way_angle);
		double the_sin = sin(self.way_angle);
		
		vector3 cur_pos = self.center + self.x*the_cos + self.y*the_sin;
		SetOrigin(cur_pos, true);
	}

	States {
		Spawn:
			SPRK A -1 bright;
			Stop;
	}
}



UZDoom ругается на строчку
the_spark.SetPosition(self.pos, (1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0), 1.0, 64.0, 0.0);

в описании первого actor-а. Говорит "unknown function SetPosition". Он вроде бы её видеть должен, что не так?
Страница 1 из 1Перейти наверх
   Список разделов - Местечко мапперов и моддеров - ZScript не видит функцию