Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Моды (http://mangos.ytdb.ru/forumdisplay.php?f=8)
-   -   [mod] Vehicles (http://mangos.ytdb.ru/showthread.php?t=81)

timmit 22.03.2010 21:07

questhelper нафиг не нужен, он не совместим с 3.3.2+

по патчу, мозговой штурм всегда помогает, начать переписывать патч под дбц надо, но раз один кто то не тянет, то надо вместе - один одно добавляет,второй второе, изменяют и т.д...ведь много знающих код мангоса и си++ тут

Gotten 22.03.2010 21:12

@muraig
Неужели вы не понимаете, что это ошибка в vehicle патче и я дал вам решения.

в базе данных можно изменить только это:
PHP код:

UPDATE `quest_templateSET `SrcSpell` = 52693 WHERE `entry` = 12687

потому что лошадь не должна появляться в самом начале поисков.

(переводчик на русский язык translate.google)

DiffuSer 22.03.2010 23:27

Странно, у меня лошадь не крашит сервер.

MaxXx2021 23.03.2010 09:24

Народ кто подскажет у меня такой глюк. Сажу нпц на вехикл функцией m_creature->EnterVehicle(pDragon, 1);

потом делаю так

pDragon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pDragon->SetUInt32Value(UNIT_FIELD_BYTES_0, 50331648);
pDragon->SetUInt32Value(UNIT_FIELD_BYTES_1, 50331648);
pDragon->SetSpeedRate(MOVE_FLIGHT, 3.5f, true);
pDragon->SetSpeedRate(MOVE_RUN, 3.5f, true);
pDragon->SetSpeedRate(MOVE_WALK, 3.5f, true);

Потом пишу
pDragon->SendMonsterMove(x, y, z, SPLINETYPE_NORMAL , m_creature->GetSplineFlags(), 10000);

И дракон вместо того чтобы лететь в точку, мгновенно переносится туда. Когда я сажусь на этого же дракона он не двигается с места. Убираю InhabitFlag 7 на 3 он нормально летит в точку но потом падает на землю без 7 флага. Шо это кто нить обьясните! Не правильное заполнение данных вехикла?

lucky 23.03.2010 13:30

Цитата:

Сообщение от MaxXx2021 (Сообщение 2942)
И дракон вместо того чтобы лететь в точку, мгновенно переносится туда. Когда я сажусь на этого же дракона он не двигается с места. Убираю InhabitFlag 7 на 3 он нормально летит в точку но потом падает на землю без 7 флага. Шо это кто нить обьясните! Не правильное заполнение данных вехикла?

То что он переносится мгновенно поиграй со SPLINE_FLAG. То что не двигаешься при посадке, скорее всего не правильное заполнение vehicle_data проверь еще раз флаги в колонке flags, ибо там есть флаг на обездвиживаение может его случайно поставил. Флаги можно на SharedDefines.h. При это если это летающий то у него обязательно должен стоять InhabitFlag 3, чтобы на нем можно было летать

MaxXx2021 24.03.2010 04:22

Цитата:

Сообщение от lucky (Сообщение 2957)
То что он переносится мгновенно поиграй со SPLINE_FLAG. То что не двигаешься при посадке, скорее всего не правильное заполнение vehicle_data проверь еще раз флаги в колонке flags, ибо там есть флаг на обездвиживаение может его случайно поставил. Флаги можно на SharedDefines.h. При это если это летающий то у него обязательно должен стоять InhabitFlag 3, чтобы на нем можно было летать

с 3 флагом он не будет держаться в воздухе, а просто упадет на землю нужен именно 7 или 4. Со сплин флагом уже все перепробовал. Мне кажется что он перемещается из за того что не может двигатся с 7 инхэбитом. вот этот нип http://www.wowhead.com/?npc=36661 , помогите заполнить данные для него.
в creature_template, creature_addon_template, vehicle_data, vehicle_seat_data. А то у меня не получается.

Anti 24.03.2010 11:52

Вот поэтому я и бросил этот патч, как сделал для него повер систему. Пока данные не будут браться из дбц - патч мёртвый.

labor 26.03.2010 12:04

никак не получается завести сервер с этим патчем.
Код:

MaNGOS/0.16.0 Revision 9614 for FreeBSD_x32
YTDB_0.11.1_R540_MaNGOS_R9613_SD2_R1653_ACID_R304_RuDB_R37.4
ACID 3.0.4

Патчь получил так:
Код:

git checkout -b vehicle
git pull git://github.com/Tasssadar/Valhalla-Project.git vehicle
git diff -p master vehicle > vehicle.patch

применял так:
Код:

patch -p1 -l < vehicle.patch
все скомпилилось без проблем. Залил базы, потом залил базу игрового мира YTDB_0.11.1_R540, потом начал заливать скулы патча, v01_vehicle_data.sql
v02_vehicle_seat_data.sql
v03_creature_addon_tables.sql
v10_vehicle_test_data.sql
на четвертом скуле он начал ругаться что не хватает поля speed в creature_template, добавил это поле:
Код:

ALTER TABLE `creature_template` ADD COLUMN `speed` int
после чего скул залился, но при старте сервера выдает такое сообщение:
Код:

Loading Equipment templates...
[**************************************************] 100%
>> Loaded 4020 equipment template

Loading Creature templates...
Error in creature_template table, probably sql file format was updated (there should be 82 fields in sql).

если удалить лишний столбец, то выдает:
Код:

Loading pet levelup spells...

>> Loaded 1666 pet levelup and default spells for 39 families
Loading pet default spell additional to levelup spells...

>> Loaded addition spells for 102 pet spell data entries and 665 summonable creature templates
Loading Creature Addon Data...

Error in creature_template_addon table, probably sql file format was updated (there should be 7 fields in sql).

в какую сторону копать? помогите пожалуйста

DiffuSer 26.03.2010 13:21

Надо в SQL-файле vehicle_test_data изменить speed на speed_walk, а не добавлять новое поле в базу.

labor 26.03.2010 13:54

Спасибо, все получилось, залил в базу, только ошибка не исчезла:
Код:

>> Loaded addition spells for 102 pet spell data entries and 665 summonable creature templates
Loading Creature Addon Data...

Error in creature_template_addon table, probably sql file format was updated (there should be 7 fields in sql).

Буду ковырять дальше.

DiffuSer 26.03.2010 14:07

Ваша ошибка не связанна с creature_template. Вы просто не залили v03_creature_addon_tables.sql, поэтому у вас не хватает двух полей в соответствующей таблице.

labor 26.03.2010 14:14

Странно, я заливал этот файл, сейчас еще раз проверил в базе таблички creature_template_addon и creature_addon, там добавлены столбцы из v03_creature_addon_tables.sql

DiffuSer 26.03.2010 14:34

А, тьфу. Вы не правильно накатили патч.
Цитата:

const char CreatureDataAddonInfofmt[]="iiiiiiiss";
Должно быть так в файле SQLStorage.cpp

MaS0n 26.03.2010 14:34

В ядре все норм пропатчилось? Ошибка говорит, что в SQLStorage 7 полей взято, а в таблице их 9

MaxXx2021
Откуда взят такой инхэбит? Насколько я помню - их 4, если это сумма 4+3, тогда ясно
Пробуй 4, а не 7


Упс, опередили :)

labor 26.03.2010 14:41

Действительно криво пропатчилось ядро.
Код:

#const char CreatureDataAddonInfofmt[]="iiiiiis";
const char CreatureDataAddonInfofmt[]="iiiiiiiss";


MaxXx2021 27.03.2010 03:59

Цитата:

Сообщение от MaS0n (Сообщение 3194)
В ядре все норм пропатчилось? Ошибка говорит, что в SQLStorage 7 полей взято, а в таблице их 9

MaxXx2021
Откуда взят такой инхэбит? Насколько я помню - их 4, если это сумма 4+3, тогда ясно
Пробуй 4, а не 7


Упс, опередили :)

Незнаю у Малигоса Волты стоял там и он нормально летал. Вот думал поможет. С 4 точно так же просто портуется в точку!

zevgen 27.03.2010 12:18

Для малигоса, и ховер дисков правильный inhtype 7

anemak 27.03.2010 17:15

Вложений: 1
У меня почему то садятся на вехиклы задом наперёд игроки, так же при попытке сесть на коня происходит краш сервера, дракон у дк не летает вообще, даже не ходит...

Патч под 9611

timmit 27.03.2010 17:41

Вы бы лучше каждый апдейт патча под ревизию, добавляли что нибудь свое, обновляли под дбц и т.д, каждый по маленьку добавляя свое

lucky 27.03.2010 17:57

Цитата:

Сообщение от anemak (Сообщение 3278)
так же при попытке сесть на коня происходит краш сервера, дракон у дк не летает вообще, даже не ходит...

Патч под 9611

Почитать тему стоило бы. Пользователь Gotten, старательно всем говорил как поправить краш http://ru-mangos.ru/showpost.php?p=2879&postcount=39 . Дракону поставьте InhabitType = 3 и начнет летать.

anemak 27.03.2010 18:07

Спасибо, с конём разобрался, не понятно почему на вехиклы садится игрок задом наперёд. Есть какие то предложения?

tempura 27.03.2010 18:36

Цитата:

Сообщение от anemak (Сообщение 3283)
Спасибо, с конём разобрался, не понятно почему на вехиклы садится игрок задом наперёд. Есть какие то предложения?

Только неприличные. :) :) :) :)

tester20 27.03.2010 21:25

Цитата:

Сообщение от anemak (Сообщение 3283)
Спасибо, с конём разобрался, не понятно почему на вехиклы садится игрок задом наперёд. Есть какие то предложения?

а так со всеми вехиклами?
на самом деле в :censored: Orientation =))) при посадке "-" лишний наверно

anemak 27.03.2010 22:22

Цитата:

Сообщение от tester20 (Сообщение 3292)
а так со всеми вехиклами?
на самом деле в :censored: Orientation =))) при посадке "-" лишний наверно

Дада, очень забавно, но не на всех так.

MaxXx2021 29.03.2010 04:59

Цитата:

Сообщение от lucky (Сообщение 3281)
Почитать тему стоило бы. Пользователь Gotten, старательно всем говорил как поправить краш http://ru-mangos.ru/showpost.php?p=2879&postcount=39 . Дракону поставьте InhabitType = 3 и начнет летать.

Вот поэтому я и говорю. с 4 и 7 Инхебитом вехикл стоит на месте и не двигается! При попытке заставить его двигатся, из за того что он не двигается, он просто портуется в точку.

labor 29.03.2010 22:22

Доброго времени, наконец поставил этот патч, как писалось выше садятся чары задом на перед на виклы, а в стартовой локации дк, в квесте где надо забрать Конь смерти Акеруса сервер вылетает с ошибкой:
Код:

Spell (ID: 52349) has effect EffectImplicitTargetA/EffectImplicitTargetB = TARGET_SCRIPT or TARGET_SCRIPT_COORDINATES, but does not have record in `spell_script_target`
Если я правильно понимаю то под это действие в базе нет записи и из за этого сервер падает,так или я не правильно понимаю?

MaNGOS/0.16.0 (* * Revision 9637 - *) for FreeBSD_x32
YTDB_0.11.1_R540_MaNGOS_R9613_SD2_R1653_ACID_R304_ RuDB_R37.4

NeatElves 29.03.2010 23:21

2 labor, перечитайте в данной теме все сообщения от Gotten

MaxXx2021 30.03.2010 04:46

Вот еще два бага вехикла:
1. при попытке дать вехиклу SetObjectActive(true); серв крашит.
2. Когда садишь моба на вехикл, а вехикл заставляешь двигатся в точку то модель моба сидит на вехикле, а его скелет и основа находится в точке посадки. То есть при WhoMoveInSight(Unit* who) он будет работать от места посадки. Выходишь из грида снова входишь дракон стоит в точке движения, а моб стоит на месте посадки.

Anti 30.03.2010 08:39

Цитата:

Сообщение от MaxXx2021 (Сообщение 3406)
Вот еще два бага вехикла:
1. при попытке дать вехиклу SetObjectActive(true); серв крашит.
2. Когда садишь моба на вехикл, а вехикл заставляешь двигатся в точку то модель моба сидит на вехикле, а его скелет и основа находится в точке посадки. То есть при WhoMoveInSight(Unit* who) он будет работать от места посадки. Выходишь из грида снова входишь дракон стоит в точке движения, а моб стоит на месте посадки.

1. Круто, могли бы и крашдамп выдать.
2. Скорее всего это происходит ибо наш нпс чисто визуально садиться на моба, а если и садиться, то его положение в мире не меняется. Возможно нету обработчиков, а может где-то в Unit не выставляется нужный флаг.

MaxXx2021 30.03.2010 09:41

1. Давно проверял, краш дамп не сохранил у меня места на диске где стоит сервер 60мб свободно %)_
2. Тут уже хз что за проблема. Долго ломал голову потом хакнул фаловером %)_

tempura 30.03.2010 13:49

Цитата:

Сообщение от MaxXx2021 (Сообщение 3411)
1. Давно проверял, краш дамп не сохранил у меня места на диске где стоит сервер 60мб свободно %)_

Ну а смысл тогда вообще писать? :( "у миня чота пачимута падаит" - это не сообщение об ошибке. :(

MaxXx2021 31.03.2010 04:40

Цитата:

Сообщение от tempura (Сообщение 3424)
Ну а смысл тогда вообще писать? :( "у миня чота пачимута падаит" - это не сообщение об ошибке. :(

Cделайте так! pVehicle->SetActiveObject(true);

Для тех кто не знает что эта функция делает пишу, она подгружет грид в данном случае вехикла! Постоянно крашит сервер если вехиклу ставить ее. Убираю нормально нет крашей! =)))

Rage Hunter 02.04.2010 22:50

Один вопросик, у кого есть или кто знает описание флагов с DBC Vehicle.dbc и VehicleSeat.dbc, по моему и там и там 2 поле! Может они есть в ядре? (в чем я сомневаюсь пока очень сильно)!

tester20 03.04.2010 10:23

этого мало?
Код:

struct VehicleEntry
{
    uint32  m_ID;                                          // 0
    uint32  m_flags;                                        // 1
    float  m_turnSpeed;                                    // 2
    float  m_pitchSpeed;                                  // 3
    float  m_pitchMin;                                    // 4
    float  m_pitchMax;                                    // 5
    uint32  m_seatID[8];                                    // 6-13
    float  m_mouseLookOffsetPitch;                        // 14
    float  m_cameraFadeDistScalarMin;                      // 15
    float  m_cameraFadeDistScalarMax;                      // 16
    float  m_cameraPitchOffset;                            // 17
    //int    m_powerType[3];                              //      removed in 3.1
    //int    m_powerToken[3];                              //      removed in 3.1
    float  m_facingLimitRight;                            // 18
    float  m_facingLimitLeft;                              // 19
    float  m_msslTrgtTurnLingering;                        // 20
    float  m_msslTrgtPitchLingering;                      // 21
    float  m_msslTrgtMouseLingering;                      // 22
    float  m_msslTrgtEndOpacity;                          // 23
    float  m_msslTrgtArcSpeed;                            // 24
    float  m_msslTrgtArcRepeat;                            // 25
    float  m_msslTrgtArcWidth;                            // 26
    float  m_msslTrgtImpactRadius[2];                      // 27-28
    char*  m_msslTrgtArcTexture;                          // 29
    char*  m_msslTrgtImpactTexture;                        // 30
    char*  m_msslTrgtImpactModel[2];                      // 31-32
    float  m_cameraYawOffset;                              // 33
    uint32  m_uiLocomotionType;                            // 34
    float  m_msslTrgtImpactTexRadius;                      // 35
    uint32  m_uiSeatIndicatorType;                          // 36
    uint32  m_powerType;                                    // 37, new in 3.1                                                        // 37, new in 3.1
                                                            // 38, new in 3.1
                                                            // 39, new in 3.1
};

struct VehicleSeatEntry
{
    uint32  m_ID;                                          // 0
    uint32  m_flags;                                        // 1
    int32  m_attachmentID;                                // 2
    float  m_attachmentOffsetX;                            // 3
    float  m_attachmentOffsetY;                            // 4
    float  m_attachmentOffsetZ;                            // 5
    float  m_enterPreDelay;                                // 6
    float  m_enterSpeed;                                  // 7
    float  m_enterGravity;                                // 8
    float  m_enterMinDuration;                            // 9
    float  m_enterMaxDuration;                            // 10
    float  m_enterMinArcHeight;                            // 11
    float  m_enterMaxArcHeight;                            // 12
    int32  m_enterAnimStart;                              // 13
    int32  m_enterAnimLoop;                                // 14
    int32  m_rideAnimStart;                                // 15
    int32  m_rideAnimLoop;                                // 16
    int32  m_rideUpperAnimStart;                          // 17
    int32  m_rideUpperAnimLoop;                            // 18
    float  m_exitPreDelay;                                // 19
    float  m_exitSpeed;                                    // 20
    float  m_exitGravity;                                  // 21
    float  m_exitMinDuration;                              // 22
    float  m_exitMaxDuration;                              // 23
    float  m_exitMinArcHeight;                            // 24
    float  m_exitMaxArcHeight;                            // 25
    int32  m_exitAnimStart;                                // 26
    int32  m_exitAnimLoop;                                // 27
    int32  m_exitAnimEnd;                                  // 28
    float  m_passengerYaw;                                // 29
    float  m_passengerPitch;                              // 30
    float  m_passengerRoll;                                // 31
    int32  m_passengerAttachmentID;                        // 32
    int32  m_vehicleEnterAnim;                            // 33
    int32  m_vehicleExitAnim;                              // 34
    int32  m_vehicleRideAnimLoop;                          // 35
    int32  m_vehicleEnterAnimBone;                        // 36
    int32  m_vehicleExitAnimBone;                          // 37
    int32  m_vehicleRideAnimLoopBone;                      // 38
    float  m_vehicleEnterAnimDelay;                        // 39
    float  m_vehicleExitAnimDelay;                        // 40
    uint32  m_vehicleAbilityDisplay;                        // 41
    uint32  m_enterUISoundID;                              // 42
    uint32  m_exitUISoundID;                                // 43
    int32  m_uiSkin;                                      // 44
    uint32  m_flagsB;                                      // 45
                                                            // 46-57 added in 3.1, floats mostly

    bool IsUsable() const { return m_flags & 0x2000000; }
};


Rage Hunter 03.04.2010 12:14

Цитата:

Сообщение от tester20 (Сообщение 3703)
этого мало?



Вы меня не много не поняли, мне нужно описание всех значений
uint32 m_flags; // 1
которые хранятся в дбц (если они вообще нужны - хотя я думаю что да)

seirge 05.04.2010 16:36

Цитата:

Сообщение от timmit (Сообщение 2050)
Спросить хочу, а почему патч в рассматриваемых? такая реализция не будет принята никогда 100%, а переделывать никто не хочет, чисто под ревизии подгоняют

А можно огласить основной список претензий к патчу? Можно ссылками.
1. краши
2. данные, которые патч требует в базе, присутствуют и в DBC (но где именно и так ли это - никто не уверен).

Или есть какие-то концептуальные претензии к патчу, из-за которых он не будет никогда принят? (как это случается со некоторыми большими патчами)

lovepsone 05.04.2010 20:41

Цитата:

Сообщение от seirge (Сообщение 3859)
А можно огласить основной список претензий к патчу? Можно ссылками.
1. краши
2. данные, которые патч требует в базе, присутствуют и в DBC (но где именно и так ли это - никто не уверен).

Или есть какие-то концептуальные претензии к патчу, из-за которых он не будет никогда принят? (как это случается со некоторыми большими патчами)

я думаю что патч vehicle наверное не когда не принят!
а почему не знаю! думаю это надо спрашивать у Владимира

Renegat344 06.04.2010 06:46

Цитата:

Сообщение от lovepsone (Сообщение 3884)
я думаю что патч vehicle наверное не когда не принят!
а почему не знаю! думаю это надо спрашивать у Владимира

Да потому что текущая реализация это бред полный) хак на хаке хаком погоняет

Rage Hunter 06.04.2010 10:03

К тому же есть такие прикольные штуки, как DBC. А то, что сейчас с этим патчем в базу вгоняют куча мусора и только!

MadMan 07.04.2010 05:45

Один из краши получил от поисков Death Knight: QuestID = 12687:Into the Realm of Shadows

vehicles.cpp

Код:

case 28782:InstallAccessory(28768,0,false, false);break; // Acherus Deathcharger
изменения :

Код:

case 28782:InstallAccessory(28768,7,true);break; // Acherus Deathcharger


Текущее время: 21:09. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS