Jump to content
Korean Random

Pavel3333

User
  • Posts

    3,713
  • Joined

  • Last visited

  • Days Won

    35

Posts posted by Pavel3333

  1. 1 минуту назад, [email protected] сказал:

    быдлокодеру

    ты видел его код? -нет.

     

    потому твоё мнение ничем не обосновано.

     

    а я вполне обоснованно могу назвать тебя форумным троллем с горящим пуканом. туши скорее свой пыл.

    • Upvote 1
  2. @Mixaill в xfw_package.json прописано:

    {
        "id": "pavel3333.TrajectoryMod",
        "name": "TrajectoryMod",
        "description": "TrajectoryMod",
    
        "version": "4.0.0.1",
        "dependencies": ["com.modxvm.xfw.native"],
        "features": ["python", "native"],
    
        "url": "http://pavel3333.ru/trajectorymod/",
        "url_update": "http://pavel3333.ru/trajectorymod/",
        
        "wot_versions"         : [],
        "wot_versions_strategy": "allow_newer"
    }

     

  3. 14 часов назад, SkepticalFox сказал:

    надо вызывать после того, как xfwnative инициализуется

    все верно. похоже, вылеты были по этой причине. не успевали дозагрузиться com.modxvm.xfw.mutex, com.modxvm.xfw.xinput, com.modxvm.xfw.console. отложеный запуск функции с задержкой 3 секунды исправил ситуацию.

  4. @Mixaill ситуация та же.

    #include "stdafx.h"
    
    #include "API_functions.h"
    #include "python27/Python.h"
    
    
    #define Py_BUILD_CORE 1
    #define CONSOLE_VER1
    
    PyObject* trj_get_models(PyObject* self, PyObject* args) {
    
    	Py_INCREF(Py_None);
    	return Py_None;
    }
    
    static struct PyMethodDef trj_methods[] =
    {
    	{ "get_models", trj_get_models, METH_VARARGS, "get_models" },
    	{ NULL, NULL, 0, NULL}
    };
    
    PyDoc_STRVAR(trj_methods__doc__,
    	"Trajectory Mod module"
    );
    
    PyMODINIT_FUNC inittrj(void)
    {
    	Py_InitModule4("trj",
    		trj_methods,
    		trj_methods__doc__,
    		(PyObject*)NULL,
    		PYTHON_API_VERSION);
    };

    Компилирую в VS 17, конфигурация Release. Вызываю в питоне без хука, при загрузке игры:

     

    print '[TrajectoryMod]: loading module...'
    trj_path = PATH.XFWLOADER_PACKAGES_REALFS+'/TrajectoryMod/native/trj.pyd'
    trj = imp.load_dynamic('trj', trj_path)
    print '[TrajectoryMod]: loading module OK'
    
    print trj.get_models()

    Краш.

  5. @Mixaill компилю в VS 2017 Community последнего обновления, конфигурация релизная. Очень похоже на неправильные свойства проекта, ибо еще вчера я работал на другом компьютере, притом все работало стабильно, а сегодня работаю уже на другом компьютере, синхронизировавшись с репозиторием. Может быть, синхронизация с репозиторием не затронула файлов решения, и из-за этого были старые параметры проекта.

     

    Спасибо за совет, буду разбираться завтра.

  6. @Mixaill пробовал присоединиться к процессу танков. Не смог. Писало что-то вроде "не поддерживается".

     

    Сейчас не за компом, последнее что успел выяснить - крашится даже пустая функция с макросом Py_RETURN_NONE.

    PS. В VS установлена поддержка Питона. Завтра попробую поплясать с бубном на тему отладки танкового клиента.

  7. Edited by Pavel3333

    При работе пида клиент самопроизвольно крашится.

     

    референсов на PyObject в коде практически нет, просто отлаживаю с помощью PySys_WriteStdout() функцию по преобразованию строки в структуру.

     

    Иногда успевает завершиться код, иногда нет. Даже если он достигает return Py_None, клиент 100% крашится.

    В коде часто используются memset/memcpy, хотя не думаю, что они на что-то влияют.

×
×
  • Create New...