sk.tm_radik
Компетентный
Всем привет, сегодня я вам покажу как сделать систему репутации для фракций.
Идею взял с сервера Orio[N] RPG.
Автор кода я.
Я сделаю лишь основу. Прибавление и убавление репутации сделаете сами. Так как я не знаю где вы хотите сделать это. Я лишь покажу пример как прибавлять и отнимать репутацию.
Важно:
1)В папке scriptfiles не забудьте создать файл Gangstat.ini
2) Переменные заменяйте на свои
1. В начало мода, ко всем new вставляем:
2. В public OnGameModeExit() вставляем:
3. В public OnGameModeInit() вставляем:
4. В паблик команд, ну тоесть где ваши команды. У меня допустим это public OnPlayerCommandText. Данная команду нужна для просмотра репутации фракций.
5.В конец мода вставляем:
6. Теперь самог главное здесь я вам покажу как прибавлять и убавлять репутацию у фракций.
1) Ну вот допустим у меня в моде есть паблик PayDay. Если лидер получит зарплату то фракция также получить репутацию. Смотрим ниже код.
2) Ну а вот теперь я покажу как убавлять репутацию. Ну вот допустим у меня если лидер умрет то фракцию получить -1 репы.
Идею взял с сервера Orio[N] RPG.
Автор кода я.
Я сделаю лишь основу. Прибавление и убавление репутации сделаете сами. Так как я не знаю где вы хотите сделать это. Я лишь покажу пример как прибавлять и отнимать репутацию.
Важно:
1)В папке scriptfiles не забудьте создать файл Gangstat.ini
2) Переменные заменяйте на свои
1. В начало мода, ко всем new вставляем:
PHP:
new RepaVagos; // Репа фракции Вагос
new RepaCoronos; // Репа фракции Коронос
PHP:
SaveRepa(); // Сохранение репутации
PHP:
LoadRepa(); // Загрузка репутации
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;
}
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;
}
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 репы.");
}
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 Репы вашей фраке!");
}
Последнее редактирование:
