All pastes #958151 Raw Edit

Stuff

public text v1 · immutable
#958151 ·published 2008-03-26 15:06 UTC
rendered paste body
/*
	Water Mode!
	by Amit `Amit_B` Barami
*/
//==============================================================================
#include <a_samp>
//==============================================================================
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_ORANGE 0xFF9900AA
//==============================================================================
new hd;
//==============================================================================
public OnGameModeInit()
{
	SetGameModeText("Water Mode!");
	ShowNameTags(1);
	ShowPlayerMarkers(0);
	SetWorldTime(7);
	SetGravity(0.008);
	AllowAdminTeleport(1);
	AllowInteriorWeapons(0);
	EnableTirePopping(0);
	EnableZoneNames(0);
	EnableStuntBonusForAll(1);
	UsePlayerPedAnims();
	DisableInteriorEnterExits();

	CreateVehicle(595,359.4018,-1916.3444,0.1756,1.4130,112,20,5000);
	CreateVehicle(588,281.5840,-1867.1434,2.5357,259.8463,1,1,5000);
	CreateVehicle(573,165.9113,-1870.1450,3.6613,271.0521,3,6,5000);
	CreateVehicle(573,165.9753,-1865.7430,3.7766,267.2350,7,118,5000);
	CreateVehicle(573,165.8233,-1855.5649,4.0909,272.4438,126,1,5000);
	CreateVehicle(573,165.7782,-1849.6241,4.2341,277.3918,0,1,5000);
	CreateVehicle(573,165.5935,-1845.8009,4.3855,273.1616,0,0,5000);
	CreateVehicle(573,164.9068,-1842.2814,4.5269,271.5270,86,5,5000);
	CreateVehicle(573,165.0291,-1838.4843,4.5712,271.9459,6,6,5000);
	CreateVehicle(573,165.5686,-1834.6073,4.5505,269.7067,16,8,5000);
	CreateVehicle(567,209.4991,-1883.3282,1.3285,188.6973,3,6,5000);
	CreateVehicle(567,206.8926,-1883.4789,1.3238,180.9479,7,118,5000);
	CreateVehicle(567,212.7220,-1883.1818,1.3312,181.0762,126,1,5000);
	CreateVehicle(567,215.7162,-1883.4298,1.3101,178.8985,0,1,5000);
	CreateVehicle(567,218.7290,-1883.7869,1.2629,171.4435,0,0,5000);
	CreateVehicle(567,221.6612,-1884.2727,1.2055,178.1907,86,5,5000);
	CreateVehicle(567,224.3874,-1884.3024,1.1686,354.3509,6,6,5000);
	CreateVehicle(567,227.3875,-1884.4889,1.1217,180.7645,16,8,5000);
	CreateVehicle(563,224.9923,-1850.7572,3.8876,259.2454,1,6,5000);
	CreateVehicle(556,280.2546,-1886.4872,2.1658,190.4249,1,1,5000);
	CreateVehicle(556,276.3633,-1886.2527,2.1676,182.2010,1,1,5000);
	CreateVehicle(541,251.6183,-1884.3885,0.7953,172.0716,3,6,5000);
	CreateVehicle(541,248.5236,-1884.1927,0.8240,173.0781,7,118,5000);
	CreateVehicle(541,245.4272,-1883.6072,0.8857,179.0392,126,1,5000);
	CreateVehicle(541,242.1934,-1883.3754,0.9167,178.1413,0,1,5000);
	CreateVehicle(541,238.8044,-1883.6112,0.9132,179.9917,0,0,5000);
	CreateVehicle(539,214.7997,-1868.4741,2.0328,223.1677,7,118,5000);
	CreateVehicle(539,201.2079,-1868.6820,2.1462,97.4586,126,1,5000);
	CreateVehicle(539,245.7937,-1868.7296,1.7681,86.9396,0,1,5000);
	CreateVehicle(539,289.2579,-1869.0787,1.9722,92.2666,0,0,5000);
	CreateVehicle(539,338.0903,-1869.4633,2.1741,268.4736,86,5,5000);
	CreateVehicle(522,216.7967,-1925.5710,-4.5267,188.9979,7,118,5000);
	CreateVehicle(522,215.1438,-1925.4473,-4.5217,189.3044,0,1,5000);
	CreateVehicle(522,214.2591,-1925.2888,-4.5116,182.8381,126,1,5000);
	CreateVehicle(522,212.4340,-1925.7441,-4.5271,171.7093,3,6,5000);
	CreateVehicle(522,210.9400,-1925.1517,-4.5156,165.6302,7,79,5000);
	CreateVehicle(520,340.8157,-2125.3296,-27.5198,216.8018,0,1,5000);
	CreateVehicle(513,196.8768,-2086.2637,-27.5981,179.6558,3,6,5000);
	CreateVehicle(513,185.3716,-2086.2764,-27.7169,180.5223,7,118,5000);
	CreateVehicle(513,175.9746,-2085.6584,-27.7380,179.8763,126,1,5000);
	CreateVehicle(513,166.2140,-2085.7932,-27.7025,179.6502,0,1,5000);
	CreateVehicle(511,211.5063,-2088.2124,-26.8840,172.8232,0,0,5000);
	CreateVehicle(487,236.0497,-2093.2739,-28.0888,179.8482,3,6,5000);
	CreateVehicle(487,246.8183,-2093.2402,-28.0429,179.9993,7,118,5000);
	CreateVehicle(487,257.8907,-2094.6633,-27.9585,179.9421,126,1,5000);
	CreateVehicle(486,254.5860,-2120.6504,-28.0357,180.0000,0,1,5000);
	CreateVehicle(484,310.3337,-1905.9016,0.7043,175.6597,12,35,5000);
	CreateVehicle(447,297.6173,-1884.4810,1.8964,0.1063,75,2,5000);
	CreateVehicle(446,290.7897,-1908.3013,-0.5348,358.8961,3,6,5000);
	CreateVehicle(446,283.3269,-1906.2926,-0.3511,0.0066,7,118,5000);
	CreateVehicle(432,206.3286,-2137.1750,-28.2449,274.2039,43,0,5000);
	CreateVehicle(430,165.8088,-1891.4324,0.2662,176.2904,46,26,5000);
	CreateVehicle(416,166.1903,-1830.8673,3.9682,269.0743,1,3,5000);

	for(new i;i<300;i++)
	{
		if(IsValidSkin(i))
		{
			AddPlayerClass(i,0.0,0.0,0.0,0.0,0,0,24,500,-1,-1);
		}
	}

	AddStaticPickup(1240,15,213.2846,-1952.1073,-4.9213);
	AddStaticPickup(1242,15,210.6053,-1951.1421,-4.8914);
	AddStaticPickup(1240,15,654.6677,-1869.6510,5.5537);
	AddStaticPickup(1242,15,673.1192,-1869.4020,5.4609);
	AddStaticPickup(370,15,672.2285,-1864.6390,5.4537);

	hd = INVALID_PLAYER_ID;

	print("\n--------------------");
	print("Water Mode!			 ");
	print("by Amit_B - Loaded	 ");
	print("--------------------\n");
	return 1;
}
//==============================================================================
public OnGameModeExit()
{
	print("\n--------------------");
	print("Water Mode!			 ");
	print("by Amit_B - UnLoaded	 ");
	print("--------------------\n");
	return 1;
}
//==============================================================================
public OnPlayerRequestClass(playerid,classid)
{
	SetPlayerPos(playerid,288.6913,-1874.3064,6.4023);
	SetPlayerFacingAngle(playerid,359.1816);
	SetPlayerCameraPos(playerid,290.9239,-1871.2256,6.4023);
	SetPlayerCameraLookAt(playerid,288.6913,-1874.3064,6.4023);
	return 1;
}
//==============================================================================
public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid,COLOR_BLUE,"Welcome to \"Water Mode\"!");
	GameTextForPlayer(playerid,"~w~Welcomt to ~n~~b~~h~Water ~w~Mode!",7000,1);
	SendDeathMessage(INVALID_PLAYER_ID,playerid,200);
	return 1;
}
//==============================================================================
public OnPlayerDisconnect(playerid,reason)
{
	SendDeathMessage(INVALID_PLAYER_ID,playerid,201);
	return 1;
}
//==============================================================================
public OnPlayerCommandText(playerid,cmdtext[])
{
	if(strcmp(cmdtext,"/help",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"~~~ Help Menu: ~~~");
		SendClientMessage(playerid,COLOR_YELLOW,"In this gamemode, you playing in the water.");
		SendClientMessage(playerid,COLOR_YELLOW,"The mode created by Amit `Amit_B` Barami.");
		SendClientMessage(playerid,COLOR_YELLOW,"You can fight, drive, and more, and all - in the water!");
		SendClientMessage(playerid,COLOR_YELLOW,"To see the commands in this gamemode, type '/commands'.");
		SendClientMessage(playerid,COLOR_YELLOW,"To back to the start, type '/spawn'.");
		return 1;
	}
	
	if(strcmp(cmdtext,"/commands",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"~~~ Gamemode Commands ~~~");
		SendClientMessage(playerid,COLOR_YELLOW,"To see the list of the colors, type '/colors'.");
		SendClientMessage(playerid,COLOR_YELLOW,"To see the weapons you can buy, type '/weapons'.");
		SendClientMessage(playerid,COLOR_YELLOW,"To see the \"Hotdog Car\" commands type '/hotdog'.");
		return 1;
	}
	
	if(strcmp(cmdtext,"/colors",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"~~~ Colors: ~~~");
		SendClientMessage(playerid,COLOR_GREY,"/cgrey");
		SendClientMessage(playerid,COLOR_GREEN,"/cgreen");
		SendClientMessage(playerid,COLOR_RED,"/cred");
		SendClientMessage(playerid,COLOR_YELLOW,"/cyellow");
		SendClientMessage(playerid,COLOR_WHITE,"/cwhite");
		SendClientMessage(playerid,COLOR_BLUE,"/cblue");
		SendClientMessage(playerid,COLOR_ORANGE,"/corange");
		return 1;
	}
	
	if(strcmp(cmdtext,"/weapons",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"~~~ Weapons: ~~~");
		SendClientMessage(playerid,COLOR_YELLOW,"/wuzi - MicroUzi - 300$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wtec9 - Tec9 - 250$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wcombat - Combat - 400$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wsawnoff - SawnOff - 500$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wminigun - Minigun - 2200$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wrocket - RocketLauncher - 2000$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wm4 - M4 - 600$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wgrenade - Grenade - 1200$");
		SendClientMessage(playerid,COLOR_YELLOW,"/wsniper - SniperRifle - 1000$");
		return 1;
	}
	
	if(strcmp(cmdtext,"/hotdog",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"~~~ \"Hotdog Car\" commands: ~~~");
		SendClientMessage(playerid,COLOR_YELLOW,"/buyhd - buy hotdog - 3$");
		SendClientMessage(playerid,COLOR_YELLOW,"/buycheeps - buy cheeps - 2$");
		SendClientMessage(playerid,COLOR_YELLOW,"/buydrink - buy drink - 1$");
		SendClientMessage(playerid,COLOR_YELLOW,"/buyketchup - buy ketchup - 1$");
		SendClientMessage(playerid,COLOR_YELLOW,"/buyicecream - buy icecream - 2$");
		return 1;
	}
	
	if(strcmp(cmdtext,"/spawn",true) == 0)
	{
		SendClientMessage(playerid,COLOR_BLUE,"You have teleported to the spawn place.");
		SpawnPlayer(playerid);
		return 1;
	}
	
	
	if(strcmp(cmdtext,"/cgrey",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_GREY);
		return 1;
	}

	if(strcmp(cmdtext,"/cgreen",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_GREEN);
		return 1;
	}

	if(strcmp(cmdtext,"/cred",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_RED);
		return 1;
	}

	if(strcmp(cmdtext,"/cyellow",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_YELLOW);
		return 1;
	}

	if(strcmp(cmdtext,"/cwhite",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_WHITE);
		return 1;
	}

	if(strcmp(cmdtext,"/cblue",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_BLUE);
		return 1;
	}

	if(strcmp(cmdtext,"/corange",true) == 0)
	{
		SetPlayerColor(playerid,COLOR_ORANGE);
		return 1;
	}

	if(strcmp(cmdtext,"/wuzi",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 300)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,28,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wtec9",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 250)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,32,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wcombat",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 400)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,27,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wsawnoff",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 500)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,26,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wminigun",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 2200)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,38,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wrocket",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 2000)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,35,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wm4",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 600)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,31,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wgrenade",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 1200)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,16,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/wsniper",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 1000)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		GivePlayerWeapon(playerid,34,100000);
		return 1;
	}

	if(strcmp(cmdtext,"/buyhd",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 3)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		if(hd == INVALID_PLAYER_ID)
		{
			SendClientMessage(playerid,COLOR_RED,"There are no \"Hotdog Car\" driver, you cant buy!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid,hd) < 8.0)
		{
			SendClientMessage(playerid,COLOR_RED,"You must be close to the \"Hotdog Car\"!");
			return 1;
		}
		GivePlayerMoney(playerid,-3);
		GivePlayerHealth(playerid,10);
		SendClientMessage(playerid,COLOR_GREEN,"You have buy hotdog!");
		ApplyAnimation(playerid,"FOOD","EAT_Burger",3.00,0,0,0,0,0);
		return 1;
	}

	if(strcmp(cmdtext,"/buycheeps",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 2)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		if(hd == INVALID_PLAYER_ID)
		{
			SendClientMessage(playerid,COLOR_RED,"There are no \"Hotdog Car\" driver, you cant buy!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid,hd) < 8.0)
		{
			SendClientMessage(playerid,COLOR_RED,"You must be close to the \"Hotdog Car\"!");
			return 1;
		}
		GivePlayerMoney(playerid,-2);
		GivePlayerHealth(playerid,5);
		SendClientMessage(playerid,COLOR_GREEN,"You have buy cheeps!");
		ApplyAnimation(playerid,"FOOD","EAT_Burger",3.00,0,0,0,0,0);
		return 1;
	}
	
	if(strcmp(cmdtext,"/buydrink",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 1)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		if(hd == INVALID_PLAYER_ID)
		{
			SendClientMessage(playerid,COLOR_RED,"There are no \"Hotdog Car\" driver, you cant buy!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid,hd) < 8.0)
		{
			SendClientMessage(playerid,COLOR_RED,"You must be close to the \"Hotdog Car\"!");
			return 1;
		}
		GivePlayerMoney(playerid,-1);
		GivePlayerHealth(playerid,5);
		SendClientMessage(playerid,COLOR_GREEN,"You have buy drink!");
		ApplyAnimation(playerid,"FOOD","EAT_Burger",3.00,0,0,0,0,0);
		return 1;
	}
	
	if(strcmp(cmdtext,"/buyketchup",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 1)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		if(hd == INVALID_PLAYER_ID)
		{
			SendClientMessage(playerid,COLOR_RED,"There are no \"Hotdog Car\" driver, you cant buy!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid,hd) < 8.0)
		{
			SendClientMessage(playerid,COLOR_RED,"You must be close to the \"Hotdog Car\"!");
			return 1;
		}
		GivePlayerMoney(playerid,-1);
		GivePlayerHealth(playerid,3);
		SendClientMessage(playerid,COLOR_GREEN,"You have buy ketchup!");
		ApplyAnimation(playerid,"FOOD","EAT_Burger",3.00,0,0,0,0,0);
		return 1;
	}
	
	if(strcmp(cmdtext,"/buyicecream",true) == 0)
	{
		if(GetPlayerMoney(playerid) < 2)
		{
			SendClientMessage(playerid,COLOR_RED,"You dont have enough money to buy this!");
			return 1;
		}
		if(hd == INVALID_PLAYER_ID)
		{
			SendClientMessage(playerid,COLOR_RED,"There are no \"Hotdog Car\" driver, you cant buy!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid,hd) < 8.0)
		{
			SendClientMessage(playerid,COLOR_RED,"You must be close to the \"Hotdog Car\"!");
			return 1;
		}
		GivePlayerMoney(playerid,-2);
		GivePlayerHealth(playerid,5);
		SendClientMessage(playerid,COLOR_GREEN,"You have buy icecream!");
		ApplyAnimation(playerid,"FOOD","EAT_Burger",3.00,0,0,0,0,0);
		return 1;
	}

	return 0;
}
//==============================================================================
public OnPlayerDeath(playerid,killerid,reason)
{
	GivePlayerMoney(killerid,GetPlayerMoney(playerid)+200);
	ResetPlayerMoney(playerid);
	if(killerid != INVALID_PLAYER_ID)
	{
		SendDeathMessage(killerid,playerid,reason);
	}
	return 1;
}
//==============================================================================
public OnPlayerStateChange(playerid,newstate,oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 588)
	{
		for(new all=0;all<=GetMaxPlayers();all++)
		{
			if(IsPlayerConnected(all) && all != playerid)
			{
				SetVehicleParamsForPlayer(1,all,1,1);
			}
		}
		hd = playerid;
	}
	return 1;
}
//==============================================================================
public OnPlayerExitVehicle(playerid,vehicleid)
{
	if(GetVehicleModel(vehicleid) == 588)
	{
		for(new all=0;all<=GetMaxPlayers();all++)
		{
			if(IsPlayerConnected(all) && all != playerid)
			{
				SetVehicleParamsForPlayer(1,all,0,0);
			}
		}
		hd = INVALID_PLAYER_ID;
	}
	return 1;
}
//==============================================================================
public OnPlayerSpawn(playerid)
{
	new r = random(3);
	switch(r)
	{
	    case 0: SetPlayerPos(playerid,183.5687,-1940.4738,-4.3239);
	    case 1: SetPlayerPos(playerid,195.6263,-1943.2715,-3.9503);
	    case 2: SetPlayerPos(playerid,205.5823,-1943.0797,-4.0632);
	    default: { SetPlayerPos(playerid,0.0,0.0,0.0); SendClientMessage(playerid,COLOR_RED,"Spawn error!"); }
	}
	GivePlayerWeapon(playerid,WEAPON_DEAGLE,1000000);
	GivePlayerWeapon(playerid,WEAPON_CANE,0);
	return 1;
}
//==============================================================================
IsValidSkin(skinid)
{
	#define MAX_CRASH_SKINS sizeof(CrashSkins)
	new CrashSkins[] = {3,4,5,6,8,42,65,74,86,119,149,208,265,266,267,268,269,270,271,272,273,289};
	if(skinid < 0 || skinid > 299)
	{
		return 0;
	}
	for(new i=0;i<MAX_CRASH_SKINS;i++)
	{
		if(skinid == CrashSkins[i])
		{
			return 0;
		}
	}
	#undef MAX_CRASH_SKINS
	return 1;
}
//==============================================================================
GivePlayerHealth(playerid,Float:health)
{
	if(health < 0 || health > 100)
	{
		return 0;
	}
	new Float:h_old, Float:h_new;
	GetPlayerHealth(playerid,h_old);
	SetPlayerHealth(playerid,h_old+health);
	GetPlayerHealth(playerid,h_new);
	if(h_new > 100.0)
	{
		SetPlayerHealth(playerid,100.0);
	}
	return 1;
}
//==============================================================================
forward Float:GetDistanceBetweenPlayers(p1,p2);
public Float:GetDistanceBetweenPlayers(p1,p2)
{
	// Not created by me!
	new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2;
	if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
	{
		return -1.00;
	}
	GetPlayerPos(p1,x1,y1,z1);
	GetPlayerPos(p2,x2,y2,z2);
	return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));

}