Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система медицинской карты

Статус
В этой теме нельзя размещать новые ответы.
Добрый день уважаемые форумщики Pawno-Info.ru
Сегодня я покажу как сделать простенькую медицинскую карту.
Автор: Я.
И так, приступим.


В enum pInfo

PHP:
pMedcard,
В public OnPlayerRegister

PHP:
ini_setInteger(File,"MedCard",PlayerInfo[playerid][pMedcard]);
В public OnPlayerLogin(playerid,password[])

PHP:
ini_getInteger(File,"MedCard",PlayerInfo[playerid][pMedcard]);
В public SavePlayer(playerid)

PHP:
ini_setInteger(File,"MedCard",PlayerInfo[playerid][pMedcard]);
Теперь команды:
В public OnPlayerCommandText(playerid, cmdtext[])


PHP:
else if(strcmp(cmd, "/medcard", true) == 0)
    {
        if(PlayerInfo[playerid][pMember]!=22) return SendMe(playerid, CGRADD, "Вы не медицинский работник."); //Ставим свой ид фракции медиков, у меня это будет к примеру 22
        if(PlayerInfo[playerid][pRank] < 3) return SendMe(playerid,CGRADD, "Данная команда доступна с 3 ранга"); //Можете поставить на свой ранг по желанию
        giveplayerid = ReturnUser(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
        SendMe(playerid, 0xFFFFFFFF, "Подсказка: /medcard [ID]");
        return true;
        }
        giveplayerid = ReturnUser(tmp);
        if (!IsPlayerConnected(giveplayerid)) return SendMe(playerid, CGRADD, "Игрок с данным ID отсутствует на сервере.");
        if(gPlayerLogged[giveplayerid] == false) return SendMe(playerid, CGRADD, "Данный игрок не вступил в игру.");
        if(!ProxDetectorS(6.0, playerid, giveplayerid)) return    SendMe(playerid, CGRADD, "Вы слишком далеко.");
        if(PlayerInfo[playerid][pMedcard] == 1) return SendMe(playerid,CGRADD, "У данного игрока уже есть мед.карта");
        SendMes(playerid, CBLUEE, "Вы выдали мед.карту ироку %s",GN(giveplayerid));
        SendMes(playerid, 0xFE2E2EFF, "Врач %s выдал Вам мед.карту. Введите {FFFFFF}/med {FE2E2E}чтобы посмотреть её",GN(playerid));
        PlayerInfo[giveplayerid][pMedcard] = 1;
        return true;
    }
	else if(strcmp(cmd,"/med",true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return  	SendMe(playerid, 0xFFFFFFFF, "Подсказка: /med [ID]");
		giveplayerid = ReturnUser(tmp);
		if(!IsPlayerConnected(giveplayerid)) return SendMe(playerid, CGRADD, "Игрок с данным ID отсутствует на сервере.");
		if(GetPlayerState(giveplayerid) == PLAYER_STATE_SPECTATING && gSpectateID[giveplayerid] != INVALID_PLAYER_ID) return SendMe(playerid, CGRADD, "Вы слишком далеко.");
		if (!ProxDetectorS(8.0, playerid, giveplayerid)) return SendMe(playerid, CGRADD, "Вы слишком далеко.");
		new medcards[50];
		switch(PlayerInfo[playerid][pMedcard])
		{
		case 1: { medcards = "{07F72B}Пройден"; }
		case 0: { medcards = "{FE2E2E}Не пройден"; }
		}
		format(string,256,"{FFFFFF}Медицинская карта игрока {0FC284}%s: {FFFFFF}[%s{FFFFFF}]",GN(playerid),medcards);
		SPD(giveplayerid,2,DIALOG_STYLE_MSGBOX, "{30C3F0}Медицинская карта:",string,Ok,"");
		SetPlayerChatBubble(playerid,"показал(а) свою мед.карту",CPURPLE,20.0,10000);
		format(string, sizeof(string), "%s показал(a) свою мед.карту %s'у",GN(playerid) ,GN(giveplayerid));
		ProxDetector(10.0, playerid, string, CPURPLE,CPURPLE,CPURPLE,CPURPLE,CPURPLE);
	}
Для тех кто хочет чтобы выдача мед.карты шла через пикап

Ко всем new
PHP:
new pickupmed;
В public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
else if(pickupid == pickupmed)
	{
		SPD(playerid, 10087, DIALOG_STYLE_MSGBOX, "{FFFFFF}Мед.Карта","{FFFFFF}Вы желаете получить медицинскую карточку?", "Да", "Нет");
		return true;

	}
Ко всем пикапам

PHP:
pickupmed = CreatePickupAC(2894,2,1177.5438,-1318.3257,14.0689); //Тут ставимм свои координаты
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 10087:
		{
			if(!response) return true;
			if(PlayerInfo[playerid][pMedcard] == 1) return SendMes(playerid, 0xFE2E2EFF, "У Вас уже есть медицинская карточка");
            PlayerInfo[playerid][pMedcard] = 1;
            SendMes(playerid, 0xFE2E2EFF, "Вы получили медицинскую карточку. Введите {FFFFFF}/med {FE2E2E}чтобы посмотреть её");
			return true;
		}

На этом всё, если что то не будет хватать или работать, пишите, решим. :)
Или пишите что можно добавить, добавим :bi:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу