Русское сообщество по скриптингу

Не читает из файла  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Не читает из файла

Сообщение simplyDavchik » 12 май 2018, 23:50

Код: Выделить всё
L 05/12/2018 - 22:48:48: [AMXX] Failed to open dictionary file: cstrike/addons/amxmodx/data/lang/grab_plus.txt
L 05/12/2018 - 22:48:48: Couldn't read file "addons/amxmodx/configs/Admins.ini"
L 05/12/2018 - 22:48:48: [AMXX] Displaying debug trace (plugin "AdminiEpta2.amxx")
L 05/12/2018 - 22:48:48: [AMXX] Run time error 10: native error (native "read_file")
L 05/12/2018 - 22:48:48: [AMXX]    [0] AdminiEpta2.sma::CheckAvailableAdminsInFile (line 28)
L 05/12/2018 - 22:48:48: [AMXX]    [1] AdminiEpta2.sma::plugin_init (line 13)


Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <file>

new g_FileName[256];
new 
Admin[33];
new Array:
MyArray;

public 
plugin_init()
{
    
register_plugin("EboshAdminov""0.2""@[email protected]");
    
MyArray ArrayCreate(32);
    
CheckAvailableAdminsInFile();
}

public 
client_connect(id)
{
    
log_to_file ("addons\amxmodx\configs\log1.log","Игрок присоединилдся.");
    
CheckPlayer(id);
}

public 
CheckAvailableAdminsInFile()
{
    new 
szInfo[256],szInfoName[32], iNum;
    
get_configsdir(g_FileNamecharsmax(g_FileName));
    
format(g_FileNamecharsmax(g_FileName),"%s/Admins.ini"g_FileName);
    
    for(new 
iLine 0read_file(g_FileNameiLineszInfocharsmax(szInfo), iNum); iLine++)
    {
        if(
iNum && szInfo[0] != ';')
        {
            
parse(szInfoszInfoNamecharsmax(szInfoName));
            
ArrayPushString(MyArrayszInfoName);
        }
    }
}

public 
CheckPlayer(id)
{
    new 
szNick[32]
    
get_user_name(idszNickcharsmax(szNick));
    for(new 
0ArraySize(MyArray); a++)
    {
        new 
String[32];
        
ArrayGetString(MyArrayaString31);
        if(!
a) break;
        if(
equal(szNickString))
        {
            
Admin[id] = true;
            break;
        }
    }
}

public 
client_disconnect(id)
{
    if(
Admin[id])
    {
        
Schitaem(id);
    }
}

public 
Schitaem(id)
{
    new 
szBuffer[64];
    new 
szName[32]; get_user_name(idszNamecharsmax(szName));
    new 
szInfo[256], szInfoName[32], szInfoDate[32], szInfoTime[32], iNumConfigsDir[64], FileDir[64];
    new 
Today[32];
    
get_time("%d:%m:%Y"Todaycharsmax(Today));
    
get_configsdir(ConfigsDir,charsmax(ConfigsDir));
    
formatex(FileDircharsmax(FileDir), "%s/AdminsOnline.txt"ConfigsDir);
    for(new 
iLine 0read_file(FileDiriLineszInfocharsmax(szInfo), iNum); iLine++) 
    {
        if(
iNum && szInfo[0] != ';')
        {
            
parse(szInfoszInfoDatecharsmax(szInfoDate), szInfoNamecharsmax(szInfoName), szInfoTimecharsmax(szInfoTime));
            if(
equal(szInfoDateToday))
            {
                if(
equal(szInfoNameszName))
                {
                    
formatex(szBuffercharsmax(szBuffer), "^"%s^" ^"%s^" ^"%d^""TodayszName, (get_user_time(id) / 60) + str_to_num(szInfoTime));
                    
write_file(FileDirszBufferiLine);
                    return 
PLUGIN_HANDLED;
                }
            }
        }
    }
    
formatex(szBuffercharsmax(szBuffer), "^"%s^" ^"%s^" ^"%d^"^n"TodayszName, (get_user_time(id) / 60));
    
write_file (FileDirszBuffer, -1);
    return 
PLUGIN_HANDLED;
Даже если цель не достижима, попробовать стоит.
Аватара пользователя
simplyDavchik
 
Сообщения: 123
Зарегистрирован: 08 апр 2017, 23:28
Откуда: Латвия
Благодарил (а): 15 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Java
C++
C#
Pawn

Re: Не читает из файла

Сообщение 1Fresh1MaLoY » 13 май 2018, 00:15

Попробуй
Код: Выделить всё
new file = file_size(FileDir, 1)
for(
new line = 0; line < file; line++)
{
     // Your code...
}
 


Добавлено спустя 4 минуты 8 секунд:
И ещё в
Код: Выделить всё
equal( arg1, arg2)
- добавляй
Код: Выделить всё
strlen
=>
Код: Выделить всё
 equal( arg1, arg2, strlen(arg1) 


Добавлено спустя 1 минуту 23 секунды:
Так будет практичнее :D
Аватара пользователя
1Fresh1MaLoY
 
Сообщения: 33
Зарегистрирован: 08 июл 2017, 06:19
Благодарил (а): 8 раз.
Поблагодарили: 2 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
SA:MP
C#

Re: Не читает из файла  [Решено]

Сообщение simplyDavchik » 13 май 2018, 11:47

1Fresh1MaLoY писал(а):Попробуй
Код: Выделить всё
new file = file_size(FileDir, 1)
for(
new line = 0; line < file; line++)
{
     // Your code...
}


Добавлено спустя 4 минуты 8 секунд:
И ещё в
Код: Выделить всё
equal( arg1, arg2
- добавляй
Код: Выделить всё
strlen
=>
Код: Выделить всё
 equal( arg1, arg2, strlen(arg1) )


Добавлено спустя 1 минуту 23 секунды:
Так будет практичнее :D


Код: Выделить всё
new file = file_size(FileDir, 1)
for(
new line = 0; line < file; line++)
{
     // Your code...

Что читать в этом коде 0_o

Добавлено спустя 37 минут 37 секунд:
Блин. Мой тупой косяк.
Весь код мой был верно написан.
Я ошибся 1 буквой в названии файла который надо читать XD
Не Admins.ini, а Admini.ini
Даже если цель не достижима, попробовать стоит.
Аватара пользователя
simplyDavchik
 
Сообщения: 123
Зарегистрирован: 08 апр 2017, 23:28
Откуда: Латвия
Благодарил (а): 15 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Java
C++
C#
Pawn

Re: Не читает из файла

Сообщение 1Fresh1MaLoY » 14 май 2018, 01:30

хех :DDD
Аватара пользователя
1Fresh1MaLoY
 
Сообщения: 33
Зарегистрирован: 08 июл 2017, 06:19
Благодарил (а): 8 раз.
Поблагодарили: 2 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
SA:MP
C#


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17