• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Урок по созданию лицензий A,B,С ( полезно для РП серверов)
Serega_ShiniwolfДата: Вторник, 01.02.2011, 15:56:43 | Сообщение # 1

Группа: Пользователи
Сообщений: 45
В этом уроке я научу вас создавать категории лицензий A,B,C .
Эту систему я вырезал одного мода и переделал...
В enum pInfo добавляем:
Code
pCarLicA,  
pCarLicB,  
pCarLicC,

Потом ищем if(newstate == PLAYER_STATE_DRIVER)
И добавляем:
Code
else  
    {  
     if(IsACarA(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicA] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 3)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории А!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }  
     else if(IsACarB(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicB] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 5)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории B!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }  
     else if(IsACarC(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicC] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 5)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории C!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }

Потом идем в конец мода
И добавляем:
[code]IsACarA(carid)//Лицензии категории A
{
new m = GetVehicleModel(carid);
if(m==441
||m==461
||m==463
||m==468
||m==471
||m==521
||m==522
||m==523
||m==586
||m==581)
{
return 1;
}
return 0;
}

IsACarB(carid)//Лицензии категории B
{
new m = GetVehicleModel(carid);
if((m>=400&&m<=405)
||((m>=409&&m<=426)&& m!=414 && m!=417 && m!=425)
||m==429
||m==434
||m==436
||m==438
||m==439
||m==440
||m==442
||m==445
||m==449
||m==451
||m==458
||m==459
| |m==466
||m==467
||m==468
||m==470
||m==474
||m==475)
{
return 1;
}
else if(m==477
||m==478
||m==479
||m==480
||m==482
||m==483
||m==485
||((m>=489 && m<=496) && m!=493)
||m==500
||(m>=502&&m<=507)
||m==516
||m==517
||m==518
||(m>=526&&m<=530)
||(m>=533&&m<=536)
||((m>=540&&m<=551) && m!=544 && m!=548)
||m==554
||m==555
||(m>=558&&m<=562)
||(m>=565&&m<=568))
{
return 1;
}
else if(m==572
||m==574
||m==575
||m==576
||m==579
||m==580
||m==582
||m==585
||m==587
||m==589
||m==596
||m==597
||m==59 8
||m==599
||m==600
||(m>=602 && m<=605))
{
return 1;
}
return 0;
}

Добавлено (01.02.2011, 15:56)
---------------------------------------------
IsACarC(carid)//Лицензии категории C
{
new m = GetVehicleModel(carid);
if(m==403
||m==406
||m==407
||m==432
||m==408
||m==414
||m==423
||m==428
||m==431
||m==433
||m==437
||m==443
||m= =444
||m==455
||m==456
||m==486
||m==498
||m==499
||m==508
||m==514
||m==515
||m==524
||m==525
||m==537
||m==538
| |m==552
||m==556
||m==557
||m==573
||m==578
||m==583
||m==588
||m==601
||m==609
||m==427
||m==531
||m==539
||m==544
| |m==564)
{
return 1;
}
return 0;
}[/code]
Теперь идем в саму команду...
Находим в if(strcmp(cmd, "/givelicense",
Такие строки:
(У меня такие строки а у вас может быть немного другие :) )

Code
else if(strcmp(x_nr,"driving",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /agl Driverslicense [ид]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), "* You've given a Driving License to %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), "* Admin %s has given you a Driving License.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLic] = 1;  
               return 1;  
        }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   That player is Offline !");  
           return 1;  
       }  
      }

