То название мода измениться на то, что стоит в команде... И сохраниться в файл setting.ini. Сервер перезагрузиться с новым названием мода.
Ко всем forward:
forward Rangsave(); forward SaveAccounts(); // если у вас не так, то изменяете на свое...
Ко всем new:
new serverrank = 3;
В public OnPlayerCommandText:
if(strcmp(cmd, "/setmodtext", true) == 0) { if(PlayerInfo[playerid][pAdmin] == 9) { new health; tmp = strtok(cmdtext, idx); health = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Использование: /setmodtext(1, 3, 5, 10, 2, 6, 7) "); return 1; } serverrank = health; if (health == 3) SetGameModeText("мод 1"); if (health == 1) SetGameModeText("мод 2"); if (health == 5) SetGameModeText("мод 3"); if (health == 10) SetGameModeText("мод 4"); if (health == 2) SetGameModeText("ПРОФИЛАКТИКА"); if (health == 6) SetGameModeText("ТЕСТ"); if (health == 7) SetGameModeText("ВРЕМЕННО ЗАКРЫТ"); Rangsave(); SaveAccounts(); OnApptUpdate(); OnPropUpdate(); GameModeExit; } return 1; }
В public OnGameModeInit:
new gmtext[128]; if (serverrank == 3) format(gmtext,sizeof(gmtext),"мод 1"); if (serverrank == 1) format(gmtext,sizeof(gmtext),"мод 2"); if (serverrank == 5) format(gmtext,sizeof(gmtext),"мод 3"); if (serverrank == 10) format(gmtext,sizeof(gmtext),"мод 4"); SetGameModeText(gmtext); if (serverrank == 2) SetGameModeText("ПРОФИЛАКТИКА"); if (serverrank == 6) SetGameModeText("ТЕСТ"); if (serverrank == 7) SetGameModeText("ВРЕМЕННО ЗАКРЫТ");
Создаем паблики:
public Rangload() { new arrCoords[3][64]; new strFromFile2[256]; new File: file = fopen("settings.ini", io_read); if (file) { fread(file, strFromFile2); split(strFromFile2, arrCoords, ','); serverrank = strval(arrCoords[0]); fclose(file); } return 1; } public Rangsave() { new coordsstring[256]; format(coordsstring, sizeof(coordsstring), "%d", serverrank); new File: file2 = fopen("settings.ini", io_write); fwrite(file2, coordsstring); fclose(file2); return 1; }