Jump to content

Vehicles (Dev)


Guest AuntieMangos

Recommended Posts

Hey guys, Not sure whether anyone has got vehicles working yet, but i finally managed to make it compile, But now when i right click vehicles i get a crash >_<

Supplying the logs im not sure whether anyone would be able to see the problem but its worth a try..

http://pastebin.com/dm1V4Cvk

Here's your error or crash if you want to call it:

  1. *
    c:\\users\\administrator\\desktop\\server stuff\\cores\\test core\\src\\game\\vehicle.cpp line 16900000001400507A2  000000000012FF50
    * __tmainCRTStartup+11A   Local  <user defined> 'this' = F130006D000001D5
    *   f:\\dd\\vctools\\crt_bld\\self_64_amd64\\crt\\src\\crtexe.c line 555 Parameter  unsigned int 'guidlow' = 0
    *  
    *         Parameter  <user defined> 'map' = FFFFFFFFFFFFFFFE
    * 0000000077A2F56D  000000000012FF80      Parameter  unsigned int 'phaseMask' = EE4E4100
    * BaseThreadInitThunk+D   Parameter  unsigned int 'Entry' = 42A38024
    *  
    *         Parameter  unsigned int 'vehicleId' = 0
    * 0000000077C63281  000000000012FFD0      Parameter  unsigned int 'team' = 3F02E434
    * RtlUserThreadStart+21   Parameter  <user defined> 'data' = 0


You have ether a typo or you forgot to change something and ended up with an undeclared variable. I can't say what it is exactly with out seeing the original and compareing it to the modification you did.

Link to comment
Share on other sites

  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Thank's i'll check it out now.

Edit: I'm not a C++ Expert, i will post code from vehicle.cpp

    {
       for (uint32 i = 0; i < MAX_VEHICLE_SPELLS; ++i)
       {
>> Line 169:      if(!GetVehicleData()->v_spells[i])
               continue;
           SpellEntry const *spellInfo = sSpellStore.LookupEntry(GetVehicleData()->v_spells[i]);
           if(!spellInfo)
               continue;

           if(spellInfo->powerType == POWER_MANA)
               break;

           if(spellInfo->powerType == POWER_ENERGY)
           {
               setPowerType(POWER_ENERGY);
               SetMaxPower(POWER_ENERGY, 100);
               SetPower(POWER_ENERGY, 100);
               break;
           }
       }
   }

If you need more then i'll put the whole vehicle.cpp on pastebin.

Link to comment
Share on other sites

Caskast, I'm a ML Programmer and what I see is:

>> Line 169: if(!GetVehicleData()->v_spells)

is causing an unsigned integer error which you can see here:

# BaseThreadInitThunk+D Parameter unsigned int 'Entry' = 42A38024

# Parameter unsigned int 'vehicleId' = 0

Explanation...GetVehicleData is a negative then v_spells has to throw a negative or when the math is done the result must be with the proper sign. now I'm not a C++ guru nor have much knowledge at all but from the perspective I see (which is machine code) this is what you have. the root could be up an argument or more that's causing this but this is where it breaks.

I hope this gives a better explanation than DaViper gave....sometimes he's a Dork...and then others ...He's still a Dork!

Link to comment
Share on other sites

It's totally wrong. Flame Leviathan, Kologarn, Archavon, Ignis and Deathbringer Saurfang are vehicles too and they can attack and have threat list.

I think you should include Mimiron & his robots, Krick & Ick and Tyrannus & Rimefang here. But I don't think they are actually vehicles. They may be just simple npcs with vehicle seats attached on them.

By vehicle I understand an npc which a player can use, move, casts spells and have their own health and energy. Neither of the bosses above can be used by players in this purpose.

Link to comment
Share on other sites

I think you should include Mimiron & his robots, Krick & Ick and Tyrannus & Rimefang here. But I don't think they are actually vehicles. They may be just simple npcs with vehicle seats attached on them.

By vehicle I understand an npc which a player can use, move, casts spells and have their own health and energy. Neither of the bosses above can be used by players in this purpose.

However most of vehicle-bosses can be 'entered' by players or creatures. For example, when Archavon grips player in hand player 'enters' boss-vehicle. Look at spell http://www.wowhead.com/spell=58672. First effect forces player to enter vehicle.