И заменяем на
Code
if(strcmp(x_nr,"drivingA",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingA [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               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][pCarLicA] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }  
      if(strcmp(x_nr,"drivingB",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingB [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), " * Вы выдали водительские права категории B игроку %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), " * Инструктор %s выдал вам водительские права категории B.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLicB] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }  
      if(strcmp(x_nr,"drivingC",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingC [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), " * Вы выдали водительские права категории C игроку %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), " * Инструктор %s выдал вам водительские права категории C.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLicC] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }

Добавлено (01.02.2011, 15:56)
---------------------------------------------
Теперь ищем команду для отбора лицензий.
У меня например if(strcmp(cmd, "/take" у вас можеть быть другая команда например if(strcmp(cmd, "/atake" ...
И в самой команде находим:
(у вас можеть быть немного по другому)...

Code
  /*if(strcmp(x_nr,"driverslicense",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /take driverslicense [ид]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               if (ProxDetectorS(8.0, playerid, giveplayerid))  
         {  
                format(string, sizeof(string), "* Вы лишили %s Лицензии Водителя.", giveplayer);  
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
                format(string, sizeof(string), "* %s лишил вас Лицензии Водителя.", sendername);  
                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
                PlayerInfo[giveplayerid][pCarLic] = 0;  
         }  
         else  
         {  
             SendClientMessage(playerid, COLOR_RED, "** Этот игрок не возле Вас !");  
             return 1;  
         }  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_RED, "** Этого игрока нету на сервере !");  
           return 1;  
       }  
      }*/

И заменяем на:
Code
if(strcmp(x_nr,"drivingA",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingA [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         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][pCarLicA] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }  
      else if(strcmp(x_nr,"drivingB",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingB [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
            format(string, sizeof(string), " * Вы забрали у %s водительские права категории B.", giveplayer);  
            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
            format(string, sizeof(string), " * Админ %s забрал у вас водительские права категории B.", sendername);  
            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
            PlayerInfo[giveplayerid][pCarLicB] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }  
      else if(strcmp(x_nr,"drivingC",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingC [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
            format(string, sizeof(string), " * Вы забрали у %s водительские права категории C.", giveplayer);  
            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
            format(string, sizeof(string), " * Админ %s забрал у вас водительские права категории C.", sendername);  
            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
            PlayerInfo[giveplayerid][pCarLicC] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }

Вот и система лицензий готова 11
======================================================================
A - лицензия на мотоциклы.
B - лицензия на легковые автомобили.
C - лицензия на тяжелые автомобили(грузовики,танки...).
======================================================================


[color=red][i][b]Мои Разроботки![/b][/i][/color]
[b][i][FS] Just Click Admin 3 %100
[GM] Original Gangster Life v.2.7.9 %100
[GM] Game World v.1.0.0 %32[/i][/b]
 
СообщениеВ этом уроке я научу вас создавать категории лицензий A,B,C .
Эту систему я вырезал одного мода и переделал...
В enum pInfo добавляем:
Code
pCarLicA,  
pCarLicB,  
pCarLicC,

Потом ищем if(newstate == PLAYER_STATE_DRIVER)
И добавляем:
Code
else  
    {  
     if(IsACarA(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicA] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 3)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории А!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }  
     else if(IsACarB(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicB] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 5)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории B!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }  
     else if(IsACarC(newcar))  
     {  
      if(PlayerInfo[playerid][pCarLicC] == 0)  
      {  
       if(PlayerDrunk[playerid] >= 5)  
       {  
        WantedPoints[playerid] += 1;  
        SetPlayerCriminal(playerid,255, " Вождение в нетрезвом состоянии ");  
       }  
       if(TakingLesson[playerid] != 1)  
       {  
        SendClientMessage(playerid, COLOR_GREY, "* У вас нет лицензии на управление транспортом категории C!");  
        RemovePlayerFromVehicle(playerid);  
        TogglePlayerControllable(playerid,1);  
       }  
      }  
     }

Потом идем в конец мода
И добавляем:
[code]IsACarA(carid)//Лицензии категории A
{
new m = GetVehicleModel(carid);
if(m==441
||m==461
||m==463
||m==468
||m==471
||m==521
||m==522
||m==523
||m==586
||m==581)
{
return 1;
}
return 0;
}

IsACarB(carid)//Лицензии категории B
{
new m = GetVehicleModel(carid);
if((m>=400&&m<=405)
||((m>=409&&m<=426)&& m!=414 && m!=417 && m!=425)
||m==429
||m==434
||m==436
||m==438
||m==439
||m==440
||m==442
||m==445
||m==449
||m==451
||m==458
||m==459
| |m==466
||m==467
||m==468
||m==470
||m==474
||m==475)
{
return 1;
}
else if(m==477
||m==478
||m==479
||m==480
||m==482
||m==483
||m==485
||((m>=489 && m<=496) && m!=493)
||m==500
||(m>=502&&m<=507)
||m==516
||m==517
||m==518
||(m>=526&&m<=530)
||(m>=533&&m<=536)
||((m>=540&&m<=551) && m!=544 && m!=548)
||m==554
||m==555
||(m>=558&&m<=562)
||(m>=565&&m<=568))
{
return 1;
}
else if(m==572
||m==574
||m==575
||m==576
||m==579
||m==580
||m==582
||m==585
||m==587
||m==589
||m==596
||m==597
||m==59 8
||m==599
||m==600
||(m>=602 && m<=605))
{
return 1;
}
return 0;
}

Добавлено (01.02.2011, 15:56)
---------------------------------------------
IsACarC(carid)//Лицензии категории C
{
new m = GetVehicleModel(carid);
if(m==403
||m==406
||m==407
||m==432
||m==408
||m==414
||m==423
||m==428
||m==431
||m==433
||m==437
||m==443
||m= =444
||m==455
||m==456
||m==486
||m==498
||m==499
||m==508
||m==514
||m==515
||m==524
||m==525
||m==537
||m==538
| |m==552
||m==556
||m==557
||m==573
||m==578
||m==583
||m==588
||m==601
||m==609
||m==427
||m==531
||m==539
||m==544
| |m==564)
{
return 1;
}
return 0;
}[/code]
Теперь идем в саму команду...
Находим в if(strcmp(cmd, "/givelicense",
Такие строки:
(У меня такие строки а у вас может быть немного другие :) )

Code
else if(strcmp(x_nr,"driving",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /agl Driverslicense [ид]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), "* You've given a Driving License to %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), "* Admin %s has given you a Driving License.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLic] = 1;  
               return 1;  
        }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   That player is Offline !");  
           return 1;  
       }  
      }

И заменяем на
Code
if(strcmp(x_nr,"drivingA",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingA [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               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][pCarLicA] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }  
      if(strcmp(x_nr,"drivingB",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingB [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), " * Вы выдали водительские права категории B игроку %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), " * Инструктор %s выдал вам водительские права категории B.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLicB] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }  
      if(strcmp(x_nr,"drivingC",true) == 0)  
      {  
                tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp))  
       {  
           SendClientMessage(playerid, COLOR_WHITE, " * Использование: /givelicense drivingC [playerid/PartOfName]");  
           return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               GetPlayerName(playerid, sendername, sizeof(sendername));  
               GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
                  format(string, sizeof(string), " * Вы выдали водительские права категории C игроку %s.",giveplayer);  
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
               format(string, sizeof(string), " * Инструктор %s выдал вам водительские права категории C.",sendername);  
               SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
               PlayerInfo[giveplayerid][pCarLicC] = 1;  
               return 1;  
              }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, " * Такого игрока нет!");  
           return 1;  
       }  
      }

Добавлено (01.02.2011, 15:56)
---------------------------------------------
Теперь ищем команду для отбора лицензий.
У меня например if(strcmp(cmd, "/take" у вас можеть быть другая команда например if(strcmp(cmd, "/atake" ...
И в самой команде находим:
(у вас можеть быть немного по другому)...

Code
  /*if(strcmp(x_nr,"driverslicense",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /take driverslicense [ид]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
               if (ProxDetectorS(8.0, playerid, giveplayerid))  
         {  
                format(string, sizeof(string), "* Вы лишили %s Лицензии Водителя.", giveplayer);  
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
                format(string, sizeof(string), "* %s лишил вас Лицензии Водителя.", sendername);  
                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
                PlayerInfo[giveplayerid][pCarLic] = 0;  
         }  
         else  
         {  
             SendClientMessage(playerid, COLOR_RED, "** Этот игрок не возле Вас !");  
             return 1;  
         }  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_RED, "** Этого игрока нету на сервере !");  
           return 1;  
       }  
      }*/

И заменяем на:
Code
if(strcmp(x_nr,"drivingA",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingA [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         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][pCarLicA] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }  
      else if(strcmp(x_nr,"drivingB",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingB [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
            format(string, sizeof(string), " * Вы забрали у %s водительские права категории B.", giveplayer);  
            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
            format(string, sizeof(string), " * Админ %s забрал у вас водительские права категории B.", sendername);  
            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
            PlayerInfo[giveplayerid][pCarLicB] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }  
      else if(strcmp(x_nr,"drivingC",true) == 0)  
      {  
          tmp = strtok(cmdtext, idx);  
       if(!strlen(tmp)) {  
        SendClientMessage(playerid, COLOR_WHITE, "  Использование: /take drivingC [playerid/PartOfName]");  
        return 1;  
       }  
       giveplayerid = ReturnUser(tmp);  
       if(IsPlayerConnected(giveplayerid))  
       {  
           if(giveplayerid != INVALID_PLAYER_ID)  
           {  
         GetPlayerName(playerid, sendername, sizeof(sendername));  
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));  
            format(string, sizeof(string), " * Вы забрали у %s водительские права категории C.", giveplayer);  
            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);  
            format(string, sizeof(string), " * Админ %s забрал у вас водительские права категории C.", sendername);  
            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);  
            PlayerInfo[giveplayerid][pCarLicC] = 0;  
           }  
       }  
       else  
       {  
           SendClientMessage(playerid, COLOR_GREY, "   Игрок оффлайн !");  
           return 1;  
       }  
      }

Вот и система лицензий готова 11
======================================================================
A - лицензия на мотоциклы.
B - лицензия на легковые автомобили.
C - лицензия на тяжелые автомобили(грузовики,танки...).
======================================================================

Автор - Serega_Shiniwolf
Дата добавления - 01.02.2011 в 15:56:43
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

ps798829

(Среда 08:23:47)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

Вверх
14:09:38
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: