Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Sign in to follow this  
hooligan334

Zombie spawn Static

15 answers to this question

Recommended Posts










  • 0

hooligan334 

1. It is better to turn to the mod creator. (99.9% flag initialize AI = false)

2. No tutorials.

 

p.s. for fast answer - use google translate for post on this forum

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

BorizzK thx

 

what this problems vppadmin

logs.

---------------------------------------------
Log D:\DayzSerwer\Dayz\profile\crash_2019-08-07_16-42-29.log started at 07.08. 16:42:30

------------------------------------
DESKTOP-CKNJ7J7, 07.08 2019 16:42:30
NULL pointer to instance
Class:      'RPCManager'
Function: 'Load'
Stack trace:
JM/CF/Scripts/3_Game/communityframework\debug\cflogger.c:78
JM/CF/Scripts/3_Game/communityframework\debug\cflogger.c:133
JM/CF/Scripts/3_Game/communityframework\rpc\rpcmanager.c:82
JM/CF/Scripts/3_Game/communityframework\rpc\rpcmanager.c:377
VPPAdminTools/3_Game/vanillaplusplus.c:80
scripts/3_Game/game.c:7

Runtime mode
CLI params: config serverDZ.cfg port 2302 mod @CF;@VPPAdminTools;@DZM_Notifications profiles D:\DayzSerwer\Dayz\profile dologs  adminlog  netlog  freezecheck  noFilePatching  BEpath D:\DayzSerwer\Dayz\battleye cpuCount 6 

https://steamcommunity.com/sharedfiles/filedetails/?id=1708571078&searchtext=vpp

Share this post


Link to post
Share on other sites
  • 0

hooligan334 try to swap @DZM_Notifications and @VPPAdminTools; in -mod param like this

-mod=@CF;@DZM_Notifications;@VPPAdminTools;

Share this post


Link to post
Share on other sites
  • 0

BorizzK not work

---------------------------------------------
Log D:\DayzSerwer\Dayz\profile\crash_2019-08-07_19-46-11.log started at 07.08. 19:46:14



------------------------------------
DESKTOP-CKNJ7J7, 07.08 2019 19:46:14
NULL pointer to instance
Class:      'RPCManager'
Function: 'Load'
Stack trace:
JM/CF/Scripts/3_Game/communityframework\debug\cflogger.c:78
JM/CF/Scripts/3_Game/communityframework\debug\cflogger.c:133
JM/CF/Scripts/3_Game/communityframework\rpc\rpcmanager.c:82
JM/CF/Scripts/3_Game/communityframework\rpc\rpcmanager.c:377
VPPAdminTools/3_Game/vanillaplusplus.c:80
scripts/3_Game/game.c:7

Runtime mode
CLI params: config serverDZ.cfg port 2302 mod @CF;@DZM_Notifications;@VPPAdminTools;@VanillaPlusPlusMap;@BuildAnywhere;@Code Lock;@DisableBaseDestruction;@Trader;@Ear-Plugs;@Server_Information_Panel;@GoreZ;@DayZ-Expansion-Chat;@PartyMe;@Zombie Health Rebalance Hard;@BuilderItems;@Airdrop;@DayZ-Expansion-Notifications;@Mass'sManyItemOverhaul;@GrandeHordes;@Simple Base;@Simple Roof profiles D:\DayzSerwer\Dayz\profile dologs  adminlog  netlog  freezecheck  noFilePatching  BEpath D:\DayzSerwer\Dayz\battleye cpuCount 6 

 

Share this post


Link to post
Share on other sites
  • 0

BorizzK ok

SpawnObject( "ZmbM_SoldierAliceHelmet", "2569.960449 20.373749 1331.200317", "-121.845764 0.000000 -0.000000" "false, true, true" );

Yes ?? static zombie

Share this post


Link to post
Share on other sites
  • 0

 Borizzk My radiation zone .c

class Zone {
	int id;
	int type;
	vector pos;
	float radius;
}

enum ZoneType {
	SAFE,
	GAS,
	RAD,
	BIO
}

ref array<ref Zone> ga_zones = new array<ref Zone>;

ref ControllerZones ctrl_zones = new ControllerZones;

class ControllerZones {
	void ControllerZones() {
		
		int id = 0;
		vector pos;
		float radius;
		int type = 0;

		id = 1; // Военка Тисы
		pos = "1632 0 14061"; 
		radius = 700;
		AddZone(id, pos, radius);
		
		id = 2; // Тюрьма Алкатрас
		pos = "2698 0 1278"; 
		radius = 500;
		AddZone(id, pos, radius);
		
		GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(CheckZones, 5000, true);
	}
	
	void ~ControllerZones() {
	}
	
