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

Использование данных из файла  [Решено]

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

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

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

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

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

Использование данных из файла  [Решено]

Сообщение grom1302 » 03 ноя 2021, 22:30

Доброго времени. Огромная просьба показать Как из текстового файла считать число сохраненное в нем, и использовать его.
Пример:
Автоматически создается .txt с именем игрока, и в нем сохраняется рандомное число.
Код: Выделить всё

         static File_Text
[128], name[32]
         get_user_name(attacker, name, charsmax(name)) 
         if
( file_exists(name) )
         {
         delete_file(name)                     
         
}
         
         new fileid 
= fopen(name, "a+"); 
         
         new NUM
=g_Money[ attacker ]+1
         while 
( !feof(fileid) )
         {
         fgets(fileid, File_Text, sizeof(File_Text) - 1)
         if( !File_Text[0] ) continue
           
         return                                          
         
}                           
         replace_all
(name, charsmax(name), ":", "_")
         formatex(File_Text, charsmax(File_Text), "%d",NUM)
         write_file(name, File_Text)
         fclose(fileid


как прочитать это число и использовать , допустим прибавить к деньгам или hp и т.д?
Код: Выделить всё

new Buffer
[256] 
    new File 
= fopen (name,"r")              
    while
(!feof(File))
    {
    fgets(File,Buffer,255);
    }                                         
                                       
                                
    не могу сформулировать функцию прибавления этого числа к g_Money
     
                                   
     fclose 
(File);                                    
                          
   return 0
;
 


Добавлено спустя 2 часа 5 минут 47 секунд:
Разобрался

Код: Выделить всё

static name
[32]
    new file_id,text[256];
    get_user_name(iPlayer, name, charsmax(name))
    file_id=fopen(name,"r")                // открываем файл
    while(!feof(file_id))
    {                                                   //цикл пока не конец файла
    text[0]='^0'
    fgets(file_id,text,charsmax(text)) //считываем строку
    new num = str_to_num(text)        // переводим строку в число
    if(g_Money[iPlayer] += num)        // собственно сама функция с которой мучился
    continue;                           
    
}                                     
                                               
  fclose
(file_id)                                 // закрываем файл
Аватара пользователя
grom1302
 
Сообщения: 49
Зарегистрирован: 10 сен 2016, 15:51
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Pawn

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

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

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