РУССКИЙ ДРИФТ СЕРВЕР ЗАХОДИ!!![0.3E]
Привет, гость!
Конечно можешь остаться Гостем, но будет лучше если ты войдешь
или зарегистрируешься!



Наш IP: 149.154.67.146:7841
 
ФорумФорум  КалендарьКалендарь  ЧаВоЧаВо  РегистрацияРегистрация  ВконтактеВконтакте  ВходВход  

Поделиться | 
 

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

Перейти вниз 
АвторСообщение
Admin
Администратор
Администратор
avatar

Сообщения : 73
Дата регистрации : 2012-03-16
Возраст : 24
Откуда : Украина

СообщениеТема: [Урок] Создание лицензии на грузовые Авто   Ср Апр 04, 2012 1:54 pm

дабавьте ко всем forward:
Код:
Код:
forward GruzLicensecar(carid); 

Код:
pGruzLic//это будет как бы лицензия на грузовой транспорт 
в enum pInfo добавляем: 
PHP код:
Код:
pGruzLic,//этим самым мы создаём переменную 
далее в public OnPlayerConnect дабавляем:
Код:
PlayerInfo[playerid][pGruzLic] = 0;//этим мы обозначяем переменную и при коннекте игрока она равна 0 
дальше в public OnPlayerRegister дабавляем
Код:
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var); 
после в public OnPlayerLogin прочитываем из файла данную переменную:
Код:
if( strcmp( key , "GruzLicense" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGruzLic] = strval( val ); } 

далее находим public OnPlayerUpdateEx и прописываем:
Код:
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var);//записываем в файл 
потом создаём
Код:
public GruzLicensecar(carid):


Код:
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) и прописываем там:
Код:
if(GruzLicensecar(newcar)) 

    if(PlayerInfo[playerid][pGruzLic] != 1) 
    { 
        SendClientMessage(playerid, COLOR_YELLOW, "У вас нет прав на грузовой транспорт."); 
        RemovePlayerFromVehicle(playerid); 
        TogglePlayerControllable(playerid, 1); 
    } 
Код:
в public OnPlayerCommandText ищешь твою команду /agl(для администраторов) и приписываешь:

Код:
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; 
    } 

Код:
[color=blue]Это мы создали комманду для админа теперь давайте создадим для самого лицензера  [/color]
Код:
Ищем команду "/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; 
    } 
В этой же комманде находите:
Код:
SendClientMessage(playerid, COLOR_WHITE, "Наименования: Driving, Flying, Sailing, Fishing");//После Fishing напишите ,Gruzlic 

Вот ещё комманда чтобы эти права можно было купить в аш:
Находите public OnPlayerCommandText и прописываете там:
Код:
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) и прописываете под примерно такой же так сказать коммандой:
Код:
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); 


Вернуться к началу Перейти вниз
http://freemode.forum2x2.com
 
[Урок] Создание лицензии на грузовые Авто
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Интернет-дневники.
» Ссылки на шашечные файлы.
» X Чемпионат Беларуси по шашечной композиции
» Композиторы и шашисты России 19-го начала 20-го века.
» Мудрость приходит с возрастом, но иногда возраст приходит один!

Права доступа к этому форуму:Вы не можете отвечать на сообщения
РУССКИЙ ДРИФТ СЕРВЕР ЗАХОДИ!!![0.3E] :: Мануалы/Уроки-
Перейти: