Главный редактор форума: Doc-John | Текущая дата: 30.11.2024, 04:56
  • Страница 1 из 1
  • 1
[Урок] Работа детектива
Оффлайн
Суббота, 19.07.2014, 15:24 | Сообщение # 1
Сообщений:
12
2
Здравствуйте, уважаемые форумчане!
В этой теме я научу Вас, как создать работу детектива.

Урок опубликован для SAMP-Портала: ISAMP.3DN.RU.
Автор темы: ARTEM_SKOROBAGACH.

В public OnPlayerCommandText(playerid, cmdtext[]):


Код
if(strcmp(cmd, "/find", true) == 0)    
        {    
            if(IsPlayerConnected(playerid))    
            {    
                if(PlayerInfo [playerid][pJob]!= 1)    
                {    
                    SendClientMessage(playerid, COLOR_RED, "** Вы не работаете детективом!");    
                    return 1;    
                }    
                if(PlayerOnMission [playerid]> 0)    
                {    
                    SendClientMessage(playerid, COLOR_GREY, " На мисси нельзя использовать эту команду !");    
                    return 1;    
                }    
                if(UsedFind [playerid]!= 0 && PlayerInfo [playerid][pDetSkill]< 401)    
                {    
                    SendClientMessage(playerid, COLOR_RED, "** Жди 2 минуты!");    
                    return 1;    
                }    
                tmp = strtok(cmdtext, idx);    
                if(!strlen(tmp))    
                {    
                    SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /find [ид игрока]");    
                    return 1;    
                }    
                giveplayerid = ReturnUser(tmp);    
                if(IsPlayerConnected(giveplayerid))    
                {    
                    if(giveplayerid != INVALID_PLAYER_ID)    
                    {    
                        if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_RED, "** Вы не можете искать самого себя!"); return 1; }    
                        new points;    
                        new level = PlayerInfo[playerid][pDetSkill];    
                        if(level >= 0 && level <= 50)    
                        { points = 4; }    
                        else if(level >= 51 && level <= 100)    
                        { points = 6; }    
                        else if(level >= 101 && level <= 200)    
                        { points = 8; }    
                        else if(level >= 201 && level <= 400)    
                        { points = 10; }    
                        else if(level >= 401)    
                        { points = 12; }    
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));    
                        new Float:X,Float:Y,Float:Z;    
                        GetPlayerPos(giveplayerid, X,Y,Z);    
                        SetPlayerCheckpoint(playerid, X,Y,Z, 6);    
                        FindTime [playerid]= 1;    
                        FindTimePoints [playerid]= points;    
                        PlayerInfo [playerid][pDetSkill]++;    
                        UsedFind [playerid]= 1;    
                        if(PlayerInfo [playerid][pDetSkill]== 50)    
                        { SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 2 Уровня."); }    
                        else if(PlayerInfo [playerid][pDetSkill]== 100)    
                        { SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 3 Уровня."); }    
                        else if(PlayerInfo [playerid][pDetSkill]== 200)    
                        { SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 4 Уровня."); }    
                        else if(PlayerInfo [playerid][pDetSkill]== 400)    
                        { SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 5 Уровня."); }    
                    }    
                }    
                else    
                {    
                    SendClientMessage(playerid, COLOR_GREY, "   Неправельный Ник/ID !");    
                }    
            }    
            return 1;    
        }

В enum pinfo:

Код
pJob,    
pDetSkill,

Ко всем new:

Код
new PlayerOnMission[MAX_PLAYERS];    
new UsedFind[MAX_PLAYERS];    
new FindTimePoints[MAX_PLAYERS];    
new FindTime[MAX_PLAYERS];
Оффлайн
Воскресенье, 01.02.2015, 02:30 | Сообщение # 2
Сообщений:
3
0
авп

Добавлено (01.02.2015, 02:30)
---------------------------------------------
нормально

Оффлайн
Воскресенье, 01.02.2015, 12:41 | Сообщение # 3
Сообщений:
3
0
круто
  • Страница 1 из 1
  • 1
Поиск: