if( strcmp( key , "GruzLicense" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGruzLic] = strval( val ); }
далее находим
Code
public OnPlayerUpdateEx
и прописываем:
Code
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var);//записываем в файл
потом создаём
Code
public GruzLicensecar(carid):
Code
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; //это означает ид авто как бы на нём ты не сможешь ездить если у тебя нету прав на грузовики,вы можете туда добавить свои ид авто ну я там прописал все грузовые авто кроме фургонов))
далее ищем
Code
if(newstate == PLAYER_STATE_DRIVER)
и прописываем там:
Code
if(GruzLicensecar(newcar)) { if(PlayerInfo[playerid][pGruzLic] != 1) { SendClientMessage(playerid, COLOR_YELLOW, "У вас нет прав на грузовой транспорт."); RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid, 1); } }
в
Code
public OnPlayerCommandText
ищешь твою команду /agl(для администраторов) и приписываешь:
Code
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; } }
Это мы создали команду для админа теперь давайте создадим для самого лицензера Ищем команду "/givelicense" и прописываем там следующее:
Вот ещё комманда чтобы эти права можно было купить в аш: Находите
Code
public OnPlayerCommandText
и прописываете там:
Code
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; }
потом находите
Code
public OnPlayerPickUpPickup(playerid, pickupid)
и прописываете под примерно такой же так сказать коммандой:
Code
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); }