Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 16
  1. #1
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±

    Converter: Movie scene

    Привет. Этот скрипт может записать координаты всех авто в радиусе, а так же конвертировать их в MTA. Целью было сохранение сцен на сервере и доработка в MTA, ну или в SA-MP Map Construction.

    PHP код:
    CMD:pawn(playeridparams[])
    {
        if(
    sscanf(params, !"d"params[0])) return SendClientMessage(playerid0xb93232AA, !"[Подсказка]: /pawn [радиус]");
        new 
    string[100], info[47], mc;
        new 
    File:file fopen(!"cms_pawn.txt"io_append);
        for(new 
    1<= MAX_VEHICLESi++)
        {
            if(
    GetVehicleModel(i))
            {
                new 
    FloatxFloatzFloatyFloata;
                
    GetVehiclePos(ixyz);
                
    GetVehicleZAngle(ia);
                if(
    IsPlayerInRangeOfPoint(playeridparams[0], xyz))
                {
                    
    format(stringsizeof string"CreateVehicle(%d, %f, %f, %f, %f, -1, -1, 60);\r\n"GetVehicleModel(i), xyza);
                    
    fwrite(filestring);
                    
    mc i;
                }
            }
        }
        
    format(infosizeof info"Готово. В радиусе %d сохранено %d авто"params[0], mc);
        
    SendClientMessage(playerid0x99FF00AAinfo);
        
    format(string,sizeof(string),"\r\n");
        
    fwrite(filestring);
        
    fclose(file);
        return 
    1;

    PHP код:
    CMD:mta(playeridparams[])
    {
        if(
    sscanf(params, !"d"params[0])) return SendClientMessage(playerid0xb93232AA, !"[Подсказка]: /mta [радиус]");
        new 
    string[300], info[47], mc;
        new 
    File:file fopen(!"cms_mta.txt"io_append);
        for(new 
    1<= MAX_VEHICLESi++)
        {
            if(
    GetVehicleModel(i))
            {
                new 
    FloatxFloatzFloatyFloata;
                
    GetVehiclePos(ixyz);
                
    GetVehicleZAngle(ia);
                if(
    IsPlayerInRangeOfPoint(playeridparams[0], xyz))
                {
                    
    format(string,sizeof(string),"<vehicle id=\"vehicle (%i)\" paintjob=\"3\" interior=\"0\" alpha=\"255\" model=\"%d\" plate=\"VV4Z WIK\" dimension=\"0\" posX=\"%f\" posY=\"%f\" posZ=\"%f\" rotX=\"0\" rotY=\"0\" rotZ=\"%f\" color=\"0,0,0,0,0,0,0,0,0,0,0,0\"></vehicle>\r\n"iGetVehicleModel(i), xyza);
                    
    fwrite(filestring);
                    
    mc i;
                }
            }
        }
        
    format(infosizeof info"Готово. В радиусе %d сохранено %d авто"params[0], mc);
        
    SendClientMessage(playerid0x99FF00AAinfo);
        
    format(string,sizeof(string),"\r\n");
        
    fwrite(filestring);
        
    fclose(file);
        return 
    1;

    Автор: m1n1vv
    Последний раз редактировалось m1n1vv; 23.04.2016 в 19:39.

  2. #2
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    А что будет если в директории не окажется *.txt файла?
    (Я то знаю, что будет, хочу узнать знаете ли Вы?)

    P.S: Код не торт.
    Последний раз редактировалось $continue$; 04.03.2016 в 21:32.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  4. #4
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Вот и подсчитай )

    - - - Добавлено - - -

    Цитата Сообщение от $continue$ Посмотреть сообщение
    А что будет если в директории не окажется *.txt файла?
    (Я то знаю, что будет, хочу узнать знаете ли Вы?)

    P.S: Код не торт.
    Файл автоматически создается

  5. #5
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Я ничего не скажу и оставлю этот намек тут: http://pro-pawn.ru/showthread.php?12821

  6. #6
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Anton Styazhkin Посмотреть сообщение
    Я ничего не скажу и оставлю этот намек тут: http://pro-pawn.ru/showthread.php?12821
    Более быстрее команда:
    PHP код:
    CMD:pawn(playeridparams[]) 

        static const 
            
    fmt_str[] = "CreateVehicle(%d, %f, %f, %f, %f, -1, -1, 60);\r\n"

        new 
    Float:range
        if (
    sscanf(params, !"d"range))
            return 
    SendClientMessage
                
    playerid, -1, !"Используйте /pawn [радиус действия]" 
            
    ); 
        
    range float(_:range);

        new 
    buffer[sizeof fmt_str + (-3) + ( (-6) * 4)], 
            
    Float:xFloat:yFloat:zFloat:anglevehicle_modelFile:hFile

    #if defined foreach && defined Vehicle@YSII_Ag 
        // Вы также можете использовать библиотеку DC. 
        // http://pro-pawn.ru/showthread.php?13061 
        
    foreach (new iVehicle
    #elseif defined GetVehiclePoolSize 
        
    for (new GetVehiclePoolSize(); --!= 0;) 
    #else 
        // Если версия ниже 0.3.7 
        
    for (new 0; ++!= MAX_VEHICLES;) 
    #endif 
        

            if ((
    vehicle_model GetVehicleModel(i)) == 0
                continue; 
            
    GetVehiclePos(ixyz); 
            if (
    IsPlayerInRangeOfPoint(playeridrangexyz) == 0
                continue; 
            
    GetVehicleZAngle(iangle); 
            
    hFile fopen(!"cms_pawn.txt"io_append); 
            
    format
                
    buffersizeof bufferfmt_str
                
    vehicle_modelxyzangle 
            
    ); 
            
    fwrite(hFilebuffer); 
        } 
        
    fclose(hFile); 
        
    SendClientMessage(playerid0xAA0000FF, !"Готово!"); 
        return 
    1

    Последний раз редактировалось VVWVV; 04.03.2016 в 22:47.

  7. #7
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Из принципа не стал переделывать команду. Ибо, чему он тогда научится?
    Цитата Сообщение от VVWVV Посмотреть сообщение
    code
    P.S:
    Цитата Сообщение от VVWVV Посмотреть сообщение
    new Float:range;
    if (sscanf(params, !"d", range))
    Последний раз редактировалось $continue$; 04.03.2016 в 22:29.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  8. Пользователь сказал cпасибо:
    VVWVV (04.03.2016)
  9. #8
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Из принципа не стал переделывать команду. Ибо, чему он тогда научится?
    Пусть учится на примере. Впрочем, я оставил для него вторую команду, которую он, надеюсь, с радостью оптимизирует.

  10. #9
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Пусть учится на примере. Впрочем, я оставил для него вторую команду, которую он, надеюсь, с радостью оптимизирует.
    Хороший вариант. Я вообще делал код, чтобы взять координаты авто из grandlarc, да и только.

  11. #10
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Сейчас проверил. Твой код выключает сервер )

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •