V[a]mPiR
Умник
Всем привет. Нашел у себя в моде систему динамических новостей и решил поделиться ей с вами.
И так начнем:
ко всем new добавим:
теперь ко всем форвардам добавляем:
далее в OnGameModeInit:
ко всем диалогам(OnDialogResponse) добавим:
и теперь перед OnGameModeInit добавим следующее:
вызов данной системы: в OnPlayerSpawn добавим
так же не забудьте добавить в папку scripfiles файл news.txt
Использование: новости в файл добавлять необходимо в следующем формате
т.е. кто не понял пример:
Автор системы: Fitz_Nick
Автор доработок: V[a]mPiR
И так начнем:
ко всем new добавим:
PHP:
new NewsSystemTextID[max_line], NewsSystemTextTitle[max_line], NewsSystemText[dialog_line],PlayerLastNews[MAX_PLAYERS];
PHP:
forward NewsSystemLoadText();
PHP:
NewsSystemLoadText(); // Загрузка текста при старте мода*
SetTimer("NewsSystemLoadText",600000,1); // Загрузка текста по таймеру 600сек
PHP:
if(dialogid == 23){
if(response){
PlayerLastNews[playerid] = strval(NewsSystemTextID);
Message(playerid," - - - - - - - - - - - - - - - - - - - - - - - - - - - - ",clYellow);
Message(playerid,"Вы нажали первую кнопку, эту новость вы больше не увидите",clYellow);
Message(playerid," - - - - - - - - - - - - - - - - - - - - - - - - - - - - ",clYellow);
}else{
PlayerLastNews[playerid] = 0;
Message(playerid," - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ",clYellow);
Message(playerid,"Вы нажали вторую кнопку, эту новость вы видите при следующем респавне",clYellow);
Message(playerid," - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ",clYellow);
}
}
PHP:
// Загрузка новости из файла
public NewsSystemLoadText(){
new File: f = fopen("/news.txt",io_read), buff[max_line];
if(!f){
print("\n[News System]: Error reading file\n");
return 0;
}
fread(f,NewsSystemTextID); // читается ID новости
fread(f,NewsSystemTextTitle); // читается заголовок
NewsSystemText = ""; // очищаем строку
while(fread(f,buff)) format(NewsSystemText,dialog_line,"%s%s",NewsSystemText,buff); // читается текст
fclose(f);
return 1;
}
// Загрузка новости из файла
NewsSystemShowNews(playerid){
if(PlayerLastNews[playerid]!=strval(NewsSystemTextID) && strval(NewsSystemTextID)){
ShowPlayerDialog(playerid,23,DIALOG_STYLE_MSGBOX,NewsSystemTextTitle,NewsSystemText,"Понятно","Потом");
}
return 1;
}
PHP:
NewsSystemShowNews(playerid)
Использование: новости в файл добавлять необходимо в следующем формате
PHP:
ID
Заголовок
Текст[]
PHP:
1
Привет
Наш сервер открылся
Автор доработок: V[a]mPiR
Последнее редактирование:
