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
Maksta

Dayz урон от оружия

Доброго времени суток. Интересует такой вопрос. Как на своем сервере Dayz настроить урон от оружия и где хранятся файлы отвечающие за это.
Интересуюсь с целью добавления своего оружия и ребаланса урона в целом. Да и я только начинаю разбираться во всем этом, если можно то ответы максимально подробно, буду очень вам благодарен.

Share this post


Link to post
Share on other sites

20 answers to this question

Recommended Posts

  • 0

Походу урон храниться в ПБО файлах в папке аддонс. Но что именно отвечает за урон-вопрос,вполне возможно строчка типа PPDOFProperties[]={1,0.5,10,250,4,10};

Скорее всего копать можно и где лежат боеприпасы.
 

Share this post


Link to post
Share on other sites









  • 0

Я пбошки сегодня перелопатил все, из похожего на правду только вот это нашел:
 

class cfgAmmo
{
	class DefaultAmmo;
	class Explosion_NonLethal: DefaultAmmo
	{
		hit=1;
		indirectHit=1;
		indirectHitRange=1;
		effect="LandmineExplosion";
		explosive=1;
		typicalSpeed=3;
		initSpeed=3;
		fuseDistance=1;
		simulation="shotShell";
		simulationStep=0.050000001;
		soundSetExplosion[]=
		{
			"Grenade_explosion_SoundSet",
			"Grenade_Tail_SoundSet"
		};
		soundHit[]=
		{
			"DZ\sounds\weapons\grenades\hand_grenade_1",
			10,
			1
		};
		soundFly[]=
		{
			"dz\sounds\Weapons\explosions\noise",
			3.1622771e-005,
			1
		};
		soundEngine[]=
		{
			"",
			9.9999983e-005,
			4
		};
		visibleFire=2;
		audibleFire=0.25;
		whistleDist=4;
		visibleFireTime=0;
		class DamageApplied
		{
			type="Projectile";
			class Health
			{
				damage=5;
			};
			class Blood
			{
				damage=10;
			};
			class Shock
			{
				damage=10;
			};
		};
	};
};
class cfgWeapons
{
	class DefaultWeapon;
	class LauncherCore;
	class RifleCore;
	class PistolCore;
	class Rifle_Base: RifleCore
	{
		scope=0;
		lootCategory="Rifles";
		storageCategory=1;
		targetCategory="loot";
		weaponInfoType="RscWeaponZeroing";
		inventorySlot[]=
		{
			"Shoulder",
			"Melee"
		};
		rotationFlags=17;
		soundAttType="Rifle";
		cursor="aimGunGhost";
		cursorAim="aimPistol";
		itemSize[]={6,3};
		spawnDamageRange[]={0,0.60000002};
		damagePerShot=0.050000001;
		barrelArmor=400;
		unjamTime[]={6,10};
		autoReload=0;
		discreteDistance[]={50,100,200,300};
		discreteDistanceInitIndex=1;
		opticsZoomMin=0.414215;
		opticsZoomInit=0.57736999;
		opticsZoomMax=0.70021999;
		magazineSlot="magazine";
		chamberedRound="";
		varQuantityInit=0;
		varQuantityMin=0;
		varQuantityMax=0;
		bullet1[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_01",
			0.17782794,
			1,
			15
		};
		bullet2[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_02",
			0.17782794,
			1,
			15
		};
		bullet3[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_03",
			0.17782794,
			1,
			15
		};
		bullet4[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_04",
			0.17782794,
			1,
			15
		};
		bullet5[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_05",
			0.31622776,
			1,
			15
		};
		bullet6[]=
		{
			"dz\sounds\weapons\shells\5_56\asphlat_556_06",
			0.31622776,
			1,
			15
		};
		bullet7[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_01",
			0.31622776,
			1,
			15
		};
		bullet8[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_02",
			0.31622776,
			1,
			15
		};
		bullet9[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_03",
			0.17782794,
			1,
			15
		};
		bullet10[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_04",
			0.17782794,
			1,
			15
		};
		bullet11[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_05",
			0.17782794,
			1,
			15
		};
		bullet12[]=
		{
			"dz\sounds\weapons\shells\5_56\dirt_556_06",
			0.17782794,
			1,
			15
		};
		soundBullet[]=
		{
			"bullet1",
			0.082999997,
			"bullet2",
			0.082999997,
			"bullet3",
			0.082999997,
			"bullet4",
			0.082999997,
			"bullet5",
			0.082999997,
			"bullet6",
			0.082999997,
			"bullet7",
			0.082999997,
			"bullet8",
			0.082999997,
			"bullet9",
			0.082999997,
			"bullet10",
			0.082999997,
			"bullet11",
			0.082999997,
			"bullet12",
			0.082999997
		};
		class Single: Mode_SemiAuto
		{
		};
		class NoiseShoot
		{
			strength=100;
			type="shot";
		};
		class OpticsInfo: OpticsInfoRifle
		{
		};
		class DamageSystem
		{
			class GlobalHealth
			{
				class Health
				{
					hitpoints=100;
				};
			};
		};
		class Reliability
		{
			ChanceToJam[]={0,0.001,0.0049999999,0.050000001,1};
		};
		class MeleeModes
		{
			class Default
			{
				ammo="FirearmHit_Rifle";
				range=1.2;
			};
			class Buttstock
			{
				ammo="FirearmHit_Rifle_Buttstock";
				range=1.2;
			};
			class Bayonet
			{
				ammo="FirearmHit_Rifle_Bayonet";
				range=1.8;
			};
		};
	};
	class BoltActionRifle_Base: Rifle_Base
	{
	};
	class BoltActionRifle_InnerMagazine_Base: BoltActionRifle_Base
	{
	};
	class Shotgun_Base: Rifle_Base
	{
		scope=0;
		rotationFlags=17;
		soundAttType="Shotgun";
		animClass="Shotgun";
		modelOptics="-";
		distanceZoomMin=50;
		distanceZoomMax=50;
		discreteDistance[]={50};
		opticsFlare=0;
		class OpticsInfo: OpticsInfoShotgun
		{
		};
	};
	class Pistol_Base: PistolCore
	{
		scope=0;
		lootCategory="Pistols";
		storageCategory=1;
		targetCategory="loot";
		inventorySlot="Pistol";
		rotationFlags=17;
		soundAttType="None";
		cursor="aimGunGhost";
		cursorAim="aimPistol";
		type=1;
		itemSize[]={4,2};
		damagePerShot=0.1;
		barrelArmor=400;
		unjamTime[]={6,10};
		autoReload=0;
		opticsZoomMin=0.414215;
		opticsZoomInit=0.57736999;
		opticsZoomMax=0.70021999;
		magazineSlot="magazine";
		varQuantityInit=0;
		varQuantityMin=0;
		varQuantityMax=0;
		bullet1[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_01",
			0.17782794,
			1,
			15
		};
		bullet2[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_02",
			0.17782794,
			1,
			15
		};
		bullet3[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_03",
			0.17782794,
			1,
			15
		};
		bullet4[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_04",
			0.17782794,
			1,
			15
		};
		bullet5[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_05",
			0.31622776,
			1,
			15
		};
		bullet6[]=
		{
			"dz\sounds\weapons\shells\45\asphlat_45_06",
			0.31622776,
			1,
			15
		};
		bullet7[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_01",
			0.31622776,
			1,
			15
		};
		bullet8[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_02",
			0.31622776,
			1,
			15
		};
		bullet9[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_03",
			0.17782794,
			1,
			15
		};
		bullet10[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_04",
			0.17782794,
			1,
			15
		};
		bullet11[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_05",
			0.17782794,
			1,
			15
		};
		bullet12[]=
		{
			"dz\sounds\weapons\shells\45\dirt_45_06",
			0.17782794,
			1,
			15
		};
		soundBullet[]=
		{
			"bullet1",
			0.082999997,
			"bullet2",
			0.082999997,
			"bullet3",
			0.082999997,
			"bullet4",
			0.082999997,
			"bullet5",
			0.082999997,
			"bullet6",
			0.082999997,
			"bullet7",
			0.082999997,
			"bullet8",
			0.082999997,
			"bullet9",
			0.082999997,
			"bullet10",
			0.082999997,
			"bullet11",
			0.082999997,
			"bullet12",
			0.082999997
		};
		class Single: Mode_SemiAuto
		{
		};
		class NoiseShoot
		{
			strength=100;
			type="shot";
		};
		class OpticsInfo: OpticsInfoPistol
		{
		};
		class DamageSystem
		{
			class GlobalHealth
			{
				class Health
				{
					hitpoints=100;
				};
			};
		};
		class Reliability
		{
			ChanceToJam[]={0,0.0024999999,0.0099999998,0.050000001,1};
		};
		class MeleeModes
		{
			class Default
			{
				ammo="FirearmHit_Pistol";
				range=1.2;
			};
		};
	};
	class Archery_Base: RifleCore
	{
		scope=0;
		storageCategory=1;
		armAction="Bow";
		animClass="Bow";
		animName="Bow";
		targetCategory="loot";
		autoReload=0;
		cursor="aimBowGhost";
		cursorAim="aimBow";
		arrow1[]={};
		absorbency=0.1;
		itemSize[]={7,3};
		modelOptics="-";
		distanceZoomMin=10;
		distanceZoomMax=10;
		discreteDistance[]={10};
		discreteDistanceInitIndex=1;
		soundBullet[]=
		{
			"arrow1",
			1
		};
		drySound[]=
		{
			"dz\sounds\weapons\bows\dry_bow_0",
			0.89999998,
			1,
			30
		};
		reloadMagazineSound[]={};
		reloadSound[]=
		{
			"dz\sounds\weapons\bows\Bow_reload",
			0.89999998,
			1,
			30
		};
		prepSoundDry1[]=
		{
			"dz\sounds\weapons\bows\Bow_wood_bend_empty_01",
			0.89999998,
			1,
			30
		};
		prepSoundDry2[]=
		{
			"dz\sounds\weapons\bows\Bow_wood_bend_empty_02",
			0.89999998,
			1,
			30
		};
		prepSoundDry[]=
		{
			"prepSoundDry1",
			0.5,
			"prepSoundDry2",
			0.5
		};
		prepSoundLoaded1[]=
		{
			"dz\sounds\weapons\bows\Bow_wood_bend_loaded_01",
			0.89999998,
			1,
			30
		};
		prepSoundLoaded2[]=
		{
			"dz\sounds\weapons\bows\Bow_wood_bend_loaded_02",
			0.89999998,
			1,
			30
		};
		prepSoundLoaded[]=
		{
			"prepSoundLoaded1",
			0.5,
			"prepSoundLoaded2",
			0.5
		};
		attachments[]={};
		ejectType=1;
		reloadAction="ReloadBow";
		shotAction="ReloadBow";
		magazineSlot="magazine";
		canChamberByDestroyed=0;
		hiddenSelections[]=
		{
			"camo"
		};
		modes[]=
		{
			"Single"
		};
		class Single: Mode_SemiAuto
		{
			reloadTime=0.69999999;
			recoil="recoil_bow";
			recoilProne="recoil_bow";
			dispersion=0.003;
			magazineSlot="magazine";
		};
		class NoiseShoot
		{
			strength=5;
			type="shot";
		};
		class OpticsInfo: OpticsInfoArchery
		{
		};
		class DamageSystem
		{
			class GlobalHealth
			{
				class Health
				{
					hitpoints=100;
				};
			};
		};
	};
	class Launcher_Base: LauncherCore
	{
		scope=0;
		cursorAim="";
		cursor="";
		cursorSize=1;
		autoAimEnabled=0;
		opticsDisablePeripherialVision=1;
		magazines[]={};
		magazineReloadTime=12;
		reloadTime=0;
		initSpeed=30;
		canLock=0;
		rotationFlags=17;
		reloadAction="ManActReloadAT";
		autoReload=0;
		ffMagnitude=0.1;
		ffFrequency=1;
		ffCount=1;
		recoil="";
		aiRateOfFire=10;
		aiRateOfFireDistance=500;
		primary=0;
		spawnDamageRange[]={0,0.60000002};
		opticsZoomMin=0.25;
		opticsZoomMax=1.1;
		opticsZoomInit=0.5;
		distanceZoomMin=100;
		distanceZoomMax=100;
		minRange=20;
		minRangeProbab=0.30000001;
		midRange=150;
		midRangeProbab=0.57999998;
		maxRange=500;
		maxRangeProbab=0.039999999;
		class OpticsInfo: OpticsInfoLauncher
		{
		};
	};
};

И то не факт что это то что нужно.
Находится все это добро в ..\DayZServer\addons\dz.pbo\config.bin
Я конфиг в cpp перевел и открыл. И там картина что выше в коде.
Если это то, соответственно остается загадкой в каких единицах измеряется урон и какое число равняется 100% здоровья персонажа.

Edited by Maksta (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Понял, спасибо, ожидаем.

Share this post


Link to post
Share on other sites
  • 0

Вопрос по прежнему актуален!

Share this post


Link to post
Share on other sites
  • 0
12.07.2019 в 03:54, BorizzK сказал:

Maksta Я у Фидова завтра спрошу

ну что спросил? Есть по этому вопросу какие-нибудь ответы???

Share this post


Link to post
Share on other sites
  • 0
41 минуту назад, kent700i сказал:

ну что спросил? Есть по этому вопросу какие-нибудь ответы???

Урон оружия зависит от калибра пули. То есть, у тебя не само оружие наносит урон, а пуля. Хочешь поднять - делай новый калибр. Всрато максимально.

Share this post


Link to post
Share on other sites
  • 0

Тащемто урон оружия лежит в DZ\weapons\projectiles\config.cpp
Как пример : 

 

class Bullet_556x45: Bullet_Base
	{
		scope=2;
		spawnPileType="Ammo_556x45";
		casing="FxCartridge_556";
		round="FxRound_556";
		hit=8;
		indirectHit=0;
		indirectHitRange=0;
		initSpeed=1000;
		typicalSpeed=1000;
		airFriction=-0.00105;
		caliber=0.89999998;
		deflecting=10;
		tracerScale=1;
		tracerStartTime=-1;
		tracerEndTime=1;
		nvgOnly=1;
		damageBarrel=250;
		damageBarrelDestroyed=250;
		weight=0.0035600001;
		class DamageApplied
		{
			type="Projectile";
			dispersion=0;
			bleedThreshold=1;
			defaultDamageOverride[]=
			{
				{0.5,1}
			};
			class Health
			{
				damage=55;
			};
			class Blood
			{
				damage=100;
			};
			class Shock
			{
				damage=66;
			};
		};
		class NoiseHit
		{
			strength=10;
			type="shot";
		};
	};

Урон в class Health

Все это дело можно переписать спокойно в своих конфигах и так же добавить новые патроны. 

Edited by AlexCa31 (see edit history)

Share this post


Link to post
Share on other sites
  • 0
19.01.2021 в 19:40, AlexCa31 сказал:

Тащемто урон оружия лежит в DZ\weapons\projectiles\config.cpp
Как пример : 

 

class Bullet_556x45: Bullet_Base { scope=2; spawnPileType="Ammo_556x45"; casing="FxCartridge_556"; round="FxRound_556"; hit=8; indirectHit=0; indirectHitRange=0; initSpeed=1000; typicalSpeed=1000; airFriction=-0.00105; caliber=0.89999998; deflecting=10; tracerScale=1; tracerStartTime=-1; tracerEndTime=1; nvgOnly=1; damageBarrel=250; damageBarrelDestroyed=250; weight=0.0035600001; class DamageApplied { type="Projectile"; dispersion=0; bleedThreshold=1; defaultDamageOverride[]= { {0.5,1} }; class Health { damage=55; }; class Blood { damage=100; }; class Shock { damage=66; }; }; class NoiseHit { strength=10; type="shot"; }; };


class Bullet_556x45: Bullet_Base
	{
		scope=2;
		spawnPileType="Ammo_556x45";
		casing="FxCartridge_556";
		round="FxRound_556";
		hit=8;
		indirectHit=0;
		indirectHitRange=0;
		initSpeed=1000;
		typicalSpeed=1000;
		airFriction=-0.00105;
		caliber=0.89999998;
		deflecting=10;
		tracerScale=1;
		tracerStartTime=-1;
		tracerEndTime=1;
		nvgOnly=1;
		damageBarrel=250;
		damageBarrelDestroyed=250;
		weight=0.0035600001;
		class DamageApplied
		{
			type="Projectile";
			dispersion=0;
			bleedThreshold=1;
			defaultDamageOverride[]=
			{
				{0.5,1}
			};
			class Health
			{
				damage=55;
			};
			class Blood
			{
				damage=100;
			};
			class Shock
			{
				damage=66;
			};
		};
		class NoiseHit
		{
			strength=10;
			type="shot";
		};
	};

Урон в class Health

Все это дело можно переписать спокойно в своих конфигах и так же добавить новые патроны. 

Спасибо, но как тогда увеличить урон от меча например

Share this post


Link to post
Share on other sites
  • 0
19.01.2021 в 19:40, AlexCa31 сказал:

Тащемто урон оружия лежит в DZ\weapons\projectiles\config.cpp
Как пример : 

 

class Bullet_556x45: Bullet_Base { scope=2; spawnPileType="Ammo_556x45"; casing="FxCartridge_556"; round="FxRound_556"; hit=8; indirectHit=0; indirectHitRange=0; initSpeed=1000; typicalSpeed=1000; airFriction=-0.00105; caliber=0.89999998; deflecting=10; tracerScale=1; tracerStartTime=-1; tracerEndTime=1; nvgOnly=1; damageBarrel=250; damageBarrelDestroyed=250; weight=0.0035600001; class DamageApplied { type="Projectile"; dispersion=0; bleedThreshold=1; defaultDamageOverride[]= { {0.5,1} }; class Health { damage=55; }; class Blood { damage=100; }; class Shock { damage=66; }; }; class NoiseHit { strength=10; type="shot"; }; };


class Bullet_556x45: Bullet_Base
	{
		scope=2;
		spawnPileType="Ammo_556x45";
		casing="FxCartridge_556";
		round="FxRound_556";
		hit=8;
		indirectHit=0;
		indirectHitRange=0;
		initSpeed=1000;
		typicalSpeed=1000;
		airFriction=-0.00105;
		caliber=0.89999998;
		deflecting=10;
		tracerScale=1;
		tracerStartTime=-1;
		tracerEndTime=1;
		nvgOnly=1;
		damageBarrel=250;
		damageBarrelDestroyed=250;
		weight=0.0035600001;
		class DamageApplied
		{
			type="Projectile";
			dispersion=0;
			bleedThreshold=1;
			defaultDamageOverride[]=
			{
				{0.5,1}
			};
			class Health
			{
				damage=55;
			};
			class Blood
			{
				damage=100;
			};
			class Shock
			{
				damage=66;
			};
		};
		class NoiseHit
		{
			strength=10;
			type="shot";
		};
	};

Урон в class Health

Все это дело можно переписать спокойно в своих конфигах и так же добавить новые патроны. 

Подскажите пожалуйста. Похоже данный путь сейчас не корректен. Где сейчас искать данный файт Config.cpp ?

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

Настолько ленивые что даже лень отрыть пбо архив weapons_melee и глянуть конфиг для меча и урона:
Конфиг для меча

class Sword : Inventory_Base {
	class MeleeModes {
			class Default {
				ammo = "MeleeSword"; // Класс урона обычный для меча
				range = 1.8;
			};
			
			class Heavy {
				ammo = "MeleeSword_Heavy"; // Класс урона тяжелый для меча
				range = 1.8;
			};
			
			class Sprint {
				ammo = "MeleeSword_Heavy";	// Класс урона тяжелый для меча на бегу
				range = 3.7;
			};
		};
};


Конфиг-класс холодного оружия для меча обычный удар, тяжелый удар и удар на бегу

class MeleeSword : MeleeDamage {
		affectSkeleton = 1.4;
		
		class DamageApplied {
			type = "Melee";
			bleedThreshold = 1.0;
			
			class Health {
				damage = 30;	// Урон здоровью
			};
			
			class Blood {
				damage = 100;	// Шанс кровотечения в % по игроку или животному
			};
			
			class Shock {
				damage = 15;	// Шанс получить шоковый удар и упасть в бесознание
			};
		};
};
class MeleeSword_Heavy : MeleeSword {
		hitAnimation = 1;
		
		class DamageApplied {
			type = "Melee";
			bleedThreshold = 1.0;
			
			class Health {
				damage = 40;	// Урон здоровью
			};
			
			class Blood {
				damage = 100;	// Шанс получить кровотечения при ударе в %
			};
			
			class Shock {
				damage = 15;	// Шанс получить шок
			};
		};
};
Edited by AKuznecov (see edit history)

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

Подскажите пожалуйста,

получается (по аналогии с уроном мили оружия) файл с уроном от огнестрельного - лежит в weapons-ammunition. Верно?

 

И еще вопрос. Чтобы файл конфига был читаемым (как на примере выше) его нужно перевести из .bin в .cpp

 

Верно?

я новичок в этом. Пытаюсь разобраться. Заранее благодарю!

Edited by DcGhost (see edit history)

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, DcGhost сказал:

Подскажите пожалуйста,

получается (по аналогии с уроном мили оружия) файл с уроном от огнестрельного - лежит в weapons-ammunition. Верно?

 

И еще вопрос. Чтобы файл конфига был читаемым (как на примере выше) его нужно перевести из .bin в .cpp

 

Верно?

я новичок в этом. Пытаюсь разобраться. Заранее благодарю!

По поводу читаемости да верно. По поводу конфига для меле в пбо меле есть конфиг который отвечает за урон лежит сразу в начале всех папок. Плюс тут была тема с объяснением что куда писать посмотри. Думаю разберёшься))

Share this post


Link to post
Share on other sites
  • 0

Спасибо!

но меня интересует урон именно огрестрела. В частности, хочу увеличить урон .22L

Share this post


Link to post
Share on other sites
  • 0

И я, к сожалению, не нашел как пережать .bin в .cpp в интернете есть инфа, но я так и не понял как (а главное чем) это сделать. Есть какой-то конвертер? (я скачал один, но ничего не вышло. Получил сплошные цифры)

Share this post


Link to post
Share on other sites
  • 0
4 часа назад, DcGhost сказал:

И я, к сожалению, не нашел как пережать .bin в .cpp в интернете есть инфа, но я так и не понял как (а главное чем) это сделать. Есть какой-то конвертер? (я скачал один, но ничего не вышло. Получил сплошные цифры)

arma 3/2 tools в стим. Ставим, в папке с инструментами есть cfg convert папка. открываем ее и видим 2 бат файла. Перетаскиваем бинарку на соответствующий батник и рядом  бинаркой появляется ее распакованный cpp

в обратную сторону аналогично

Share this post


Link to post
Share on other sites
  • 0

@AKuznecov Хотел спрсить,но забыл...а такое исправление работает только при "серве-клиент" моде или достаточно изменения со стороны сервера?

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, AKuznecov сказал:

@paranoyk Клиент-серверно

Так и думал....Абыдно.

 

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

×
×
  • 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.