подключил базу данных к серверу (extdb3), без кастомных запросов в custom.ini потому что так легче. Сделал так, чтобы при подключении игрока была проверка, есть ли он в базе данных, если нет, то в базу добавлялся бы его ID и ник. Но что примечательно, GetPlayerUID возвращает пустую строку, а name player Error: No vehicle. Я не знаю как это фиксить, потому что когда я запускаю сетевую через редактор, и ввожу эти команды, то он мне возвращает нужные значения, но при запуске через TADST, он уже начинает творить фигню, я также дебажил (в rpt) те же значения, результат: "результат: [1,[[Error: No vehicle]]]"
- //--------------------код initServer.sqf-----------------------
- "Extdb3" callExtension "9:ADD_DATABASE:gs281196";
- "extDB3" callExtension "9:ADD_DATABASE_PROTOCOL:gs281196:SQL:888";
- "extDB3" callExtension "0:888:INSERT INTO players (p_name,p_guid) VALUES ('tu','11')";//для проверки нормальной работы БД (ну и того что запросы работают)
- onPlayerConnected "[_id, _name] execVM 'onPlayerConnected.sqf';";
- //--------------------код onPlayerConnected.sqf-----------------------
- sleep 3;
- private _nick = name player;
- _result = "extDB3" callExtension format ["0:888:SELECT p_name FROM `players` WHERE p_guid = '%1'", getPlayerUID player];
- if (!(_result isEqualTo "[1]")) then {
- "extDB3" callExtension format["0:888:INSERT INTO players (p_name,p_guid) VALUES ('%1','%2')", _nick,getPlayerUID player];
- } else {
- hint format ["Hello, %1!", name player];
- diag_log("ne poluchilos");
- }
Прикрепленные файлы
Сообщение отредактировал chugunin: 29 November 2024 - 01:18