Доступ к архиву

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

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

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

Создание лицензии на грузовые Авто

Статус
В этой теме нельзя размещать новые ответы.

ppzvovka

Начинающий
Пользователь
Регистрация
15 Ноя 2010
Сообщения
77
Лучшие ответы
0
Репутация
92
дабавьте ко всем forward:
Код:
PHP:
forward GruzLicensecar(carid);
PHP:
pGruzLic//это будет как бы лицензия на грузовой транспорт  
в enum pInfo добавляем:
PHP код:
PHP:
pGruzLic,//этим самым мы создаём переменную
далее в public OnPlayerConnect дабавляем:

PHP:
PlayerInfo[playerid][pGruzLic] = 0;//этим мы обозначяем переменную и при коннекте игрока она равна 0
дальше в public OnPlayerRegister дабавляем

PHP:
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var);
после в public OnPlayerLogin прочитываем из файла данную переменную:

PHP:
if( strcmp( key , "GruzLicense" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGruzLic] = strval( val ); }
далее находим public OnPlayerUpdateEx и прописываем:

PHP:
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var);//записываем в файл
потом создаём
PHP:
public GruzLicensecar(carid):
PHP:
public GruzLicensecar(carid) 
{ 
new model=GetVehicleModel(carid); 
switch(model) 
{ 
case 403: return 1; 
case 406: return 1; 
case 408: return 1; 
case 414: return 1; 
case 427..428: return 1; 
case 433: return 1; 
case 443: return 1; 
case 455..456: return 1; 
case 486: return 1; 
case 498..499: return 1; 
case 508: return 1; 
case 514..515: return 1; 
case 524: return 1; 
case 531..532: return 1; 
case 572..573: return 1; 
case 578: return 1; 
case 601: return 1; 
case 609: return 1; 
default: return 0; 
} 
return 0;  
}
case 403: return 1; //это означает ид авто как бы на нём ты не сможешь ездить если у тебя нету прав на грузовики,вы можете туда добавить свои ид авто ну я там прописал все грузовые авто кроме фургонов))
далее ищем if(newstate == PLAYER_STATE_DRIVER) и прописываем там:

PHP:
if(GruzLicensecar(newcar)) 
{ 
    if(PlayerInfo[playerid][pGruzLic] != 1) 
    { 
        SendClientMessage(playerid, COLOR_YELLOW, "У вас нет прав на грузовой транспорт."); 
        RemovePlayerFromVehicle(playerid); 
        TogglePlayerControllable(playerid, 1); 
    } 
}
PHP:
в public OnPlayerCommandText ищешь твою команду /agl(для администраторов) и приписываешь:
PHP:
else if(strcmp(x_nr,"gruzlic",true) == 0) 
{ 
    tmp = strtok(cmdtext, idx); 
    if(!strlen(tmp)) 
    { 
        SendClientMessage(playerid, COLOR_WHITE, "[Info]: /agl gruzlic [ID игрока/имя_Фамилия]"); 
        return 1; 
    } 
    giveplayerid = ReturnUser(tmp); 
    if(IsPlayerConnected(giveplayerid)) 
    { 
        if(giveplayerid != INVALID_PLAYER_ID) 
        { 
            if(PlayerInfo[giveplayerid][pPassport] == 1)//это проверка на пасспорт 
            { 
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); 
                format(string, sizeof(string), "Вы дали лицензию %s на управление грузовым транспортом.",giveplayer, giveplayerid); 
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string); 
                format(string, sizeof(string), "Модератор %s выдал вам лицензию на управление грузовым транспортом.",sendername); 
                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); 
                PlayerInfo[giveplayerid][pGruzLic] = 1; 
                return 1; 
            } 
            else 
            { 
                SendClientMessage(playerid, COLOR_GREY, "У этого игрока нет пасспорта."); 
                return 1; 
            } 
        } 
    } 
    else 
    { 
        SendClientMessage(playerid, COLOR_GREY, "Этот игрок не в игре!"); 
        return 1; 
    } 
}
PHP:
Это мы создали комманду для админа теперь давайте создадим для самого лицензера
PHP:
Ищем команду "/givelicense" и прописываем там следущее:
PHP код:
else if(strcmp(x_nr,"gruzlic",true) == 0) 
{ 
    tmp = strtok(cmdtext, idx); 
    if(!strlen(tmp)) 
    { 
        SendClientMessage(playerid, COLOR_WHITE, "Используйте: /givelicense gruzlic [ID игрока/ 
Имя_Фамилия] [цена]"); 
        return 1; 
    } 
    giveplayerid = ReturnUser(tmp); 
    if(IsPlayerConnected(giveplayerid)) 
    { 
        if(giveplayerid != INVALID_PLAYER_ID) 
        { 
            if(PlayerInfo[giveplayerid][pPassport] == 1) 
            { 
                tmp = strtok(cmdtext, idx); 
                if(!strlen(tmp)) 
                { 
                    SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /givelicense gruzlic [ID игрока/Имя_Фамилия] [цена]"); 
                    return 1; 
                } 
                new price; 
                price = strval(tmp); 
                if(price < 200 || price > 2000) { SendClientMessage(playerid, COLOR_GREY, "Цена должна быть от 200 до 2000!"); return 1; } 

                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); 
                format(string, sizeof(string), "Вы выдали водительские права на грузовые авто игроку %s.",giveplayer); 
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string); 
                format(string, sizeof(string), "Инструктор %s выдал вам лицензию на вождение грузовых авто.",sendername); 
                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); 
                PlayerInfo[giveplayerid][pGruzLic] = 1; 
                format(string, sizeof(string), "Bы протянули %s чек на сумму $%d .", giveplayer, price); 
                SendClientMessage(playerid, COLOR_WHITE, string); 
                format(string, sizeof(string), "%s подал вам чек на сумму $%d, (используйте /accept license) чтобы купить.", sendername, price); 
                SendClientMessage(giveplayerid, COLOR_WHITE, string); 
                LicenseOffer[giveplayerid] = playerid; 
                LicensePrice[giveplayerid] = price; 
                LicenseType[giveplayerid] = 1; 
                return 1; 
            } 
            else 
            { 
                SendClientMessage(playerid, COLOR_GREY, "У этого игрока нету паспорта!"); 
                return 1; 
            } 
        } 
    } 
    else 
    { 
        SendClientMessage(playerid, COLOR_GREY, "Этот игрок не в игре!"); 
        return 1; 
    } 
}
В этой же комманде находите:

PHP:
SendClientMessage(playerid, COLOR_WHITE, "Наименования: Driving, Flying, Sailing, Fishing");//После Fishing напишите ,Gruzlic
Вот ещё комманда чтобы эти права можно было купить в аш:
Находите public OnPlayerCommandText и прописываете там:

PHP:
if(strcmp(cmd, "/buygruzlic", true) == 0) 
{ 
    if(UsedCom[playerid]>0) return SendClientMessage(playerid, COLOR_WHITE, "Ввод команды разрешон раз в 1 секунду") 
    if(IsPlayerConnected(playerid)) 
    { 
        if(IsPlayerInRangeOfPoint(playerid, 3,1490.3195,1305.6976,1093.2964)) 
        { 
            if(PlayerInfo[playerid][pGruzLic] == 0) 
            { 
                if(GetPlayerMoney(playerid) < 4500) 
                { 
                    SendClientMessage(playerid, COLOR_GREY, "У вас нет достаточно денег, для покупки этой лицензии"); 
                    return 1; 
                } 
                else 
                { 
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы купили водительские права на грузовые авто, за $4, 500"); 
                    SafeGivePlayerMoney(playerid, - 4500); 
                    PlayerInfo[playerid][pGruzLic] = 1; 
                    OnPlayerUpdateEx(playerid); 
                    new y, m, d; 
                    new h,mi,s; 
                    getdate(y,m,d); 
                    gettime(h,mi,s); 
                    format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [Использовал команду] -> /buygruzlic",d,m,y,h,mi,s,sendername); 
                    CommandLog(string); 
                } 
            } 
            else 
            { 
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "У вас уже есть водительские права на грузовые авто"); 
                return 1; 
            } 
        } 
    } 
    UsedCom[playerid]=1; 
    return 1; 
}
потом находите public OnPlayerPickUpPickup(playerid, pickupid) и прописываете под примерно такой же так сказать коммандой:

PHP:
if ( pickupid == license_pu2 ) 
{ 
    GameTextForPlayer(playerid, "~y~You can get a ~r~Gruzlic license ~n~~w~Type /buygruzlic to get a license ~n~~r~(Costs: 4 000 $)", 5000, 3); 
}
Автор: Nik_Hooliga
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу