Beispiel #1
0
void __cdecl G_VehSpawner(gentity_t *ent)
{
    const char* value;
    char vehTypeStr[MAX_QPATH];

    if(level.spawnVars.isGameLoadingSpawn)
    {
        G_LevelSpawnString("vehicletype", 0, &value);

    }else{

        if(Scr_GetNumParam() == 3)
        {
            //Scr_Error("Usage: spawn(\"script_vehicle\", <origin>, <spawnflags>, <vehicletype>)");
            Q_strncpyz(vehTypeStr, "defaultvehicle_mp", sizeof(vehTypeStr));

        }else{

            Q_strncpyz(vehTypeStr, Scr_GetString(3), sizeof(vehTypeStr));

            if(Scr_GetNumParam() == 5)
            {
                G_SetModel(ent, Scr_GetString(4));
            }

        }
        value = vehTypeStr;
    }

    SpawnVehicle( ent, value );
}
Beispiel #2
0
gentity_s* spawnVehicle(const char* model, uint16_t targetname, const char* vehicleType, const vec3_t origin, const vec3_t angles)
{
	gentity_s* vehicle = G_SpawnStaticEntity(0x3E, 0x10, "vehicle");
	Scr_SetString(&vehicle->classname, scr_const->script_vehicle);
	G_SetModel(vehicle, model);
	Scr_SetString(&vehicle->targetname, targetname);
	VectorCopy(origin, vehicle->r.currentOrigin);
	VectorCopy(angles, vehicle->r.currentAngles);
	G_SpawnVehicle(vehicle, vehicleType, 0);
	Scr_AddEntity(SCRIPTINSTANCE_SERVER, vehicle);
	G_MakeVehicleUsable(vehicle, true);
	return vehicle;
}
void GScr_SpawnVehicle()
{

	int spawnflags;
	gentity_t *gentity;
	vec3_t origin;
	char vehTypeStr[MAX_QPATH];
	char vehModel[MAX_QPATH];

	Scr_GetVector(0, origin);

	if ( Scr_GetNumParam() != 4 )
	{
		Scr_Error("Usage: spawnvehicle <origin>, <spawnflags>, <vehicletype>, <xmodel>");
		return;
	}

	spawnflags = Scr_GetInt(1);

	gentity = G_Spawn();

	Scr_SetString((unsigned short*)&gentity->constClassname, (unsigned short)stringIndex.script_vehicle);

	gentity->r.currentOrigin[0] = origin[0];
	gentity->r.currentOrigin[1] = origin[1];
	gentity->r.currentOrigin[2] = origin[2];

	gentity->spawnflags = spawnflags;

        Q_strncpyz(vehTypeStr, Scr_GetString(2), sizeof(vehTypeStr));
        Q_strncpyz(vehModel, Scr_GetString(3), sizeof(vehModel));

        G_SetModel(gentity, vehModel);

	SpawnVehicle( gentity, vehTypeStr );
	G_VehCollmapSpawner( gentity );
	Scr_AddEntity( gentity );
}