	void AddZone(int id, vector pos, float radius, int type = ZoneType.BIO) {
		ref Zone zone = new ref Zone;
		
		zone.id = id;
		zone.pos = pos;
		zone.radius = radius;
		zone.type = type;

		ga_zones.Insert(zone);
	}
	
	bool InZone(PlayerBase player, ref Zone zone) {
		vector player_position = player.GetPosition();
		player_position[1] = 0;

		if( (vector.Distance(player_position, zone.pos)) < zone.radius ) {
			
			EntityAI attachment;
			ItemBase item;
			string className;
			float biosafe = 0;
			
			attachment = player.FindAttachmentBySlotName("Mask");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_GP5GasMask_black") ) {
					//return true; // TEMP FIX
					biosafe = biosafe + 1.0;
				}
			}
			attachment = player.FindAttachmentBySlotName("Mask");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_GP5GasMask_blue") ) {
					//return true; // TEMP FIX
					biosafe = biosafe + 1.0;
				}
			}
		   attachment = player.FindAttachmentBySlotName("Headgear");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Hood_black") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			 attachment = player.FindAttachmentBySlotName("Headgear");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Hood_blue") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Body");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Jacket_black") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Body");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Pants_blue") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Legs");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Pants_black") ) {
					biosafe = biosafe + 1.0;
				}	
			}
          attachment = player.FindAttachmentBySlotName("Feet");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Boots_black") ) {
					biosafe = biosafe + 1.0;
				}	
			}
            attachment = player.FindAttachmentBySlotName("Feet");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Boots_blue") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Gloves");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Gloves_black") ) {
					biosafe = biosafe + 1.0;
				}
			}
			attachment = player.FindAttachmentBySlotName("Gloves");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Gloves_blue") ) {
					biosafe = biosafe + 1.0;
				}
			}
			attachment = player.FindAttachmentBySlotName("Mask");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_GP5GasMask_orange") ) {
					//return true; // TEMP FIX
					biosafe = biosafe + 1.0;
				}
			}
			
		   attachment = player.FindAttachmentBySlotName("Headgear");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Hood_orange") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Body");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Jacket_orange") ) {
					biosafe = biosafe + 1.0;
				}	
			}
			attachment = player.FindAttachmentBySlotName("Legs");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Pants_orange") ) {
					biosafe = biosafe + 1.0;
				}	
			}
          attachment = player.FindAttachmentBySlotName("Feet");
			if ( attachment && attachment.IsItemBase() ) {
				item		=	Class.Cast(attachment);
				className	=	item.GetType();
				if ( className.Contains("NBCSuits_Boots_orange") ) {
					biosafe = biosafe + 1.0;
				}	
			}
            if ( biosafe > 5.0 )
				return true;
			
			float damage_player;
			float damage_zone = 6.0;
			damage_player = player.GetHealth("GlobalHealth", "Health");
			player.SetHealth("GlobalHealth", "Health", damage_player - (damage_zone - ((damage_zone / 6) * biosafe)));
			
			player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_COUGH);
			
			Param1<string> m_MessageParam = new Param1<string>("Potrzebujesz zestawu NBC!");
			GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); 
			
			return true;
		}
		
		return false;
	}
	
	void CheckZones() {
		ref array<Man> players = new array<Man>;
		GetGame().GetPlayers( players );
		
		for ( int i = 0; i < players.Count(); i++ )
		{
			PlayerBase player;
			Class.CastTo(player, players.Get(i));
			
			for ( int j = 0; j < ga_zones.Count(); j++ ) {
				if(InZone(player, ga_zones.Get(j))) {
					break;
				}
			}
		}
	}
}

where add ???

EntityAI Effect = EntityAI.Cast(GetGame().CreateObject( "класснеймдымовойшашки", "1000 2 1000" )); //Создаем обьект шашки
SmokeGrenadeBase smokegrenade = NULL; //инициализируем переменную класса SmokeGrenadeBase (дымовой шашки)
smokegrenade = SmokeGrenadeBase.Cast(Effect); //апкастим созданный обьект в класс дамовой шашки
if (smokegrenade) smokegrenade.Unpin(); //если все успешно прошло включаем гранату
smokegrenade.SetSynchDirty(); //вызываем принудительную синхру этой шашки с клиентами / хотя и без этого работает

усе - пошел дым - и игроки это у видят

на и что бы дым не заканчивался в процессе проверок зон я проверяю гранату на предмет состояния и если она потухла - делаю переспавн
if (smokegrenade)
    if (smokegrenade.GetSmokeGrenadeState() == ESmokeGrenadeState.NO_SMOKE)
	{
  	 //граната не дымит вызываем респавн
	 smokegrenadeю.SetHealth(0);
	 smokegrenade.Delete(); //Удаляем - но она не всегда удаляется, однако она пропадет сама со временем
	}
  //граната исчезла вызываем респавн
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.