Цитата Karandachik (
)
предложения нужно вписать в файл cfg/words.txt?
Да, каждое с новой строки.
Цитата Karandachik (
)
это новый синтаксис кода... я со старым то еще разбираюсь, а на новом вообще плаваю.
Старый:
Код
#define SZF(%0) %0, sizeof(%0)
new Handle:g_hTrie = INVALID_HANDLE; // "1" -> "текст", "2" -> "текст" и тд.
new g_iWordCount = 0; // Всего фраз
public OnMapStart() {
Reload();
}
// Загрузка фраз из cfg/words.txt в g_hTrie
Reload()
{
g_iWordCount = 0;
if (g_hTrie) {
ClearTrie(g_hTrie);
}
else{
g_hTrie = CreateTrie();
}
new Handle:f = OpenFile("cfg/words.txt", "rt");
if (f)
{
decl String:sWord[256], String:sWordNum[12];
while (!IsEndOfFile(f) && ReadFileLine(f, SZF(sWord))) {
if (sWord[0] != '/')
{
FormatEx(SZF(sWordNum), "%d", ++g_iWordCount);
SetTrieString(g_hTrie, sWordNum, sWord);
}
}
CloseHandle(f);
}
if (!g_iWordCount)
{
CloseHandle(g_hTrie);
g_hTrie = INVALID_HANDLE;
}
}
stock RandomFakeMessageFromPlayer(client)
{
if (g_hTrie)
{
decl String:sWord[256], String:sWordNum[12];
FormatEx(SZF(sWordNum), "%d", GetRandomInt(1, g_iWordCount));
if (GetTrieString(g_hTrie, sWordNum, SZF(sWord))) {
FakeClientCommandEx(client, "say \"%s\"", sWord);
}
}
}