ilija
-
Posts
179 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by ilija
-
-
I wonder, when a spell get casted ingame.
What is telling the spell what Spelleffects it should use? The .dbc(client) part or also the server part?
So for example
When i cast fireball
What says that it should use EffectSchoolDMG effect?? The client or the server self? If server , where does the function get called?
-
So the point is you can use bitwise operators better with hex then with dec,
Thank you very much al
Edit: Still wonder how to find SpellFamilyflag with mangos dbceditor(if possible)
-
I used the dbceditor of mangos but still cant find it
and what is the advantage of using hex? so what do you see faster?
If you use hex , you can see the bit faster? Teach me how ;P
-
Like i said lynx3d, sorry maybe my english not good
But that means in line like
For example SpellFamilyFlags[0] = 00100(bin) if (SpellFamilyFlags[0] & 0x4) { // this will be get executed since SpellFamilyFlags[0] & 0x4 == 00100 } And if you get this if (SpellFamilyFlags[0] & 0x2) { //this wont get executed since SpellFamilyFlags[0] & 0x2 == 00000 }
Ok , am i right?
But you said:
everyone can easily see it has only two bits set,What do you mean exactly by it?
I think i dont understand the content of a flag completly
And where are those SpellFamilyFlags[x] are written in dbc exactly? (Spell.dbc i cant find it )
-
No idea what you're trying to do...
If you mean operations on SpellEntry::SpellFamilyFlags, then yes, those values are from Spell.dbc of course, because SpellEntry only contains data parsed from Spell.dbc.
Most player related spells just have some unique combination of SpellFamilyName and bits set in SpellFamilyFlags/SpellFamilyFlags2.
Checking for those bits simply allows to identify abilities (say "Fireball") independent of its rank.
And we use hexadecimal notation just because it's easier to read, with "0x20001" everyone can easily see it has only two bits set, if you use the decimal version "131073" in code, no one know how many flags you're checking...you can convert decimal<->hexadecimal with every halfway decent calculator...
Sorry , i mean SpellfamilyFlags ofcourse, i wonder when you know what array and what hex(dec) you need to use, what excactly .dbc file and table it stand?
But other way why you need here bitwise????
And what do you mean with: everyone can easily see it has only two bits set
Example:
//slice and dice if (spellproto->SpellFamilyFlags[0] & 0x40000)
But if (>0) is always true, i just dont understand how you can use 2 variables with bitwise operator as statement?
Since it is calculation
-
Ye but i still dont understand , i udnerstand how bitwise are working but i dont understand why you need to do that in spellfamily for example?
Example:
Spellfamily[0] = 00100 0x2 Then you got this code if (Spellfamily[0] | 0x2) { Spellfamily[0] | 0x2 == 00110; } Other example with same variables if (Spellfamily[0] & 0x2) { Spellfamily[0] & 0x2 == 00000; }
Is this correct?? And how to find those hexdec and Spellfamily? Please dont say only in .dbc files, since i already looked in
-
I dont understand how the bitwise operators in mangos are used in spells
I read alot of bitwise operators but still dont understand .
Operators like : << >> & |
Example: Spellfamily[x] & 0x50 , i understand 0x50 is hex but what does it do exactly?(calculation?)
Other question is how to find spellfamily and the hexdecimal? I know i can find it in dbc, but i never could find and i check DBCstructureer.h but still dont understand
Could someone make this clear, since i really think this is nessesary to know how this work to for example to fix spells
PS: i know that spellfamily and hex is related to a spell with all ranks
-
Thats because spell1 etc dont mean it uses it , if you fill in the table: it means it can be mind controlled or something related
You need to use AI
-
What does it exactly do? Optimize yes but what is exactly optimized and how?
-
Hello, i got a small problem:
Since i dont have that much ram , i need to clean my char database(cause it is innodb and i set innodb_buffer_pool_size and i want to keep it below) , Now , when im cleaning the char db(yes char data is really deleted!) The innodb data size dont change, according mysqltuner and the files in /var/lib/mysql.
I think the problem is: innodb_file_per_table = 1, but im not sure, so i ask how can i solve that
Rusfighter
-
-
take boss whisper
I dont think boss whisper gives you the same kind of message? I mean it doesnt have that grapich
-
char str[200];
sprintf(str,"[D10] You are on %u KillStreak!",KillingStreak[kGUID].KillStreak);
killer->MonsterTextEmote(str,kGUID,true);
Got other problem , other playes in some range can also see that , anyway to avoid that?
Got ugly hack, decrease text emote range of creatures in config , but that is very ugly!
-
Ok works now , should be GUID of the player
-
where did you add it?
i added in player.cpp
-
Somehow it also happens in Battlegrounds, they use something like:
WorldPacket data(SMSG_MESSAGECHAT, 200); data << (uint8)CHAT_MSG_RAID_BOSS_EMOTE; data << (uint32)LANG_UNIVERSAL; data << (uint64)0; data << (uint32)0; // 2.1.0 data << (uint32)1; data << (uint8)0; data << (uint64)0; data << (uint32)(strlen(msg.c_str())+1); data << msg.c_str(); data << (uint8)0; for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr) if (Player *plr = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER))) if (plr->GetSession()) plr->GetSession()->SendPacket(&data);
I have tried,
std::string str = ""; str = "You have %d kills without dying!", KillingStreak[kGUID].KillStreak; WorldPacket data(SMSG_MESSAGECHAT, 200); data << (uint8)CHAT_MSG_RAID_BOSS_EMOTE; data << (uint32)LANG_UNIVERSAL; data << (uint64)0; data << (uint32)0; // 2.1.0 data << (uint32)1; data << (uint8)0; data << (uint64)0; data << (uint32)(str.size()+1); data << str; data << (uint8)0; killer->GetSession()->SendPacket(&data);
But wont work
-
Nope: error: no matching function for call to 'Player::MonsterTextEmote(std::string&, Player*&, bool)'
-
Hello, im creating own killstreak system for players.
And when player kills someone , i want to let them know on what streak he is , but with messagetype of CHAT_MSG_RAID_BOSS_EMOTE, ye i know , that is the hard way
But anyways , is this possible?
-
Hello,
I got a question ppl, is it possible to cast a global spell that every player will have in the world?
I just got the idea like retail, before cataclysm was released they had some random earthquakes, i wonder if this is also possible. I already tried something in Player::Update function but that works like crap (maybe im just noob )
So anyone a idea?
-
Confirm: In seconds! This can be closed
-
Ye just tried it out in milliseconds and saw that something was very wrong . Thank you anyway
-
Hello, im playing with the code abit and i want to know what value the Function GetTotalPlayedTime() returns, i know that is uint32 but what does it return? Played time in milliseconds? Or something else?
Thank you
-
-
So linux distro has this and will support up to 64gb? as i read from wiki?
Looking for a tutorial to debug spells
in OldC / C++
Posted
I wont do this but this is just example to understand how it works!
If you want to create a new spell, called frost ball, or something like that
And you want to give some effects to, you only need to fill the data in .dbc or also in some cpp files?