Jump to content

rastikzzz

Members
  • Posts

    34
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by rastikzzz

  1. Vehicles arent finished, so am not sure if this will work correctly, try using script for that quest giver (sd2 script).

    in the script - after you talk with quest giver - he should create vehicle - gargoyle, then mount player on him and set correct movement flag for gargoyle and send him at your defined waypoints.

    //czech

    PS : cech nejsom a niekde som tu videl obmedzenie ze sa tu na fore sme iba po anglicky pisat

  2. this is very special case, not implemented yet. Same for mamoth and for motorbike

    i dont know exactly how it works, but you arent seating in a vehicle. only passengers are. there is also sent special opcode for this SMSG_UNKNOWN_1191 (guid + vehicle id).

    for mamoth, passengers are using vehicle id 315

    and for motorbike 318

  3. Gr8, so few more tweaks and it is ready for the official commit ^_^

    nope, not yet. som things are writed by too hacky way and needs complete rewrite

    Is the data for vehicle seats found in client files or do we need to check packets for everyone of them @official?

    as i said, that are CUSTOM flags. it has nothing to do with client files or packets.

    real flags are in vehicle.dbc and vehicleseat.dbc, but this flags, used by bliz, are too unknown for us to use them, so i am using custom flags. There are only few known vehicle ids, so guessing that flags is loss of time

  4. yes i know there are merge errors if mangos had updated something in their code. But i am not here 24/7 to make it always updated, if there is a error, solve it by hand, or use older mangos revision or just wait for me to update it

    btw : i finally fixed client errors, so its usable now in bigger events...

  5. No. In this case vehicle cause of crash clent. Try to drive far from spawnplace and all araund u get crash client.

    client crash is not caused by going too far away from spawnpoint, i tried to go from one side to another side of northrend and nothing crashed.

    client crash is caused when a player that rides vehicle is loaded for you (most on vehicles where player dont have flag unselectable)

    when someones enter vehicle right before your eyes, everything is fine. but when he is unloaded (eg. he goes too far away, or you got away from him...) and then again loaded, your client will crash OR you will see his vehicle, but him not, he will not exist for you. even if he leaves you wont be able to see him, until he unload/load for you. i was trying to fix this whole day, but no sucess.

    rastikzzz your banch is good,but you could be implanted the patch for the eye of acherus

    Here is the patch:

    http://getmangos.ru/forum/showthread.php?t=19836

    http://getmangos.ru/forum/showthread.php?t=19837

    http://filebeam.com/a81c92789322e2e65e5443a314b9e74c

    I have gotten manually gives error I think is the function q corrigr not, thanks

    about that patch : it has nothing to do with vehicles, you can update it manually and make a patch file from it

  6. According to rastikzzz development his Vehicle tble is as follows :

    [b]CREATE[/b] [b]TABLE[/b] [b]`[/b]vehicle_data[b]`[/b] (
     [b]`[/b]entry[b]`[/b] mediumint([color=#009999]5[/color]) unsigned [b]NOT[/b] [b]NULL[/b],
     [b]`[/b]flags[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell1[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell2[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell3[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell4[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell5[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell6[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell7[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell8[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell9[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]Spell10[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]`[/b]req_aura[b]`[/b] mediumint([color=#009999]8[/color]) unsigned [b]NOT[/b] [b]NULL[/b] [b]default[/b] [color=#dd1144]'0'[/color],
     [b]PRIMARY[/b] [b]KEY[/b]  ([b]`[/b]entry[b]`[/b])
    )

    So, looking at the DBC file how should we fill the fields ?

    A line looks like follows :

    INSERT INTO vehicle_data VALUES (106, 4, 50896, 0, 50652, 0, 0, 0, 0, 0, 0, 0, 0);

    As far as i can tell 106 is vehicle ID. for the other fields.....

    if you dont know how to open dbc, i have exported it here : http://pastebin.com/m2619ecae

    i am using custom vehicle flags and seat flags, because flags in dbc are too unknown

    look at shareddefines.h

    enum CustomVehicleFLags
    {
       VF_CANT_MOVE                    = 0x0001,                   // vehicle cant move, only turn, maybe handle by some auras?
       VF_FACTION                      = 0x0002,                   // vehicle retain its own faction
       VF_DESPAWN_NPC                  = 0x0004,                   // vehicle will delete npc on spellclick
       VF_DESPAWN_AT_LEAVE             = 0x0008,                   // vehicle will be deleted when rider leaves
       VF_CAN_BE_HEALED                = 0x0010,                   // vehicle can be healed
       VF_GIVE_EXP                     = 0x0020,                   // vehicle will give exp for killing enemies
       VF_MOVEMENT                     = 0x0040,                   // vehicle will move on its own, not depending on rider, however rider can cast spells
       VF_NON_SELECTABLE               = 0x0080                    // vehicle will be not selectable after rider enter
       //VF_HAS_FUEL                     = 0x0100,                   // TODO : find out what energy type is fuel and implement this
    };
    
    enum CustomVehicleSeatFLags
    {
       SF_MAIN_RIDER                   = 0x0001,                   // the one who controlls vehicle, can also cast spells
       SF_UNATTACKABLE                 = 0x0002,                   // hided inside, and unatackable until vehicle is destroyed
       SF_CAN_CAST                     = 0x0004,                   // player/npc can rotate, and cast OWN spells
       SF_UNACCESSIBLE                 = 0x0008                    // player cant enter this seat by normal way (only by script)
    };

    if you want to make a vehicle, for eg. for npc entry 99999

    - first enter data to table npc_spellclick_spells

    eg

    [b]INSERT INTO[/b] npc_spellclick_spells [b]VALUES[/b] (99999, 60968, 0, 0, 0, 1);

    - second, you probably dont have vehicle id for it (real vehicle id is obtained from packets) but you can use any of avaible ids (from vehicle.dbc). As you can see, each vehicle has 1-7 seats.

    and for eg. you want a vehicle with 4 enterable seats, so first one is vehicle id 26. what is diference between using id 26 and other vehicle id with 4 seats? its in 2 thinghts - in player UI and in diferent seating animation

    (you can always spawn ingame vehicle with .debug spawnvehicle 99999 xxx to try variety of vehicle ids until you will be satisfied)

    - then if you have a vehicle id, add it to creature addon template

    [b]INSERT IGNORE INTO[/b] creature_template_addon [b]VALUES[/b] (99999, 0, 0, 0, 0, 0, 26, NULL, NULL);

    and to vehicle data too, look at flags above and select some, eg.

    [b]INSERT[/b] [b]INTO[/b] vehicle_data [b]VALUES[/b] ([color=#009999]26[/color], [color=#009999]4[/color], [color=#009999]51362[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color], [color=#009999]0[/color]);

    note :for vehicle spells you can use any spell ingame

    and field req_aura - means what aura must have player to be able to enter it (required for wintergrasp vehicles)

    - so now if you have vehicle data, add some seat flags, eg.

    [b]INSERT[/b] [b]INTO[/b] vehicle_seat_data [b]VALUES[/b] (365, 3); -- rider
    [b]INSERT[/b] [b]INTO[/b] vehicle_seat_data [b]VALUES[/b] (366, 2);
    [b]INSERT[/b] [b]INTO[/b] vehicle_seat_data [b]VALUES[/b] (367, 2);
    [b]INSERT[/b] [b]INTO[/b] vehicle_seat_data [b]VALUES[/b] (368, 2);

    i hope this explained enough to understand

  7. the vehicle id is sent in packets, if you dont have it, then guess.

    use ingame .debug spawnvehicle 27894 xxx

    xxx - guesed vehicle id, in your case try only vehicle ids with one seat

    and if he will be seating where he should, use that vehicle id

    -> insert it into vehicle_data, add there flags and related spells ( eg. http://www.wowhead.com/?spell=51421 )

    and then data into vehicle_seat_data (your seat, flags (3))

    (for eg. vehicle id 116 is used for wintergrasp turrets, simmilar to your case)

    PS : dont forget to add npc_spellclick for your npc 27894, otherwise you wont be able to enter it

  8. ok thanks for reporting, its fixed now

    Hello,

    I want to use this cannon : http://fr.wowhead.com/?npc=27894

    I modify the tables vehicles_data, creature_addon and npc_spellclicks_spells(the vehicle is 999 in my tables)

    But I don't know what I have to put in vehicles_data_seat...

    Sorry for very very bad english...

    you have to look at vehicle.dbc and use REAL vehicle id (this is required to avoid client crash)

    and then look at fields 7-14 that are vehicle seat ids

  9. Thanks rastikzzz but with linux i have error when i want compiling ...

    ../../../src/game/DBCStores.cpp:467:   instantiated from here
    ../../../src/game/DBCStores.cpp:190: warning: format '%d' expects type 'int', bu                                       t argument 5 has type 'size_t'
    ../../../src/game/DBCStores.cpp:190: warning: format '%d' expects type 'int', bu                                       t argument 5 has type 'size_t'
    In file included from ../../../src/game/debugcmds.cpp:22:
    ../../../src/game/Vehicle.h:87: error: ISO C++ forbids declaration of 'VehicleDa                                       taStructure' with no type
    ../../../src/game/Vehicle.h:87: error: expected ';' before 'const'
    ../../../src/game/Vehicle.h:88: error: expected `;' before 'uint32'
    ../../../src/game/Vehicle.h:94: error: ISO C++ forbids declaration of 'VehicleDa                                       taStructure' with no type
    ../../../src/game/Vehicle.h:94: error: expected ';' before 'const'
    ../../../src/game/Vehicle.h: In member function 'uint32 Vehicle::GetVehicleFlags                                       ()':
    ../../../src/game/Vehicle.h:88: error: 'm_VehicleData' was not declared in this                                        scope
    ../../../src/game/debugcmds.cpp: In member function 'bool ChatHandler::HandleDeb                                       ugGetItemState(const char*)':
    ../../../src/game/debugcmds.cpp:558: warning: format '%d' expects type 'int', bu                                       t argument 3 has type 'size_t'
    ../../../src/game/debugcmds.cpp:564: warning: format '%d' expects type 'int', bu                                       t argument 3 has type 'size_t'
    ../../../src/game/debugcmds.cpp:573: warning: format '%d' expects type 'int', bu                                       t argument 3 has type 'size_t'
    ../../../src/game/debugcmds.cpp:579: warning: format '%d' expects type 'int', bu                                       t argument 3 has type 'size_t'
    make[3]: *** [debugcmds.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    mv -f .deps/Creature.Tpo .deps/Creature.Po
    mv -f .deps/DBCStores.Tpo .deps/DBCStores.Po
    make[3]: Leaving directory `/home/SERVEURS/locale8039/mangos/objdir/src/game'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/SERVEURS/locale8039/mangos/objdir/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/SERVEURS/locale8039/mangos/objdir'
    make: *** [all] Error 2
    

    ...

    i have asked people with linux, they dont have problems

    in your crash log lines arent matching to actual rev, so you are using probably older one, try to update

    How does this patch do exactly? I've tested some of the vehicle spells and doesnt work, I don't know what I'm doing wrong, but the patch is applied, in sql i've the vehicle data etc...

    you need a vehicle id, insert it into creature_template_addon

    for inspiration how to add vehicles look at vvv_vehicle_test_data.sql

  10. go to function bool Player::IsAllowUseFlyMountsHere() const

    change there

     bool Player::IsAllowUseFlyMountsHere() const
    {
    -    if (isGameMaster())
    +    //if (isGameMaster())
            return true;
    
        uint32 v_map = GetVirtualMapForMapAndZone(GetMapId(), GetZoneId());
        return v_map == 530 || v_map == 571 && HasSpell(54197);
    }

  11. What bug does the patch fix? What features does the patch add? : fix currently not working skill discovery and fix crash at empty skill discovery table

    For which repository revision was the patch created? : 8029 (latest)

    Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread. : didint find any

    Who has been writing this patch? : me

    in skilldiscovery.cpp is

    @@ -52,11 +52,11 @@ void LoadSkillDiscoveryTable()
        uint32 count = 0;
    
        //                                                0        1         2              3
        QueryResult *result = WorldDatabase.Query("SELECT spellId, reqSpell, reqSkillValue, chance FROM skill_discovery_template");
    
    -    if (result)
    +    if (!result)
        {
            sLog.outString();
            sLog.outString( ">> Loaded 0 skill discovery definitions. DB table `skill_discovery_template` is empty." );
            return;
        }
    

    link http://github.com/rastikzzz/mangos/commit/45cc0b13773dafd912b096105a56264a10fe7413

  12. yeah i want to update it to 3.1.3 but this needs some time, it will be in few days updated, because i dont have so much time.

    do not use it now, it will not work, or you will crash server/client, becase i want to rewrite some thinghs in better way.

    i am still not sure where to put vehicle id in relation to creature, to creature_template, creature_addon, to new table..

  13. Hi I found this on mangos.ru credits to partizanes

    Checked for spells

    http://www.wowhead.com/?spell=18277

    http://www.wowhead.com/?spell=53173

    Patch is Here but not finished

    http://patrik774.pastebin.com/f61bcddec

    i was working for some days now on vehicles, i used this patch, some inspiration from trinity and rewrited it all using my knowledge.

    the dev. branch is here http://github.com/rastikzzz/mangos/tree/master

    its not finished yet and its still in development

    i will appreciate any good ideas/suggestions

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use