Форум Pawn.Wiki - Воплоти мечту в реальность!: Выбор скина на текстдравах - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ GF ]
Выбор скина на текстдравах TextDraws
Оценка: -----

#1
Пользователь офлайн   DemonWlad 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Здравствуйте ув.пользователи Pawn-Wiki!
Собственно приступим!

Создадим наш пикап:

new Text:ButtonLeft;
new Text:ButtonRight;
new Text:ButtonSelect;
new ClothesRound[MAX_PLAYERS];
new SelectCharRegID[MAX_PLAYERS];


В GameModeInit:
PHP код:
LoadTextDraws();


В public OnPlayerSpawn(playerid)
PHP код:
    {
            SetPlayerVirtualWorld(playerid, playerid);
            SetPlayerInterior(playerid,0);
            SetPlayerPos(playerid,1526.03,-1346.4008,330.0234);
            SetPlayerFacingAngle(playerid,63.8611);
            SetPlayerCameraPos(playerid,1520.0631,-1343.1326,330.6207);
            SetPlayerCameraLookAt(playerid,1526.0348,-1346.2710,330.0553);
            TogglePlayerControllable(playerid, 0);
            TextDrawShowForPlayer(playerid,ButtonLeft);
            TextDrawShowForPlayer(playerid,ButtonRight);
        TextDrawShowForPlayer(playerid,ButtonSelect);
        SelectTextDraw(playerid, 0xFF4040AA);
        if(Player[playerid][pSex] == 1) SetPlayerSkin(playerid, 78), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 78;
        else SetPlayerSkin(playerid, 12), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 12;
    }


В конец мода:
PHP код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(ClothesRound[playerid] == 1)
    {
        if(clickedid == ButtonRight)
        {
             if(PlayerInfo[playerid][pSex] == 1)
            {
                switch(SelectCharRegID[playerid])
                {
                    case 1: SetPlayerSkin(playerid, 79), SelectCharRegID[playerid] = 2, ChosenSkin[playerid] = 79;
                    case 2: SetPlayerSkin(playerid, 135), SelectCharRegID[playerid] = 3, ChosenSkin[playerid] = 135;
                    case 3: SetPlayerSkin(playerid, 230), SelectCharRegID[playerid] = 4, ChosenSkin[playerid] = 230;
                    case 4: SetPlayerSkin(playerid, 137), SelectCharRegID[playerid] = 5, ChosenSkin[playerid] = 137;
                    case 5: SetPlayerSkin(playerid, 200), SelectCharRegID[playerid] = 6,ChosenSkin[playerid] = 200;
                    case 6: SetPlayerSkin(playerid, 78), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 78;
                }
            }
              else
             {
                 switch(SelectCharRegID[playerid])
                {
                    case 1: SetPlayerSkin(playerid, 13), SelectCharRegID[playerid] = 2, ChosenSkin[playerid] = 13;
                    case 2: SetPlayerSkin(playerid, 55), SelectCharRegID[playerid] = 3, ChosenSkin[playerid] = 55;
                    case 3: SetPlayerSkin(playerid, 90), SelectCharRegID[playerid] = 4, ChosenSkin[playerid] = 90;
                    case 4: SetPlayerSkin(playerid, 193), SelectCharRegID[playerid] = 5, ChosenSkin[playerid] = 193;
                    case 5: SetPlayerSkin(playerid, 12), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 12;
                   }
             }
        }
        else if(clickedid == ButtonLeft)
        {
             if(Player[playerid][pSex] == 1)
            {
                switch(SelectCharRegID[playerid])
                {
                    case 1: SetPlayerSkin(playerid, 200), SelectCharRegID[playerid] = 6, ChosenSkin[playerid] = 200;
                    case 6: SetPlayerSkin(playerid, 137), SelectCharRegID[playerid] = 5, ChosenSkin[playerid] = 137;
                    case 5: SetPlayerSkin(playerid, 230), SelectCharRegID[playerid] = 4, ChosenSkin[playerid] = 230;
                    case 4: SetPlayerSkin(playerid, 135), SelectCharRegID[playerid] = 3, ChosenSkin[playerid] = 135;
                    case 3: SetPlayerSkin(playerid, 79), SelectCharRegID[playerid] = 2, ChosenSkin[playerid] = 79;
                    case 2: SetPlayerSkin(playerid, 78), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 78;
                  }
            }
              else
             {
                 switch(SelectCharRegID[playerid])
                {
                    case 1: SetPlayerSkin(playerid, 193), SelectCharRegID[playerid] = 5, ChosenSkin[playerid] = 193;
                    case 5: SetPlayerSkin(playerid, 90), SelectCharRegID[playerid] = 4, ChosenSkin[playerid] = 90;
                    case 4: SetPlayerSkin(playerid, 55), SelectCharRegID[playerid] = 3, ChosenSkin[playerid] = 55;
                    case 3: SetPlayerSkin(playerid, 13), SelectCharRegID[playerid] = 2, ChosenSkin[playerid] = 13;
                    case 2: SetPlayerSkin(playerid, 12), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 12;
                   }
            }
        }
        else if(clickedid == ButtonSelect)
        {
               PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
            SelectCharRegID[playerid] = 0;
            ClothesRound[playerid] = 0;
            TogglePlayerControllable(playerid, 1);
            OnPlayerRegister(playerid,Player[playerid][pPassword]);
             TextDrawHideForPlayer(playerid,ButtonLeft);
            TextDrawHideForPlayer(playerid,ButtonRight);
            TextDrawHideForPlayer(playerid,ButtonSelect);
            CancelSelectTextDraw(playerid);
            SetPlayerVirtualWorld(playerid,0);
            SendClientMessage(playerid,-1,"??????????? ?????? ???????");
            SetSpawnInfo(playerid, 255, Player[playerid][pModel], 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
            SpawnPlayer(playerid);
            PlayerInfo[playerid][pLevel] = 1;
            SetPlayerPos(playerid,-1967.6738,115.7038,27.6875);
            SetPlayerFacingAngle(playerid, 101.2675);
            SetPlayerInterior(playerid,0);
            SetPlayerVirtualWorld(playerid, 0);
            SetPlayerScore(playerid,1);
        }
        if(clickedid == Text:INVALID_TEXT_DRAW)
        {
            if(ClothesRound[playerid] == 1)
            {
                TogglePlayerControllable(playerid, 0);
                TextDrawShowForPlayer(playerid,ButtonLeft);
                TextDrawShowForPlayer(playerid,ButtonRight);
                TextDrawShowForPlayer(playerid,ButtonSelect);
                SelectTextDraw(playerid, 0xFF4040AA);
                if(PlayerInfo[playerid][pSex] == 1) SetPlayerSkin(playerid, 78), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 78;
                else SetPlayerSkin(playerid, 12), SelectCharRegID[playerid] = 1, ChosenSkin[playerid] = 12;
            }
        }
    }
    return 1;
}


И вот это
PHP код:
stock LoadTextDraws()
{
    ButtonLeft = TextDrawCreate(50.0, 200.0, "LD_BEAT:left");
    TextDrawFont(ButtonLeft, 4);
    TextDrawTextSize(ButtonLeft, 50, 25);
    TextDrawSetSelectable(ButtonLeft, 1);

    ButtonRight = TextDrawCreate(530.0, 200.0, "LD_BEAT:right");
    TextDrawFont(ButtonRight, 4);
    TextDrawTextSize(ButtonRight, 50, 25);
    TextDrawSetSelectable(ButtonRight, 1);

    ButtonSelect = TextDrawCreate(382.000000, 371.000000, "Select");
    TextDrawTextSize(ButtonSelect, 482.0, 22.0);
    TextDrawBackgroundColor(ButtonSelect, 255);
    TextDrawFont(ButtonSelect, 3);
    TextDrawLetterSize(ButtonSelect, 0.899999, 2.400000);
    TextDrawColor(ButtonSelect, 869072895);
    TextDrawSetOutline(ButtonSelect, 0);
    TextDrawSetProportional(ButtonSelect, 1);
    TextDrawSetShadow(ButtonSelect, 1);
    TextDrawSetSelectable(ButtonSelect, 1);
}  


Скрин: Изображение

Вот в общем то и всё

Если будут баги, ошибки пишите!
1

#2
Пользователь офлайн   yaroslav.k 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
error 010: invalid function or declaration
error 010: invalid function or declaration
error 017: undefined symbol "ButtonLeft"
error 017: undefined symbol "pSex"
error 017: undefined symbol "ChosenSkin"
error 001: expected token: ";", but found "]"
0

#3
Пользователь офлайн   Matthew 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Кнопки не нажимаюца
0

#4
Пользователь офлайн   Trable 

  • lagshoter
  • Вставить ник
  • Раскрыть информацию
Ты так классно вырезал *сарказм*. Мне это очень не нравится. Даже не до конца. Боже мой.
Я взял чистый new.pwn и компилятор выдал мне такую ошибку:
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 017: undefined symbol "Player"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : warning 215: expression has no effect
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 001: expected token: ";", but found "]"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 029: invalid expression, assumed zero
D:\????? ?????\gamemodes\grandlarc.pwn(111) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Дописывай. Или вырежи до конца с того RP мода, которого ты вырезал.
0

#5
Пользователь офлайн   Matthew 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияTrable (03 ноября 2013 - 03:07) писал:

Ты так классно вырезал *сарказм*. Мне это очень не нравится. Даже не до конца. Боже мой.
Я взял чистый new.pwn и компилятор выдал мне такую ошибку:
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 017: undefined symbol "Player"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : warning 215: expression has no effect
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 001: expected token: ";", but found "]"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 029: invalid expression, assumed zero
D:\????? ?????\gamemodes\grandlarc.pwn(111) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Дописывай. Или вырежи до конца с того RP мода, которого ты вырезал.


Напиши до конца плизз
0

#6
Пользователь офлайн   L.Marat 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Поставлю себе, спасибо!
0

#7
Пользователь офлайн   Detector-Nubov 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Хороший урок
0

#8
Пользователь офлайн   Paul_L 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMatthew (03 ноября 2013 - 02:52) писал:

Кнопки не нажимаюца

Это называеться, руки из жопы. При том, твои.
0

#9
Пользователь офлайн   WILD02RUS 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Я конечно понимаю, что апать древность глупо. Но прошу модераторов перекинуть этот "Урок" в Готовые решения. Пожалуйста...
0

#10
Пользователь офлайн   Star4iK <3 

  • Местный
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияTrable (03 ноября 2013 - 03:07) писал:

Ты так классно вырезал *сарказм*. Мне это очень не нравится. Даже не до конца. Боже мой.
Я взял чистый new.pwn и компилятор выдал мне такую ошибку:
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 017: undefined symbol "Player"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : warning 215: expression has no effect
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 001: expected token: ";", but found "]"
D:\????? ?????\gamemodes\grandlarc.pwn(111) : error 029: invalid expression, assumed zero
D:\????? ?????\gamemodes\grandlarc.pwn(111) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Дописывай. Или вырежи до конца с того RP мода, которого ты вырезал.

Эммм ну во 1-х на чистом new.pwn не сделаешь, т.к. нет определения Player или PlayerInfo.
Регу сделай... омг
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика