- Регистрация
- 15 Ноя 2010
- Сообщения
- 77
- Лучшие ответы
- 0
- Репутация
- 92
дабавьте ко всем forward:
Код:
PHP код:
далее в public OnPlayerConnect дабавляем:
дальше в public OnPlayerRegister дабавляем
после в public OnPlayerLogin прочитываем из файла данную переменную:
далее находим public OnPlayerUpdateEx и прописываем:
потом создаём
case 403: return 1; //это означает ид авто как бы на нём ты не сможешь ездить если у тебя нету прав на грузовики,вы можете туда добавить свои ид авто ну я там прописал все грузовые авто кроме фургонов))
далее ищем if(newstate == PLAYER_STATE_DRIVER) и прописываем там:
В этой же комманде находите:
Вот ещё комманда чтобы эти права можно было купить в аш:
Находите public OnPlayerCommandText и прописываете там:
потом находите public OnPlayerPickUpPickup(playerid, pickupid) и прописываете под примерно такой же так сказать коммандой:
Автор: Nik_Hooliga
Код:
PHP:
forward GruzLicensecar(carid);
PHP:
pGruzLic//это будет как бы лицензия на грузовой транспорт
в enum pInfo добавляем:
PHP:
pGruzLic,//этим самым мы создаём переменную
PHP:
PlayerInfo[playerid][pGruzLic] = 0;//этим мы обозначяем переменную и при коннекте игрока она равна 0
PHP:
format(var, 128, "GruzLicense=%d\n",PlayerInfo[playerid][pGruzLic]);fwrite(hFile, var);
PHP:
if( strcmp( key , "GruzLicense" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGruzLic] = strval( val ); }
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;
}
далее ищем 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;
}
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);
}