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

Установить координаты игроку из файла  [Решено]

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

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

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

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

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

Установить координаты игроку из файла

Сообщение Slogun » 07 апр 2019, 19:03

Здравствуйте. У меня есть файл с координатами спавна на карте. Таких координат 20 штук. Подскажите пожалуйста, как при спавне игрока, установить ему рандомную позицию одной из этих координат и какие функции для этого использовать?
735 -152 36 0 -147 0 0 0 -147 0
-919 1388 -76 0 164 0 0 0 164 0
-269 1457 68 0 108 0 0 0 108 0
-526 241 36 0 142 0 0 0 142 0
Аватара пользователя
Slogun
 
Сообщения: 17
Зарегистрирован: 05 окт 2018, 10:50
Откуда: Киев
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около года
Языки программирования: PAWN

Re: Установить координаты игроку из файла

Сообщение артист666 » 07 апр 2019, 23:19

Создаёшь массив array, читаешь файл, записываешь координаты.
Потом random_num(0, длина массива).

А почему у тебя 10 чисел в строке?
Точка координат имеет 3 числа.

Что-то типа того(по 9 чисел в строке):
Код: Выделить всё
#include <amxmodx>
#include <fakemeta>

new Array:array_origin

public plugin_init
()
{
    register_clcmd("ppfire", "functions")
    
    array_origin 
= ArrayCreate(4)
    
    static dir
[64]; get_localinfo("amxx_configsdir", dir, charsmax(dir))
    static files[64]; formatex(files, charsmax(files), "%s/coord.ini", dir)
    static file; file = fopen(files, "rt")
    
    if
(file)
    {
        static i, j, k, sizes, buffer[100], b[9][7], c[4]; i = -1; sizes = file_size(files, 1); c[3] = '^0'
        
        while
(++< sizes)
        {
            fgets(file, buffer, charsmax(buffer)); trim(buffer)
            
            if
(!buffer[0] || buffer[0] == ';' || buffer[0] == '/') continue
            
            parse
(buffer, b[0], 6, b[1], 6, b[2], 6, b[3], 6, b[4], 6, b[5], 6, b[6], 6, b[7], 6, b[8], 6)
            
            j 
= -1; k = 0
            
            while
(++< 3)
            {
                c[0] = str_to_num(b[k++])
                c[1] = str_to_num(b[k++])
                c[2] = str_to_num(b[k++])
                
                server_print
("set %i %i %i", c[0], c[1], c[2])

                ArrayPushString(array_origin, c)
            }
        }
        fclose(file)
    }
}
public functions(id)
{
    new i; i = random_num(0, ArraySize(array_origin) - 1)
    new c[4], Float:origin[3]
    
    ArrayGetString
(array_origin, i, c, 3)
    
    server_print
("r = %i get %i %i %i", i, c[0], c[1], c[2])
    
    origin
[0] = float(c[0])
    origin[1] = float(c[1])
    origin[2] = float(c[2])
    
    server_print
("%f %f %f", origin[0], origin[1], origin[2])
    
    set_pev
(id, pev_origin, origin)


Смотри там сам, что-то косяк с получением, то читает, то нет...
Я так уже извращался, работало.

Можешь просто строки записать в массив, и распарсить его при чтении...
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Установить координаты игроку из файла  [Решено]

Сообщение Slogun » 08 апр 2019, 19:27

Я решил недолго думая взять функции из зомби мода. Но все равно, спасибо за помощь.
Аватара пользователя
Slogun
 
Сообщения: 17
Зарегистрирован: 05 окт 2018, 10:50
Откуда: Киев
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Опыт программирования: Около года
Языки программирования: PAWN


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

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

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

cron