Seats differentiate by primary (rider) and secondary. Some vehicles have no rider seat and thus cannot be controlled. Some have no seats at all (like Saurfang). But if you look at sniff you can figure out that he is vehicle :)

Link to comment
Share on other sites

However most of vehicle-bosses can be 'entered' by players or creatures. For example, when Archavon grips player in hand player 'enters' boss-vehicle. Look at spell http://www.wowhead.com/spell=58672. First effect forces player to enter vehicle.

Seats differentiate by primary (rider) and secondary. Some vehicles have no rider seat and thus cannot be controlled. Some have no seats at all (like Saurfang). But if you look at sniff you can figure out that he is vehicle :)

I understand now. Thanks for pointing this out. :)

I have worked on the Ulduar scripts, but because my main core doesn't support vehicles yet, I haven't bothered too much with this things.

However there is another thing which I didn't actually understand, or I'm not sure if it's implemented correctly. I have done some reviews of Wojta's patch for vehicles, and I've seen that he has implemented vehicles as some kind of pets. This means that ingame a player which is inside a vehicle looks like this: "Demolisher Character's pet", and some of the vehicles' behavior is similar to the pets' behavior. I don't really think this is correct, maybe there should be another way in which the vehicles can be handled by the core.

Link to comment
Share on other sites

...I've seen that he has implemented vehicles as some kind of pets.

I don't really think this is correct, maybe there should be another way in which the vehicles can be handled by the core.

You're probably correct. There's lots of opcodes and definitions listed in the DBCs that are unknown or not fully understood.

Link to comment
Share on other sites

I honestly don't know, but xeross is usually prompt with updates when he's not wrapped up in other things.

Unfortunately, I think that's what has happened. Then again, he never said that nobody else could post fixes. It's our AHBot, too.

Big thanks to Wotja and the rest who took part in pushing the Vehicle update, but you core mod devs drive us poor server admins up the wall sometimes. lol

Link to comment
Share on other sites

Does anyone have this problem?:

After this Commit [10077] when using spells of the vehicle it does not count the killed creatures, which a quest requires.

For example DK quests: Massacre At Light's Point and An End To All Things...

Edit:

Nobody has a such problem? well then it's only me. :confused:

Link to comment
Share on other sites

However there is another thing which I didn't actually understand, or I'm not sure if it's implemented correctly. I have done some reviews of Wojta's patch for vehicles, and I've seen that he has implemented vehicles as some kind of pets. This means that ingame a player which is inside a vehicle looks like this: "Demolisher Character's pet", and some of the vehicles' behavior is similar to the pets' behavior. I don't really think this is correct, maybe there should be another way in which the vehicles can be handled by the core.

Blizz handle vehicles like any other controlled creature(I dont like calling everything "pet") if player is in it, so is best way to keep it like that in core. Need a proof? SMSG_PET_SPELLS, which is used to send vehicle spells should be enough.

"Demolisher Character's pet" is only outcome of some bad-filled packet, which needs to be fixed, nothing more. I will do this as soon as I can...

What behavior do you mean? Yes, vehicles behavior is not correct, but its not intended, it just need some more research & fixing.

Link to comment
Share on other sites

I have error on 10092

../../../src/game/Level3.cpp: In member function 'bool ChatHandler::HandleReloadAllCommand(const char*)':

../../../src/game/Level3.cpp:78: error: 'HandleReloadVehicleDataCommand' was not declared in this scope

../../../src/game/Level3.cpp:79: error: 'HandleReloadVehicleSeatDataCommand' was not declared in this scope

../../../src/game/Level3.cpp: At global scope:

../../../src/game/Level3.cpp:897: error: no 'bool ChatHandler::HandleReloadVehicleDataCommand(const char*)' member function declared in class 'ChatHandler'

../../../src/game/Level3.cpp:905: error: no 'bool ChatHandler::HandleReloadVehicleSeatDataCommand(const char*)' member function declared in class 'ChatHandler'

Link to comment
Share on other sites

@ Traponinet yes i'm having the same issue, only noticed it today though after updating and applying Jethrogibbs' [10112] patch.

Try dumping Jethrogibb's patch and then doing a pull fron Wojta's repo and then apply my fix, then compile...I haven't had that problem and I did try Jethrogibbs' patch and with in 2 to 3 revisions it crashed the compiler in both unit.cpp and player.cpp. my branch thats following wojta's repo hasn't had the compiler issue yet.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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