Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

[FS] OKStyle's Exclusive Clothes

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
Филиалы розничной сети магазинов "OKStyle's Exclusive Clothes" теперь и в San-Andreas! Меняйте скин в магазинах одежды всего за $500.

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


PHP:
#include <a_samp>
// OKStyle's Exclusive Clothes Stores v 1.1
#define COLOR_INTERFACE_BODY 0xFDE39DAA

enum pInfo {
	PlayerBuyingSkin,
	PlayerBuyedSkin,
	CurPlayerSkin,
	BuyedPlayerSkin
};

new
	Text:OEC[11],
	PU_SkinStore[6],
	PlayerInfo[MAX_PLAYERS][pInfo];
	
public OnFilterScriptInit()
{
	PU_SkinStore[0] = CreatePickup(1275, 23, 203.7687, -43.5479, 1001.8047, -1); // Sub Urban (Interior № 1)
	PU_SkinStore[1] = CreatePickup(1275, 23, 206.9725, -129.2776, 1003.5078, -1); // Pro Laps (Interior № 3)
	PU_SkinStore[2] = CreatePickup(1275, 23, 207.1088, -6.8424, 1001.2109, -1); // Victim (Interior № 5)
	PU_SkinStore[3] = CreatePickup(1275, 23, 204.2164, -160.2130, 1000.5234, -1); // Didier Sachs (Interior № 14)
	PU_SkinStore[4] = CreatePickup(1275, 23, 207.4383, -100.6320, 1005.2578, -1); // Binco (Interior № 15)
	PU_SkinStore[5] = CreatePickup(1275, 23, 161.3974, -83.4861, 1001.8047, -1); // Zip (Interior № 18)

	OEC[0] = TextDrawCreate(620.0,344.0,"~n~");
	TextDrawLetterSize(OEC[0], 0.5, 6.399996);
	TextDrawUseBox(OEC[0],1);
	TextDrawBoxColor(OEC[0],0x000000AA);
	TextDrawTextSize(OEC[0],411.0, -2.0);
	
	OEC[1] = TextDrawCreate(420.0,344.0,"~k~~PED_SPRINT~");
	TextDrawFont(OEC[1],1);
	TextDrawLetterSize(OEC[1],0.5,1.5);
	TextDrawColor(OEC[1],0xFFFFFFFF);
	TextDrawSetOutline(OEC[1],1);
	
	OEC[2] = TextDrawCreate(420.0,359.0,"~k~~VEHICLE_ENTER_EXIT~");
	TextDrawFont(OEC[2],1);
	TextDrawLetterSize(OEC[2],0.5,1.5);
	TextDrawColor(OEC[2],0xFFFFFFFF);
	TextDrawSetOutline(OEC[2],1);
	
	OEC[3] = TextDrawCreate(420.0,373.0,"~k~~VEHICLE_TURRETLEFT~");
	TextDrawFont(OEC[3],1);
	TextDrawLetterSize(OEC[3],0.5,1.5);
	TextDrawColor(OEC[3],0xFFFFFFFF);
	TextDrawSetOutline(OEC[3],1);

	OEC[4] = TextDrawCreate(420.0,387.0,"~k~~VEHICLE_TURRETRIGHT~");
	TextDrawFont(OEC[4],1);
	TextDrawLetterSize(OEC[4],0.5,1.5);
	TextDrawColor(OEC[4],0xFFFFFFFF);
	TextDrawSetOutline(OEC[4],1);

	OEC[5] = TextDrawCreate(526.0,373.0,"- Previous");
	TextDrawFont(OEC[5],1);
	TextDrawLetterSize(OEC[5],0.5,1.5);
	TextDrawColor(OEC[5],0xFFFFFFFF);
	TextDrawSetOutline(OEC[5],1);
	
	OEC[6] = TextDrawCreate(526.0,387.0,"- Next");
	TextDrawFont(OEC[6],1);
	TextDrawLetterSize(OEC[6],0.5,1.5);
	TextDrawColor(OEC[6],0xFFFFFFFF);
	TextDrawSetOutline(OEC[6], 1);

	OEC[7] = TextDrawCreate(526.0,344.0,"- Buy");
	TextDrawFont(OEC[7],1);
	TextDrawLetterSize(OEC[7],0.5,1.5);
	TextDrawColor(OEC[7],0xFFFFFFFF);
	TextDrawSetOutline(OEC[7],1);

	OEC[8] = TextDrawCreate(526.0,359.0,"- Cancel");
	TextDrawFont(OEC[8],1);
	TextDrawLetterSize(OEC[8],0.5,1.5);
	TextDrawColor(OEC[8],0xFFFFFFFF);
	TextDrawSetOutline(OEC[8],1);

	OEC[9] = TextDrawCreate(447.0,203.0,">>>");
	TextDrawFont(OEC[9],0);
	TextDrawLetterSize(OEC[9],1.08,4.5);
	TextDrawColor(OEC[9],0xFFFFFFFF);
	TextDrawSetOutline(OEC[9],1);
	
	OEC[10] = TextDrawCreate(110.0,203.0,"<<<");
	TextDrawFont(OEC[10],0);
	TextDrawLetterSize(OEC[10],1.08,4.5);
	TextDrawColor(OEC[10],0xFFFFFFFF);
	TextDrawSetOutline(OEC[10],1);
	
	return 1;
}
public OnPlayerConnect(playerid)
{
	PlayerInfo[playerid][PlayerBuyingSkin] = 0;
	SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\": на Вашем сервере открылся филиал магазина одежды \"OKStyle's Exclusive Clothes\".");
	SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\": для получения дополнительной информации наберите: /oechelp.");

	SetPlayerMapIcon(playerid, 0, 2243.7368, -1665.8191, 21.0313, 45, 0, MAPICON_LOCAL); // LS, Ganton (Binco)
	SetPlayerMapIcon(playerid, 1, 2112.2080, -1210.2596, 28.1486, 45, 0, MAPICON_LOCAL); // LS, Jefferson (Sub-Urban)
	SetPlayerMapIcon(playerid, 2, 1456.9731, -1137.2269, 23.9458, 45, 0, MAPICON_LOCAL); // LS, Marketplace (Zip)
	SetPlayerMapIcon(playerid, 3, 499.3430, -1360.3872, 15.9448, 45, 0, MAPICON_LOCAL); // LS, Rodeo (Pro Laps)
	SetPlayerMapIcon(playerid, 4, 461.6073, -1500.5414, 30.6179, 45, 0, MAPICON_LOCAL); // LS, Rodeo (Victim)
	SetPlayerMapIcon(playerid, 5, 454.2315, -1477.3899, 45.5781, 45, 0, MAPICON_LOCAL); // LS, Rodeo (Didier Sachs)
	SetPlayerMapIcon(playerid, 6, -2490.3992, -29.0759, 25.1717, 45, 0, MAPICON_LOCAL); // SF, Hashbury (Sub Urban)
	SetPlayerMapIcon(playerid, 7, -2373.3257, 908.9100, 93.6328, 45, 0, MAPICON_LOCAL); // SF, Janiper Hill (Binco)
	SetPlayerMapIcon(playerid, 8, -1882.4037, 866.3734, 34.7354, 45, 0, MAPICON_LOCAL); // SF, Marketplace (Zip)
	SetPlayerMapIcon(playerid, 9, -1694.3289, 951.2454, 24.4555, 45, 0, MAPICON_LOCAL); // SF, Marketplace (Victim)
	SetPlayerMapIcon(playerid, 10, 1656.8595, 1732.9968, 10.3973, 45, 0, MAPICON_LOCAL); // LV, Airport (Binco)
	SetPlayerMapIcon(playerid, 11, 2090.5713, 2227.4121, 21.4297, 45, 0, MAPICON_LOCAL); // LV, The Emerland Isle (Zip)
	SetPlayerMapIcon(playerid, 12, 2099.3352, 2257.3284, 21.4297, 45, 0, MAPICON_LOCAL); // LV, The Emerland Isle (Binco)
	SetPlayerMapIcon(playerid, 13, 2779.9485, 2453.6741, 10.6372, 45, 0, MAPICON_LOCAL); // LV, Creek (Sub Urban)
	SetPlayerMapIcon(playerid, 14, 2802.7649, 2430.5879, 10.6334, 45, 0, MAPICON_LOCAL); // LV, Creek (Victim)
	SetPlayerMapIcon(playerid, 15, 2825.9680, 2407.5234, 10.6332, 45, 0, MAPICON_LOCAL); // LV, Creek (Pro Laps)
	return 1;
}
public OnPlayerSpawn(playerid)
{
	if(PlayerInfo[playerid][PlayerBuyedSkin] == 1) return SetPlayerSkin(playerid, PlayerInfo[playerid][BuyedPlayerSkin]);
	return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext, "/oechelp", true) == 0)
	{
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Вас приветствует розничная сеть эксклюзивной одежды от O.K.Style™.");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Филиалы нашего магазина в Лос-Сантосе находятся:");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Родео-Драйв (магазины \"Didiers Sachs\", \"Victim\" и \"Pro Laps\", Гантон (магазин \"Binco\")");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Деловой район Лос-Сантоса (магазин \"ZiP\"), Джефферсон (магазин \"Sub Urban\")");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Филиалы нашего магазина в Сан-Фиерро находятся:");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Деловой район Сан-Фиерро (магазины \"ZiP\" и \"Victim\"), Хэшбери (магазин \"Sub Urban\"), Дженипер Хилл (магазин \"Binco\").");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Филиалы нашего магазина в Лас-Вентурас находятся:");
	    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Аэропорт Лас-Вентурас (магазин \"Binco\"), Бухта (магазины \"Victim\", \"Sub Urban\" и \"Pro Laps\"), Изумрудный остров (магазины \"Zip\" и \"Binco\").");
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Все филиалы обозначен иконкой с изображением белой футболки. Всего магазинов - 16.");
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Маркетолог \"OEC\": Цена скина: $500. Он сохраняется после смерти, но не сохраняется при выходе.");
		return 1;
	}
	return 0;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
	if(pickupid == PU_SkinStore[0])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 214.0874, -41.6967, 1002.0234);
	    SetPlayerFacingAngle(playerid, 91.9525);
	    SetPlayerCameraPos(playerid, 212.0223, -41.8577, 1002.0234);
	    SetPlayerCameraLookAt(playerid, 214.0874, -41.6967, 1002.0234);
	    PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid,0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	else if(pickupid == PU_SkinStore[1])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 199.0817, -127.2840, 1003.5152);
	    SetPlayerFacingAngle(playerid, 184.0733);
	    SetPlayerCameraPos(playerid, 199.081, -129.2840, 1003.70);
	    SetPlayerCameraLookAt(playerid, 199.0817, -127.2840, 1003.5152);
	    PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid, 0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	else if(pickupid == PU_SkinStore[2])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 204.6101, -3.7732, 1005.2109);
	    SetPlayerFacingAngle(playerid, 229.8928);
	    SetPlayerCameraPos(playerid, 206.7873, -5.4499, 1005.2109);
	    SetPlayerCameraLookAt(playerid, 204.6101, -3.7732, 1005.2109);
	    PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid, 0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	else if(pickupid == PU_SkinStore[3])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 216.3909, -156.8679, 1000.5234);
	    SetPlayerFacingAngle(playerid, 91.7515);
	    SetPlayerCameraPos(playerid, 214.300, -156.8916, 1000.70);
	    SetPlayerCameraLookAt(playerid, 216.3909, -156.8679, 1000.5234);
		PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid, 0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	else if(pickupid == PU_SkinStore[4])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 217.3332, -98.5220, 1005.2578);
	    SetPlayerFacingAngle(playerid, 88.4170);
	    SetPlayerCameraPos(playerid, 215.3082, -98.5220, 1005.350);
	    SetPlayerCameraLookAt(playerid, 217.3332, -98.5220, 1005.2578);
	    PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid, 0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	else if(pickupid == PU_SkinStore[5])
	{
		for(new j; j < sizeof(OEC) - 2; j++)
		{
			TextDrawShowForPlayer(playerid, OEC[j]);
		}
	    SetPlayerPos(playerid, 181.8224, -88.2158, 1002.0234);
	    SetPlayerFacingAngle(playerid, 87.4771);
	    SetPlayerCameraPos(playerid, 179.2743, -88.0793, 1002.0234);
	    SetPlayerCameraLookAt(playerid, 181.8224, -88.2158, 1002.0234);
	    PlayerInfo[playerid][PlayerBuyingSkin] = 1;
		PlayerInfo[playerid][CurPlayerSkin] = GetPlayerSkin(playerid);
		TogglePlayerControllable(playerid, 0);
		SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Добро пожаловать в один из магазинов одежды \"OKStyle's Exclusive Clothes\".");
	}
	return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(PlayerInfo[playerid][PlayerBuyingSkin] == 1)
	{
	    if(newkeys == KEY_ANALOG_LEFT)
	    {
	        if(GetPlayerSkin(playerid) == 0)
	        {
	            SetPlayerSkin(playerid, 299);
			}
	        SetPlayerSkin(playerid, GetPlayerSkin(playerid) - 1);
	        TextDrawHideForPlayer(playerid, OEC[10]);
	        TextDrawHideForPlayer(playerid, OEC[9]);
	        TextDrawShowForPlayer(playerid, OEC[10]);
		}
		else if(newkeys == KEY_ANALOG_RIGHT)
		{
		    if(GetPlayerSkin(playerid) == 299)
		    {
		        SetPlayerSkin(playerid, 0);
			}
			SetPlayerSkin(playerid, GetPlayerSkin(playerid) + 1);
	        TextDrawHideForPlayer(playerid, OEC[10]);
	        TextDrawHideForPlayer(playerid, OEC[9]);
	        TextDrawShowForPlayer(playerid, OEC[9]);
		}
		else if(newkeys == KEY_SECONDARY_ATTACK)
		{
			for(new j; j < sizeof(OEC); j++)
			{
				TextDrawHideForPlayer(playerid, OEC[j]);
			}
			SetPlayerSkin(playerid, PlayerInfo[playerid][CurPlayerSkin]);
			TogglePlayerControllable(playerid, 1);
			PlayerInfo[playerid][PlayerBuyingSkin] = 0;
			SetCameraBehindPlayer(playerid);
			SendClientMessage(playerid,COLOR_INTERFACE_BODY,"*Продавец \"OEC\"*: Вы передумали приобретать скин.");
		}
		else if(newkeys == KEY_SPRINT)
		{
		    if(GetPlayerMoney(playerid) < 500) return SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец\"OEC\"*: Простите, но у Вас недостаточно денег.");
			for(new j; j < sizeof(OEC); j++)
			{
				TextDrawHideForPlayer(playerid, OEC[j]);
			}
		    GivePlayerMoney(playerid, -500);
		    GameTextForPlayer(playerid, "~r~-$500", 3000, 5);
		    TogglePlayerControllable(playerid, 1);
		    PlayerInfo[playerid][PlayerBuyingSkin] = 0;
		    SetCameraBehindPlayer(playerid);
		    PlayerInfo[playerid][PlayerBuyedSkin] = 1;
		    PlayerInfo[playerid][BuyedPlayerSkin] = GetPlayerSkin(playerid);
		    SendClientMessage(playerid, COLOR_INTERFACE_BODY, "*Продавец \"OEC\"*: Вы приобрели новый скин.");
		}
	}
	return 1;
}
public OnFilterScriptExit()
{
	for(new i; i < GetMaxPlayers(); i++)
	{
	    for(new j; j < 16; j++)
	    {
			RemovePlayerMapIcon(i, j);
		}
		if(PlayerInfo[i][PlayerBuyingSkin] == 1)
		{
			PlayerInfo[i][PlayerBuyingSkin] = 0;
			TogglePlayerControllable(i, 1);
			SetCameraBehindPlayer(i);
		}
        PlayerInfo[i][PlayerBuyedSkin] = 0;
	}
	for(new k; k < sizeof(PU_SkinStore); k++)
	{
		DestroyPickup(PU_SkinStore[k]);
	}
	for(new l; l < sizeof(OEC); l++)
	{
	    TextDrawHideForAll(OEC[l]);
	    TextDrawDestroy(OEC[l]);
	}
	return 1;
}
Автор: OKStyle
 
Сверху Снизу