Перейти к содержанию
Авторизация  
#Bazuka

Система голода

Рекомендуемые сообщения

#Bazuka

Привет всем

ИНФОРМАЦИЯ!:

Хочу предоставить систему голода,но можно делать не на include...

И не надо говорить,что у меня нечего не получается (Я ЛИЧНО проверил на трех модах и работает всё отлично проверял на сервере Домик в деревне,Gamer и еще какой-то там)

Система для RolePlay(25%) and Drift и.т.д

Для новичков нормально,для профи/любителя простая и не очень нужная,но можно сделать и лучше 

Автор: Неизвестно (Не было указано),но работу выложил 'Dmitriy'

Автор доработки: Я (Artem_Balaxnin)

Суть доработки:

1.Player использовал данный пользователь,но у многих стоит 'PlayerInfo' 

2.Скриншот (Просто для удобство как бы обновил,что данная система или же мануал в рабочем состоянии)

3.Добавил полностью сохранение

4.Оптимизировал код

==================

Скоро сделаю новую,но уже мою без include,более нормальный TexDraw,без всяких таймеров + готовое к примеру в ресторане для пополнение HP и лайки.

 

dbGFqvO.png

 

Начнем:

Сначала качаем сам Include

https://yadi.sk/d/k50H6sIsqMphD

Ко всем #include 

#include <progress>

Ко всем #define

#define W "{f9d968}"

Цвет можно и заменить на свой

Цвета:

http://chatpages.ru/chat/color/color.html

Ко всем fowrad

forward Golodtime();

Ко всем переменным ( new )

new golods[MAX_PLAYERS];
new Bar:GolodBar[MAX_PLAYERS];

К массивом pinfo добавляем (Лучше всего добавляйте в самый конец): Потом объясню как нибудь

pGolod,

В public OnPlayerConnect(playerid) или просто OnPlayerConnect (Смотря какой мод)

PlayerInfo[playerid][pGolod] = 100;
GolodBar[playerid] = CreateProgressBar(499.00, 103.00, 106.50, 4.19, -10079233, 100.0);
ShowProgressBarForPlayer(playerid, GolodBar[playerid]);

В public OnPlayerDeath(playerid, killerid, reason)

PlayerInfo[playerid][pGolod] = 50;
SetProgressBarValue(GolodBar[playerid], PlayerInfo[playerid][pGolod]);
UpdateProgressBar(GolodBar[playerid], playerid);

В public OnGameModeInit() (Время на -1 единицу можно изменить если хотите)

SetTimer("Golodtime",1000*60,true);

В конец мода 

public Golodtime()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(golods[i] == 30)
		{
		switch(PlayerInfo[i][pGolod])
		{
			case 30: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"30{ffffff} процентов.Перекусите или вы попадете в больницу.");
			case 15: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"15{ffffff} процентов.Перекусите или вы попадете в больницу.");
			case 10: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"10{ffffff} процентов.Перекусите или вы попадете в больницу.");
			case 5: SendClientMessage(i, COLOR_WHITE, ""W"[Предупреждение]{FFFFFF}Ваш голод состовляет "W"5{ffffff} процентов.Перекусите или вы попадете в больницу.");
		}
		if(PlayerInfo[i][pGolod] <= 0) SetPlayerHealth(i, 0);
		PlayerInfo[i][pGolod] -= 1;
		SetProgressBarValue(GolodBar[i], PlayerInfo[i][pGolod]);
		UpdateProgressBar(GolodBar[i], i);
		golods[i] = 0;
		}
		else golods[i]++;
	}
	return true;
}

В public OnPlayerRename(name[],string[],playerid)

format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var);

или

ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); 

В public OnPlayerRegister(playerid, password[])

ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); 

ИЛИ

format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var); 

В public OnPlayerUpdate_GF() или public OnPlayerUpdate

ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); 

Или

format(var, 32, "GOLOD=%d\n",PlayerInfo[playerid][pGolod]);fwrite(hFile, var); 

В public OnPlayerLoginer(playerid)

ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); 

Или

if( strcmp( key , "GOLOD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGolod] = strval( val ); } 

В public OnPlayerLogin(playerid,password[])

ini_getInteger(GetFile, "GOLOD", PlayerInfo[playerid][pGolod]); 

Или

if( strcmp( key , "GOLOD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGolod] = strval( val ); } 

P.S: Отредактируйте и добавьте сюда скриншот,если не трудно

Изменено пользователем Mikhail Smolin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Совсем не универсальное решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Bazuka

А я разве говорил про универсальное или же уникальное,ты если читать не умеешь я не виноват,специально сделал для таких как вроде вас 'Информация',ты прочитай,а потом уже рассуждай,а просто так пост набить не надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Predator

Где то я это уже видел...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Bazuka

@Predator, Я давно делал себе на сервер,брал на стороннем портале,а доработка моя,а вот если ты видел на каком то сервере я уже не знаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vlad_Miroshnicov

Старая старая система голода......
И да данная система работает 100%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgasVegas

По мне так легче FS скачать готовый, чем так из паблика в паблик переходить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Можно подключаемым модулем реализовать. INC/отдельный .pwn и плагином с хуком пабликов.

Изменено пользователем std::vector

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.