Код:
Вот вообщем команда для выдачи мед карты.Ну что сказать это повысит Рп, я так думаю.Выдать ее могут только медики.Начнем Добавляем сначало ко всем define цвет #define COLOR_ISPOLZUY 0x7FB151FF Теперь в pinfo добавим pMedCard, в public OnPlayerConnect добавим PlayerInfo[playerid][pMedCard] = 0; Затем сделаем сохранение В public OnPlayerRegister добавим format(var, 32, "MedCard=%d\n",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); В public OnPlayerUpdate или в public SavePlayer добавим format(var, 32, "MedCard=%d\n",PlayerInfo[playerid][pMedCard]);fwrite(hFile, var); В public OnPlayerLogin добавим if( strcmp( key , "MedCard" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMedCard] = strval( val ); } Теперь добавим команды для мед карты добавляем в public OnPlayerCommandText if(strcmp(cmd, "/givemedcard", true) == 0) { if(PlayerInfo[playerid][pLeader] != 4 || PlayerInfo[playerid][pMember] != 4 && PlayerInfo[playerid][pRank] < 17) return SendClientMessage(playerid, COLOR_RED, "** Вы не медик или же вы младше 17 ранга !"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "* Используйте: /givemedcard [ид игрока]"); new plo; plo = ReturnUser(tmp); if(!IsPlayerConnected(plo)) return SendClientMessage(playerid, COLOR_RED, "Этот игрок оффлайн!"); if(plo != INVALID_PLAYER_ID) { PlayerInfo[giveplayerid][pMedCard] = 1; // by BАSE-GАMES.ru 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); format(string, sizeof(string), "* Доктор %s выдал Мед.Карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string, sizeof(string), "* Доктор %s выдал Медицинскую Карту %s",sendername,giveplayer); SendRadioMessage(4,COLOR_LIGHTRED ,string); } return 1; } И последнюю команду тоже в public OnPlayerCommandText if(strcmp(cmd,"/showmedcard",true)==0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_ISPOLZUY,"* Используйте /showmedcard [ид]"); new target = strval(tmp); new text1[120]; if(!IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_RED, "* Этот игрок оффлайн"); if(GetDistanceBetweenPlayers(playerid,target) > 2) return SendClientMessage(playerid, COLOR_RED, "* Нет ни кого рядом"); if(PlayerInfo[playerid][pMedCard]) { text1 = "Пройден"; } else { text1 = "Не пройден"; } GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(target, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "{FFFFFF}Медицинский Осмотр {D8F600}%s {FFFFFF}: {D8F600}%s",sendername, text1); ShowPlayerDialog(target,7587,DIALOG_STYLE_MSGBOX,"Медицинская карта",string,"Ок",""); format(string, sizeof(string), "* %s показывает свою медицинскую карту %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 1; }
Это для GF мода