Чтобы не занимало много места влепил в офтоп
[offtop]Ну я думаю можно сделать на примере ГанЛик: сначала в enum pInfo:
pLsLic
потом в public OnPlayerConnect(playerid):
PlayerInfo[playerid][pLsLic] = 0;
потом в public OnPlayerRegister(playerid, password[])
format(var, 32, "LsLic=%d\n",PlayerInfo[playerid][pLsLic]);fwrite(hFile, var);
далее в public OnPlayerUpdate(playerid)
format(var, 32, "LsLic=%d\n",PlayerInfo[playerid][pLsLic]);fwrite(hFile, var);
потом в public OnPlayerLogin(playerid,password[])
if( strcmp( key , "LsLic" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLsLic] = strval( val ); }
далее ищеш /givelicense и туда к остальным вставляеш:
else if(strcmp(x_nr,"ls",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givelicense ls [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][pLsLic] = 1;
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этого игрока нет ОнЛайн !");
return 1;
}
далее ищеш /take там к другим вставляеш:
else if(strcmp(x_nr,"ls",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /take ls [playerid/PartOfName]");
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][pLsLic] = 0;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этот игрок далеко от вас !");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Этот игрок в ОфЛайне !");
return 1;
}
}
ну и в /licenses добавляеш всо по аналогии с лругими:
if(PlayerInfo[playerid][pLsLic]) { text6 = " Есть "; } else { text6 = " Нет "; }
(и чуть ниже)
format(string, sizeof(string), "** Удостоверение на проживание в ЛС: %s.", text6);
SendClientMessage(playerid, COLOR_GREY, string);
по той же форме в /showlicense
if(PlayerInfo[playerid][pLsLic]) { text6 = " Есть "; } else { text6 = " Нет "; }
format(string, sizeof(string), "** Удостоверение на проживание в ЛС: %s.", text6);
SendClientMessage(giveplayerid, COLOR_GREY, string);
потом в public OnPlayerRename(name[],string[],playerid)
format(var, 32, "LsLic=%d\n",PlayerInfo[playerid][pLsLic]);fwrite(hFile, var);
ну если не прально то я еще недостаточно набрался маленького опыта
(1 раз подсказываю)[/offtop]