Доступ к архиву

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

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

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

Система репутации для фракций

Статус
В этой теме нельзя размещать новые ответы.

sk.tm_radik

Компетентный
Всем привет, сегодня я вам покажу как сделать систему репутации для фракций.
Идею взял с сервера Orio[N] RPG.
Автор кода я.

Я сделаю лишь основу. Прибавление и убавление репутации сделаете сами. Так как я не знаю где вы хотите сделать это. Я лишь покажу пример как прибавлять и отнимать репутацию.

Важно:

1)В папке scriptfiles не забудьте создать файл Gangstat.ini
2) Переменные заменяйте на свои


1. В начало мода, ко всем new вставляем:
PHP:
new RepaVagos; // Репа фракции Вагос
new RepaCoronos; // Репа фракции Коронос
2. В public OnGameModeExit() вставляем:
PHP:
SaveRepa(); // Сохранение репутации
3. В public OnGameModeInit() вставляем:
PHP:
LoadRepa(); // Загрузка репутации
4. В паблик команд, ну тоесть где ваши команды. У меня допустим это public OnPlayerCommandText. Данная команду нужна для просмотра репутации фракций.
PHP:
if(strcmp(cmd, "/gangstat", true) == 0)
{
        new gg[128]; new banda[500];
	format(gg,sizeof(gg),"\n{ffffff}Репутация банды Los Santos Vagos: {03c03c}%d\n\n",RepaVagos); 
	strcat(banda,gg);
        format(gg,sizeof(gg),"\n{ffffff}Репутация банды EI Coronos: {03c03c}%d\n\n",RepaCoronos); 
	strcat(banda,gg);
        format(gg,sizeof(gg),"Репутации фракций");
        ShowPlayerDialog(playerid,333,DIALOG_STYLE_MSGBOX,gg,banda,"Закрыть","");
        return 1;
}
5.В конец мода вставляем:
PHP:
stock LoadRepa()
{
  	new arrCoords[2][64];
  	new strFromFile2[256];
  	new File: file = fopen("Gangstat.ini", io_read);
  	if(file)
  	{
   		fread(file, strFromFile2);
   		split(strFromFile2, arrCoords, '|');
   		RepaVagos = strval(arrCoords[0]);
   		RepaCoronos = strval(arrCoords[1]);
		fclose(file);
  	}
  	return true;
}
stock SaveRepa()
{
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%d|%d",RepaVagos,RepaCoronos);
    new File: file2 = fopen("Gangstat.ini", io_write); // Подобие %d|%d|%d|%d делать по такому принципу
    fwrite(file2, coordsstring);
    fclose(file2);
    return true;
}
6. Теперь самог главное здесь я вам покажу как прибавлять и убавлять репутацию у фракций.
1) Ну вот допустим у меня в моде есть паблик PayDay. Если лидер получит зарплату то фракция также получить репутацию. Смотрим ниже код.
PHP:
if(PlayerInfo[i][pLeader] == 1) // Проверка на фракцию
{ 
RepaVagos += 5; // Прибавляем репу 
SaveRepa(); // Сохраняем репу
SendClientMessage(i,0x5FE075AA, "Ваша фракции получила +5 репы.");
}
if(PlayerInfo[i][pLeader] == 2) // Проверку на фракцию
{ 
RepaCoronos += 5; // Прибавляем репу
SaveRepa(); // Сохраняем репу
SendClientMessage(i,0x5FE075AA, "Ваша фракции получила +5 репы.");
}
2) Ну а вот теперь я покажу как убавлять репутацию. Ну вот допустим у меня если лидер умрет то фракцию получить -1 репы.
PHP:
if(PlayerInfo[playerid][pLeader] == 1) // Проверку на фракцию
{
RepaVagos -= 1; // Отнимаем репу
SaveRepa(); // Сохраняем репу
SendClientMessage(playerid, COLOR_WHITE, "-1 Репы вашей фраке!"); 
}

if(PlayerInfo[playerid][pLeader] == 2) // Проверку на фракцию
{
RepaCoronos -= 1; // Отнимаем репу
SaveRepa(); // Сохраняем репу
SendClientMessage(playerid, COLOR_WHITE, "-1 Репы вашей фраке!"); 
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу