Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 16
  1. #1
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±

    Система одежды (с магазином)

    Всем привет. Это система одежд которая позволяет одевать и раздевать вашего персонажа в игре.
    Существует 3 слота для каждого игрока, Писал с нуля, идею взял из РакНет.

    ко всем переменным:
    PHP код:
    // ============= [ одежда игрока by Scooter ] ===========
    new
        
    // === TD
        
    Text:u_SkinPlayerMenuTD[5],
        
    PlayerText:u_SkinPlayerMenuTDforPlayer[MAX_PLAYERS][4],
        
    // === Other
        
    u_SkinSlot[MAX_PLAYERS][4],
        
    u_SelectedSkin[MAX_PLAYERS];
    // ============= [ покупка одежды by Scooter ]===============
    new
        
    Text:u_SkinBuyMenuTD[15],
        
    //SelectedSlot[15];
        
    u_MenuSkinsMale[15] = { 0,2,14,24,25,29,59,60,82,83,84,170,185,240,299 },
        
    u_MenuSkinsFemale[15] = { 0,12,13,40,55,56,76,90,141,148,169,192,190,193,216 },
        
    u_skinshop_selleru_toshop[2], u__inorder4 INVALID_PLAYER_ID
    в OnGameModeInt
    PHP код:
    u_toshop[0] = CreatePickup(1318,23,499.509,-1360.63,16.3691,0);
    u_toshop[1] = CreatePickup(1318,23,206.956,-140.373,1003.51,1);
    u_skinshop_sellerCreateActor(241,207.0798,-127.8070,1003.5078,182.8684);
    SetActorVirtualWorld(u_skinshop_seller1); 
    в OnPlayerPickUpPickup
    PHP код:
    if(pickupid == u_toshop[0])
    {
        
    SetPlayerVirtualWorld(playerid,1);
        
    SetPlayerInterior(playerid,3);
        
    SetPlayerPos(playerid,207.018,-138.37,1003.51);
        
    SetPlayerFacingAngle(playerid358.31);
        
    SetCameraBehindPlayer(playerid);
    }
    else if(
    pickupid == u_toshop[1])
    {
        
    SetPlayerVirtualWorld(playerid,0);
        
    SetPlayerInterior(playerid,0);
        
    SetPlayerPos(playerid,500.092,-1358.59,16.2078);
        
    SetPlayerFacingAngle(playerid358.31);
        
    SetCameraBehindPlayer(playerid);

    в OnPlayerDisconnect
    PHP код:
    if(playerid == u__inorder4u__inorder4 INVALID_PLAYER_ID
    PHP код:
    new SellerActSays[3][3][73] = {
        {
    "- Продавец: Привет чувак, тебе чо ?","- Продавец: Здарова, я тя слушаю?","- Продавец: Брооо, чем я тебе могу помочь?"},
        {
    "Привет, что у тебя на продаже?","Привет, что посоветуешь ?","Здарова, мне бы новую одежду ..."},
        {
    "- Продавец: йо, вот, посмотри","- Продавец: посмотри на это","- Продавец: оцени"}
    }; 
    в OnPlayerClickTextDraw
    PHP код:
    if(GetPVarInt(playerid,"ShopTD_Active") == 1)
    {
        if(
    _:clickedid == INVALID_TEXT_DRAWSelectTextDraw(playerid0xcfcfcfAA);
        new 
    empty_skin = (PlayerInfo[playerid][pSex] == 1) ? (154) : (140);
        if(
    u_SkinSlot[playerid][0] != empty_skin) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Вам нужно быть без одежды");
        
    SetPlayerSkin(playerid,(PlayerInfo[playerid][pSex] == 1) ? (u_MenuSkinsMale[_:clickedid]) : (u_MenuSkinsFemale[_:clickedid]));
        
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0],(PlayerInfo[playerid][pSex] == 1) ? (u_MenuSkinsMale[_:clickedid]) : (u_MenuSkinsFemale[_:clickedid]));
        
    PlayerTextDrawShow(playeridu_SkinPlayerMenuTDforPlayer[playerid][0]);
    }
    if(
    GetPVarInt(playerid,"u_SkinPlayerMenuTD_Active") == 1)
    {
        if(
    _:clickedid == INVALID_TEXT_DRAWSelectTextDraw(playerid0xcfcfcfAA);
        else if(
    clickedid == u_SkinPlayerMenuTD[2])
        {
            if(
    u_SelectedSkin[playerid] != -1) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Положите вашу одежду в любой свободный слот.");
            
    ReturnPlayerMenu(playerid,0);
        }
        else if(
    clickedid == u_SkinPlayerMenuTD[4])
        {
            if(
    u_SelectedSkin[playerid] != -1u_SelectedSkin[playerid] = -1;
        }

    в OnPlayerClickPlayerTextDraw
    PHP код:
    if(GetPVarInt(playerid,"u_SkinPlayerMenuTD_Active") == 1)
    {
        
    // Если нажал 'ESC' не даем закрывать стрелку
        
    if(playertextid == PlayerText:INVALID_TEXT_DRAWSelectTextDraw(playerid0xcfcfcfAA);

        
    // Если нажал на основной слот
        
    else if(playertextid == u_SkinPlayerMenuTDforPlayer[playerid][0])
        {
            new 
    empty_skin PlayerInfo[playerid][pSex] == 154 140;
            if(
    u_SelectedSkin[playerid] == -1)
            {
                if(
    u_SkinSlot[playerid][0] == empty_skin) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Вы без одежды");
                
    u_SelectedSkin[playerid] = GetPlayerSkin(playerid);
                
    u_SkinSlot[playerid][0] = empty_skin;
                
    SetPlayerSkin(playerid,empty_skin);
            }
            else
            {
                if(
    u_SkinSlot[playerid][0] != empty_skin) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Вам нужно быть без одежды");
                
    u_SkinSlot[playerid][0] = u_SelectedSkin[playerid];
                
    SetPlayerSkin(playerid,u_SkinSlot[playerid][0]);
                
    u_SelectedSkin[playerid] = -1;
                
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0],u_SkinSlot[playerid][0]);
            }
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0],u_SkinSlot[playerid][0]);
            
    PlayerTextDrawShow(playeridu_SkinPlayerMenuTDforPlayer[playerid][0]);
        }
        
    // Если нажал на слот 1
        
    else if(playertextid == u_SkinPlayerMenuTDforPlayer[playerid][1])
        {
            if(
    u_SelectedSkin[playerid] == -1)
            {
                if(
    u_SkinSlot[playerid][1] == 19374) return 1;
                
    u_SelectedSkin[playerid] = u_SkinSlot[playerid][1];
                
    u_SkinSlot[playerid][1] = 19374;
            }
            else
            {
                if(
    u_SkinSlot[playerid][1] != 19374) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Этот слот занят");
                
    u_SkinSlot[playerid][1] = u_SelectedSkin[playerid];
                
    u_SelectedSkin[playerid] = -1;
                
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][1],u_SkinSlot[playerid][1]);
            }
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][1],u_SkinSlot[playerid][1]);
            
    PlayerTextDrawShow(playeridu_SkinPlayerMenuTDforPlayer[playerid][1]);
        }
        
    // Если нажал на слот 2
        
    else if(playertextid == u_SkinPlayerMenuTDforPlayer[playerid][2])
        {
            if(
    u_SelectedSkin[playerid] == -1)
            {
                if(
    u_SkinSlot[playerid][2] == 19374) return 1;
                
    u_SelectedSkin[playerid] = u_SkinSlot[playerid][2];
                
    u_SkinSlot[playerid][2] = 19374;
            }
            else
            {
                if(
    u_SkinSlot[playerid][2] != 19374) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Этот слот занят");
                
    u_SkinSlot[playerid][2] = u_SelectedSkin[playerid];
                
    u_SelectedSkin[playerid] = -1;
                
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][2],u_SkinSlot[playerid][2]);
            }
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][2],u_SkinSlot[playerid][2]);
            
    PlayerTextDrawShow(playeridu_SkinPlayerMenuTDforPlayer[playerid][2]);
        }
        
    // Если нажал на слот 3
        
    else if(playertextid == u_SkinPlayerMenuTDforPlayer[playerid][3])
        {
            if(
    u_SelectedSkin[playerid] == -1)
            {
                if(
    u_SkinSlot[playerid][3] == 19374) return 1;
                
    u_SelectedSkin[playerid] = u_SkinSlot[playerid][3];
                
    u_SkinSlot[playerid][3] = 19374;
            }
            else
            {
                if(
    u_SkinSlot[playerid][3] != 19374) return SendClientMessage(playerid,COLOR_LIGHTRED,"[Ошибка] Этот слот занят");
                
    u_SkinSlot[playerid][3] = u_SelectedSkin[playerid];
                
    u_SelectedSkin[playerid] = -1;
                
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][3],u_SkinSlot[playerid][3]);
            }
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][3],u_SkinSlot[playerid][3]);
            
    PlayerTextDrawShow(playeridu_SkinPlayerMenuTDforPlayer[playerid][3]);
        }
        return 
    1;

    в конец мода
    PHP код:
    // ===================== [ by Scooter ] =================
    stock ReturnPlayerMenu(playerid,status)
    {
        
    // Если он в машине
        
    if(IsPlayerInAnyVehicle(playerid)) return 1;
        
    // Если он не активирован
        
    if(status == 1)
        {
            
    TextDrawShowForPlayer(playerid,u_SkinPlayerMenuTD[0]); // Фон
            
    TextDrawShowForPlayer(playerid,u_SkinPlayerMenuTD[1]); // Фон 2
            
    TextDrawShowForPlayer(playerid,u_SkinPlayerMenuTD[2]); // Кнопка Close
            
    TextDrawShowForPlayer(playerid,u_SkinPlayerMenuTD[3]); // Фон Дропа
            
    TextDrawShowForPlayer(playerid,u_SkinPlayerMenuTD[4]); // Кнопка Дроп

            
    new empty_skin PlayerInfo[playerid][pSex] == 154 140;
            if(
    GetPlayerSkin(playerid) != empty_skin)
            {
                
    u_SkinSlot[playerid][0] = (PlayerInfo[playerid][pMember]) ? (PlayerInfo[playerid][pModel]) : (PlayerInfo[playerid][pChar]);
            }
            else 
    u_SkinSlot[playerid][0] = empty_skin;
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0],u_SkinSlot[playerid][0]);
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][1],u_SkinSlot[playerid][1]);
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][2],u_SkinSlot[playerid][2]);
            
    PlayerTextDrawSetPreviewModel(playerid,u_SkinPlayerMenuTDforPlayer[playerid][3],u_SkinSlot[playerid][3]);

            
    PlayerTextDrawShow(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0]); // Основной
            
    PlayerTextDrawShow(playerid,u_SkinPlayerMenuTDforPlayer[playerid][1]); // Слот 1
            
    PlayerTextDrawShow(playerid,u_SkinPlayerMenuTDforPlayer[playerid][2]); // Слот 2
            
    PlayerTextDrawShow(playerid,u_SkinPlayerMenuTDforPlayer[playerid][3]); // Слот 3

            
    SelectTextDraw(playerid0xcfcfcfAA);
            
    SetPVarInt(playerid,"u_SkinPlayerMenuTD_Active",1);
            return 
    1;
        }
        
    // Иначе
        
    TextDrawHideForPlayer(playerid,u_SkinPlayerMenuTD[0]); // Фон
        
    TextDrawHideForPlayer(playerid,u_SkinPlayerMenuTD[1]); // Фон 2
        
    TextDrawHideForPlayer(playerid,u_SkinPlayerMenuTD[2]); // Кнопка Close
        
    TextDrawHideForPlayer(playerid,u_SkinPlayerMenuTD[3]); // Фон Дропа
        
    TextDrawHideForPlayer(playerid,u_SkinPlayerMenuTD[4]); // Кнопка Дроп

        
    PlayerTextDrawHide(playerid,u_SkinPlayerMenuTDforPlayer[playerid][0]); // Основной
        
    PlayerTextDrawHide(playerid,u_SkinPlayerMenuTDforPlayer[playerid][1]); // Слот 1
        
    PlayerTextDrawHide(playerid,u_SkinPlayerMenuTDforPlayer[playerid][2]); // Слот 2
        
    PlayerTextDrawHide(playerid,u_SkinPlayerMenuTDforPlayer[playerid][3]); // Слот 3

        
    CancelSelectTextDraw(playerid);
        
    DeletePVar(playerid,"u_SkinPlayerMenuTD_Active");
        return 
    1;

    PHP код:
    forward InTheShop(playerid,f);
    public 
    InTheShop(playerid,f)
    {
        
    #define M(%0) ProxDetector(20.0, playerid,%0,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5)
        
    switch(f)
        {
        case 
    0M(SellerActSays[f][RandomEx(0,3)]),SetTimerEx("InTheShop",1800,false,"dd",playerid,f+1);
        case 
    1ApplyActorAnimation(u_skinshop_seller,"CARRY","crry_prtial",4.1,0,0,0,0,1),OnPlayerText(playerid,SellerActSays[f][RandomEx(0,3)]),SetTimerEx("InTheShop",2300,false,"dd",playerid,f+1);
        case 
    2ApplyAnimation(playerid"BD_FIRE""BD_Fire1"4.1000011),ApplyActorAnimation(u_skinshop_seller"PED","IDLE_CHAT"4.111113),M(SellerActSays[f][RandomEx(0,3)]),SetTimerEx("InTheShop",1800,false,"dd",playerid,f+1);
        case 
    3:
            {
                
    SetPlayerCameraPos(playerid,212.7066,-131.0801,1003.200);
                
    SetPlayerCameraLookAt(playerid,214.3746,-127.8927,1003.5078,1);
                
    ApplyActorAnimation(u_skinshop_seller,"CARRY","crry_prtial",4.1,0,0,0,0,1);
                
    SetPlayerPos(playerid,214.3746,-127.8927,1003.5078);
                
    SetPlayerFacingAngle(playerid,148.2331);
                
    TogglePlayerControllable(playerid,false);
                
    ReturnPlayerMenu(playerid,1);
                
    SetPVarInt(playerid,"ShopTD_Active",1);
                
    SendClientMessage(playeridCOLOR_BLUE,"Что-бы купить введите '/purch', отмена покупки: '/pcancel'");
                for(new 
    0sizeof u_SkinBuyMenuTDi++)
                {
                    if(
    != 0TextDrawSetPreviewModel(u_SkinBuyMenuTD[i],PlayerInfo[playerid][pSex] == u_MenuSkinsMale[i] : u_MenuSkinsFemale[i]);
                    
    TextDrawShowForPlayer(playerid,u_SkinBuyMenuTD[i]);
                }
            }
        }
        
    #undef M
        
    return 1;

    ко всем текстдравам
    PHP код:
    // ====================== [ TD Buy by Scooter ] ========================= //
        // Фон
        
    u_SkinBuyMenuTD[0] = TextDrawCreate(404.500000136.644378"LD_SPAC:white");
        
    TextDrawLetterSize(u_SkinBuyMenuTD[0], 0.0000000.000000);
        
    TextDrawTextSize(u_SkinBuyMenuTD[0], 172.000000130.666549);
        
    TextDrawAlignment(u_SkinBuyMenuTD[0], 1);
        
    TextDrawColor(u_SkinBuyMenuTD[0], -370605825);
        
    TextDrawSetShadow(u_SkinBuyMenuTD[0], 0);
        
    TextDrawSetOutline(u_SkinBuyMenuTD[0], 0);
        
    TextDrawBackgroundColor(u_SkinBuyMenuTD[0], 0x00000000);
        
    TextDrawFont(u_SkinBuyMenuTD[0], 4);
        
    // Кнопки
        
    u_SkinBuyMenuTD[1] = TextDrawCreate(407.000000140.266662"PreviewModel");
        
    u_SkinBuyMenuTD[2] = TextDrawCreate(440.500000140.022216"PreviewModel");
        
    u_SkinBuyMenuTD[3] = TextDrawCreate(474.000000140.399993"PreviewModel");
        
    u_SkinBuyMenuTD[4] = TextDrawCreate(507.500000140.155548"PreviewModel");
        
    u_SkinBuyMenuTD[5] = TextDrawCreate(541.000000140.533325"PreviewModel");
        
    u_SkinBuyMenuTD[6] = TextDrawCreate(421.000000181.977767"PreviewModel");
        
    u_SkinBuyMenuTD[7] = TextDrawCreate(454.500000181.733322"PreviewModel");
        
    u_SkinBuyMenuTD[8] = TextDrawCreate(488.500000182.111099"PreviewModel");
        
    u_SkinBuyMenuTD[9] = TextDrawCreate(522.000000181.866653"PreviewModel");
        
    u_SkinBuyMenuTD[10] = TextDrawCreate(407.000000223.933303"PreviewModel");
        
    u_SkinBuyMenuTD[11] = TextDrawCreate(440.500000223.688858"PreviewModel");
        
    u_SkinBuyMenuTD[12] = TextDrawCreate(474.500000223.444412"PreviewModel");
        
    u_SkinBuyMenuTD[13] = TextDrawCreate(508.500000223.822189"PreviewModel");
        
    u_SkinBuyMenuTD[14] = TextDrawCreate(542.500000222.955520"PreviewModel");

        for(new 
    1sizeof u_SkinBuyMenuTDi++)
        {
            
    //SelectedSlot[u_SkinBuyMenuTD[i]] = i;
            
    TextDrawLetterSize(u_SkinBuyMenuTD[i], 0.0000000.000000);
            
    TextDrawTextSize(u_SkinBuyMenuTD[i], 31.50000039.199943);
            
    TextDrawAlignment(u_SkinBuyMenuTD[i], 1);
            
    TextDrawColor(u_SkinBuyMenuTD[i], -1);
            
    TextDrawSetShadow(u_SkinBuyMenuTD[i], 0);
            
    TextDrawSetOutline(u_SkinBuyMenuTD[i], 0);
            
    TextDrawBackgroundColor(u_SkinBuyMenuTD[i], -402677761);
            
    TextDrawFont(u_SkinBuyMenuTD[i], 5);
            
    TextDrawSetPreviewModel(u_SkinBuyMenuTD[i],0);
            
    TextDrawSetPreviewRot(u_SkinBuyMenuTD[i], 0.0000000.0000000.0000001.000000);
            
    TextDrawSetSelectable(u_SkinBuyMenuTD[i], true);
        }
        
    // ================= [ Одежда by Scooter ] ============
        // Фон
        
    u_SkinPlayerMenuTD[0] = TextDrawCreate(23.500000138.755554"LD_SPAC:white");
        
    TextDrawLetterSize(u_SkinPlayerMenuTD[0], 0.0000000.000000);
        
    TextDrawTextSize(u_SkinPlayerMenuTD[0], 107.000000154.311019);
        
    TextDrawAlignment(u_SkinPlayerMenuTD[0], 1);
        
    TextDrawColor(u_SkinPlayerMenuTD[0], -370605825);
        
    TextDrawSetShadow(u_SkinPlayerMenuTD[0], 0);
        
    TextDrawSetOutline(u_SkinPlayerMenuTD[0], 0);
        
    TextDrawBackgroundColor(u_SkinPlayerMenuTD[0], 0x00000000);
        
    TextDrawFont(u_SkinPlayerMenuTD[0], 4);

        
    // Фон 2
        
    u_SkinPlayerMenuTD[1] = TextDrawCreate(27.000000295.311187"LD_SPAC:white");
        
    TextDrawLetterSize(u_SkinPlayerMenuTD[1], 0.0000000.000000);
        
    TextDrawTextSize(u_SkinPlayerMenuTD[1], 99.50000023.644292);
        
    TextDrawAlignment(u_SkinPlayerMenuTD[1], 1);
        
    TextDrawColor(u_SkinPlayerMenuTD[1], -370605825);
        
    TextDrawSetShadow(u_SkinPlayerMenuTD[1], 0);
        
    TextDrawSetOutline(u_SkinPlayerMenuTD[1], 0);
        
    TextDrawBackgroundColor(u_SkinPlayerMenuTD[1], 0x00000000);
        
    TextDrawFont(u_SkinPlayerMenuTD[1], 4);
        
    TextDrawSetSelectable(u_SkinPlayerMenuTD[1], true);

        
    // Кнопка Закрыть
        
    u_SkinPlayerMenuTD[2] = TextDrawCreate(47.000000299.288879"close");
        
    TextDrawLetterSize(u_SkinPlayerMenuTD[2], 0.4499991.600000);
        
    TextDrawAlignment(u_SkinPlayerMenuTD[2], 1);
        
    TextDrawColor(u_SkinPlayerMenuTD[2], -1);
        
    TextDrawSetShadow(u_SkinPlayerMenuTD[2], 0);
        
    TextDrawSetOutline(u_SkinPlayerMenuTD[2], 1);
        
    TextDrawBackgroundColor(u_SkinPlayerMenuTD[2], 51);
        
    TextDrawFont(u_SkinPlayerMenuTD[2], 2);
        
    TextDrawSetProportional(u_SkinPlayerMenuTD[2], 1);
        
    TextDrawSetSelectable(u_SkinPlayerMenuTD[2], true);

        
    // Фон дропа
        
    u_SkinPlayerMenuTD[3] = TextDrawCreate(27.000000320.000000"LD_SPAC:white");
        
    TextDrawLetterSize(u_SkinPlayerMenuTD[3], 0.0000000.000000);
        
    TextDrawTextSize(u_SkinPlayerMenuTD[3], 99.50000023.644292);
        
    TextDrawAlignment(u_SkinPlayerMenuTD[3], 1);
        
    TextDrawColor(u_SkinPlayerMenuTD[3], -370605825);
        
    TextDrawSetShadow(u_SkinPlayerMenuTD[3], 0);
        
    TextDrawSetOutline(u_SkinPlayerMenuTD[3], 0);
        
    TextDrawBackgroundColor(u_SkinPlayerMenuTD[3], 0x00000000);
        
    TextDrawFont(u_SkinPlayerMenuTD[3], 4);
        
    TextDrawSetSelectable(u_SkinPlayerMenuTD[3], true);

        
    // Дроп
        
    u_SkinPlayerMenuTD[4] = TextDrawCreate(46.500000323.933349"drope");
        
    TextDrawLetterSize(u_SkinPlayerMenuTD[4], 0.4499991.600000);
        
    TextDrawAlignment(u_SkinPlayerMenuTD[4], 1);
        
    TextDrawColor(u_SkinPlayerMenuTD[4], -1);
        
    TextDrawSetShadow(u_SkinPlayerMenuTD[4], 0);
        
    TextDrawSetOutline(u_SkinPlayerMenuTD[4], 1);
        
    TextDrawBackgroundColor(u_SkinPlayerMenuTD[4], 51);
        
    TextDrawFont(u_SkinPlayerMenuTD[4], 2);
        
    TextDrawSetProportional(u_SkinPlayerMenuTD[4], 1);
        
    TextDrawSetSelectable(u_SkinPlayerMenuTD[4], true); 
    к другим текстдравам для игроков
    PHP код:
    // ============= Система одежд by Scooter
        
    u_SkinPlayerMenuTDforPlayer[playerid][0] = CreatePlayerTextDraw(playerid27.000000141.866668"PreviewModel"); // Основной
        
    u_SkinPlayerMenuTDforPlayer[playerid][1] = CreatePlayerTextDraw(playerid28.000000248.644500"PreviewModel"); // Слот 1
        
    u_SkinPlayerMenuTDforPlayer[playerid][2] = CreatePlayerTextDraw(playerid61.500000248.400054"PreviewModel"); // Слот 2
        
    u_SkinPlayerMenuTDforPlayer[playerid][3] = CreatePlayerTextDraw(playerid95.000000248.777832"PreviewModel"); // Слот 3
        
    for(new 0!= 4i++)
        {
            
    PlayerTextDrawTextSize(playeridu_SkinPlayerMenuTDforPlayer[playerid][i],(== 0) ? (99.500000) : (31.500000), (== 0) ? (96.444442) : (39.199943));
            
    PlayerTextDrawLetterSize(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 0.0000000.000000);
            
    PlayerTextDrawAlignment(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 1);
            
    PlayerTextDrawColor(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], -1);
            
    PlayerTextDrawSetShadow(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 0);
            
    PlayerTextDrawSetOutline(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 0);
            
    PlayerTextDrawBackgroundColor(playeridu_SkinPlayerMenuTDforPlayer[playerid][i],0xcfcfcfAA);
            
    PlayerTextDrawFont(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 5);
            
    PlayerTextDrawSetPreviewModel(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 0);
            
    PlayerTextDrawSetPreviewRot(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], 0.0000000.0000000.0000001.000000);
            
    PlayerTextDrawSetSelectable(playeridu_SkinPlayerMenuTDforPlayer[playerid][i], true);
        } 
    в OnPlayerKeyStateChange
    PHP код:
    if(oldkeys KEY_YES)
    {
        
    ReturnPlayerMenu(playerid,1);
    }
    if(
    oldkeys KEY_SECONDARY_ATTACK)
    {
        if(
    PlayerInfo[playerid][pInt])
        {
            if(
    IsPlayerInRangeOfPoint(playerid,2.0,207.0940,-129.1801,1003.5078))
            {
                if(
    PlayerInfo[playerid][pCash] < 3000) return SendClientMessage(playerid,COLOR_ADM,"[Ошибка] Вам нужно $3000");
                if(
    u__inorder4 != INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_LIGHTRED,"Пожалуйста, подождите ...");
                
    SetPlayerPos(playerid,207.0940,-129.1801,1003.5078);
                
    u__inorder4 playerid;
                
    ApplyActorAnimation(u_skinshop_seller"PED","IDLE_CHAT"4.111113);
                return 
    InTheShop(playerid,0);
            }
        }

    где данные игрока очищаются
    PHP код:
    u_SkinSlot[playerid][0] = 0;
    u_SkinSlot[playerid][1] = u_SkinSlot[playerid][2] = u_SkinSlot[playerid][3] = 19374;
    u_SelectedSkin[playerid] = -1
    команды
    PHP код:
    CMD:purch(playerid)
    {
        if(
    GetPVarInt(playerid,"ShopTD_Active") == 1)
        {
            for(new 
    0sizeof u_SkinBuyMenuTDi++)
            {
                
    TextDrawHideForPlayer(playerid,u_SkinBuyMenuTD[i]);
            }
            
    GameTextForPlayer(playerid,"~r~-$3000"30001);
            
    PlayerInfo[playerid][pCash] -= 3000;
            
    ReturnPlayerMenu(playerid,0);
            new 
    skin GetPlayerSkin(playerid);
            
    u_SkinSlot[playerid][0] = skin;
            
    SetPlayerSkin(playerid,skin);
            
    TogglePlayerControllable(playerid,true);
            
    SetCameraBehindPlayer(playerid);
            
    u__inorder4 INVALID_PLAYER_ID;
            
    DeletePVar(playerid,"ShopTD_Active");
        }
        return 
    1;
    }
    CMD:pcancel(playerid)
    {
        if(
    GetPVarInt(playerid,"ShopTD_Active") == 1)
        {
            for(new 
    0sizeof u_SkinBuyMenuTDi++)
            {
                
    TextDrawHideForPlayer(playerid,u_SkinBuyMenuTD[i]);
            }
            
    ReturnPlayerMenu(playerid,0);
            
    TogglePlayerControllable(playerid,true);
            
    SetCameraBehindPlayer(playerid);
            
    u__inorder4 INVALID_PLAYER_ID;
            
    u_SkinSlot[playerid][0] = PlayerInfo[playerid][pSex] == 154 140;
            
    SetPlayerSkin(playerid,u_SkinSlot[playerid][0]);
            
    DeletePVar(playerid,"ShopTD_Active");
        }
        return 
    1;

     SCREENS





    Автор - Scooter

    Если что-то забыл - скажите об этом
    И создание TD должна быть первой. В начале, что-бы ID TD было 0-1. Тогда глюков не будет.
    Последний раз редактировалось Unreal; 01.06.2016 в 17:12.
    Pro-pawn.ru

  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Unreal Посмотреть сообщение
    Автор - Scooter
    Разрешение от Scooter на публикацию его кода здесь?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. #3
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Разрешение от Scooter на публикацию его кода здесь?
    Да, есть
    Последний раз редактировалось Unreal; 04.01.2018 в 13:44.
    Pro-pawn.ru

  4. #4
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    seller - не уникальное имя. Продавцов может быть много, в разных местах.
    Последний раз редактировалось TheMallard; 22.05.2016 в 19:45. Причина: грам. ошибка

  5. #5
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    seller - не уникальное имя. Продавцов может быть много, в разных местах.
    хорошо, сейчас подправлю
    Pro-pawn.ru

  6. #6
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    bot_seller - не уникальное имя. М. б. skinshop_seller?

  7. #7
    Аватар для Unreal
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.09.2014
    Сообщений
    133
    Репутация:
    4 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    bot_seller - не уникальное имя. М. б. skinshop_seller?
    ну ладно
    Pro-pawn.ru

  8. #8
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±
    Скриншот текстдравов скинь пожалуйста

  9. #9
    Аватар для Battista
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2016
    Адрес
    Улан-Удэ
    Сообщений
    27
    Репутация:
    1 ±
    Это мол типо инвентарь с одеждой?

  10. #10
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±
    Цитата Сообщение от Battista Посмотреть сообщение
    Это мол типо инвентарь с одеждой?
    самому интересно

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •