henhouse
-
Posts
111 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by henhouse
-
-
This is very good! I wish it was implemented in source because the .send mail command can only be like 255 characters(too short).
If it could be a command perhaps? Like .gm mail on/off?
<3 thanks though, I needed this!
-
Good God! Wouldn't that be an internet latency problem? Or are you running it on some dedicated server because that is extreme.
-
Great job guys! And hurray at the continued mangos-0.12 support We all love that!
-
Yeah patch doesn't work on Wrath anymore sadly.
Works on 2.4.3 still just fine, you just got to change "void Spell::EffectMomentMove(uint32 i)" to "void Spell::EffectLeapForward(uint32 i)" since they renamed it.
I am a little surprised no "real" Blink patch has ever been written. I mean arena, AV and all that have big patches, but none for Blink? Dang .
-
This has to be one of the most interesting pieces of code I've seen in awhile. If I had the C++ experience, I'd help, but my knowledge is limited. I hope someone picks this up, because this is the ideal solution compared to all the other anti cheats out there.
Yeah, in my opinion if this is truly almost Warden that can stop exploiters, it should be finished an implemented someday.
-
maybe base not at GM level but at isGamemaster() state ? So if you in GM-on state then as GM send fast GM-mails in normal state send normal mails...
Great idea, or perhaps a .gm mail on/off command?
-
Any chance to see this in mangos-0.12 soon?
-
Well hopefully you understand how the patch works. The "-" means to remove that line and "+" to add. So those are the changes. The lines that don't have those symbols are just for locating where to make the changes. In a text editor (I recommend Notepad++ for Windows) do a Find(Control+F) search of a line that isn't modified like "
Player* player = (Player*)user;" and then when you find it, press Enter a few times and copy + paste all the lines with the "+" to add them. Remember to delete the little plus signs though.
That's how you can manually add them. Works great when there's problems patching if it's small.
-
Those other errors we me being stupid and putting it in the line above it that looked very similar.
The target->GetZoneId() worked perfectly! These zones now give the "Dueling is not allowed here error." Nice!
-
Hm, I run it on Vista so it doesn't seem like an OS problem.
-
Hey, whenever I attempt to apply this patch I get an error about unknown line type on line 12.
Does this still work?
Thanks!
You can manually go in and add the lines, in fact it makes things a bit easier sometimes when there's hardly any changes.
-
=/ got this back:
..\\..\\src\\game\\SpellEffects.cpp(4925) : error C2065: 'targetAreaEntry' : undeclared identifier ..\\..\\src\\game\\SpellEffects.cpp(4925) : error C2227: left of '->flags' must point to class/struct/union/generic type type is ''unknown-type'' ..\\..\\src\\game\\SpellEffects.cpp(4925) : error C3861: 'GetAreaId': identifier not found ..\\..\\src\\game\\SpellEffects.cpp(4925) : error C3861: 'GetZoneId': identifier not found
-
In SpellEffects.cpp I'm trying to edit the line:
AreaTableEntry const* targetAreaEntry = GetAreaEntryByAreaID(target->GetZoneId()); if(targetAreaEntry && (targetAreaEntry->flags & AREA_FLAG_CAPITAL )) { SendCastResult(SPELL_FAILED_NO_DUELING); // Dueling isn't allowed here return; }
and change that line to:
if(targetAreaEntry && (targetAreaEntry->flags & AREA_FLAG_CAPITAL || (GetAreaId() == 2317) || (GetZoneId() == 3817)) )
So that those areas will basically have disabled dueling. Now, the C++ might be wrong, I've tried a few other ways, I'm very new with all this stuff anyway, but I always get the error:
..\\..\\src\\game\\SpellEffects.cpp(4972) : error C3861: 'GetAreaId': identifier not found
..\\..\\src\\game\\SpellEffects.cpp(4972) : error C3861: 'GetZoneId': identifier not found
So I thought I needed to include some resource file, so I tried stuff like including Map.h, MapManager.h, etc, etc and none of them get rid of this error. So I have a feeling I'm doing something completely wrong .
-
Yeah I normally would clean and stuff, I started noticing when I would recompile ScriptDev2 without cleaning it would just compile it without doing it all over again. I'll give it a try but I wanted to ask because I did it once but the mangosd.exe didn't say last modified and that time, but the last time I compiled. Hm.
Thanks.
-
I've been making a bit of edits to some files in MaNGOS and recompiling to then edit again is a waste of 10 minutes. Am I able to compile, then edit something like in Spell.cpp and then recompile only that file? Or do I really have to compile everything over again?
-
It is working how it is but, but only because of another bug... so nvm...
Confirmed, in http://github.com/mangos/mangos/commit/10e1fc9fe4b3ab4b5236edee2a94a01cba248819 this was fixed.
HOWEVER, Mass Dispell is still breaking stealth. Could you modify your patch and submit a patch for that? The devs might over look this thread since one of the problems has been resolved. Thanks.
-
Okay, I've run several test servers on Windows XP and never have this problem. But on vista you get this:
"Welcome to Ahn'Qiraj Temple. This raid instance is scheduled to reset in 6691 Days 15 Hours."
I get that in EVERY raid. The timer on the computer is synced with EST online time so there is NO mistake with it.
Any help for this problem?
-
I've been searching for a patch to fix blink for some time, and I found one in KAPATEJIb's cumulative patches. I've got to say that patch is really good.
Blink never fails, always removes stun, will never teleport you under the map, and in 99% teleports forward. Why 99%? Because it doesn't work in tunnels, such as Stormwind tunnels that connect districts. My guess is in that zone maps or vmaps are not generated correct, because at the orgrimmar entrace(tunnel), blink works normally. In other zones, works perfect, including arenas and BGs. Doesn't teleport through objects, brings you up to them. Works only if there are vmaps on.
Here are the changes:
Spell.cpp
case SPELL_EFFECT_LEAP: case SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER: { - float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); - float fx = m_caster->GetPositionX() + dis * cos(m_caster->GetOrientation()); - float fy = m_caster->GetPositionY() + dis * sin(m_caster->GetOrientation()); - // teleport a bit above terrain level to avoid falling below it - float fz = MapManager::Instance().GetBaseMap(m_caster->GetMapId())->GetHeight(fx,fy,m_caster->GetPositionZ(),true); - if(fz <= INVALID_HEIGHT) // note: this also will prevent use effect in instances without vmaps height enabled - return SPELL_FAILED_TRY_AGAIN; - - float caster_pos_z = m_caster->GetPositionZ(); - // Control the caster to not climb or drop when +-fz > 8 - if(!(fz<=caster_pos_z+8 && fz>=caster_pos_z-8)) - return SPELL_FAILED_TRY_AGAIN; - // not allow use this effect at battleground until battleground start if(m_caster->GetTypeId()==TYPEID_PLAYER) if(BattleGround const *bg = ((Player*)m_caster)->GetBattleGround())
SpellEffects.cpp
void Spell::EffectMomentMove(uint32 i) { if(unitTarget->isInFlight()) return; if( m_spellInfo->rangeIndex== 1) //self range { uint32 mapid = m_caster->GetMapId(); float dis = GetSpellRadius(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i])); // Start Info // float cx,cy,cz; float dx,dy,dz; float angle = unitTarget->GetOrientation(); unitTarget->GetPosition(cx,cy,cz); //Check use of vamps// bool useVmap = false; bool swapZone = true; if( MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(cx, cy, cz, false) < MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(cx, cy, cz, true) ) useVmap = true; const int itr = int(dis/0.5f); const float _dx = 0.5f * cos(angle); const float _dy = 0.5f * sin(angle); dx = cx; dy = cy; //Going foward 0.5f until max distance for(float i=0.5f; i<dis; i+=0.5f) { //unitTarget->GetNearPoint2D(dx,dy,i,angle); dx += _dx; dy += _dy; MaNGOS::NormalizeMapCoord(dx); MaNGOS::NormalizeMapCoord(dy); dz = MapManager::Instance().GetMap(mapid, unitTarget)->GetHeight(dx, dy, cz, useVmap); //Prevent climbing and go around object maybe 2.0f is to small? use 3.0f? if( (dz-cz) < 2.0f && (dz-cz) > -2.0f && (unitTarget->IsWithinLOS(dx, dy, dz))) { //No climb, the z differenze between this and prev step is ok. Store this destination for future use or check. cx = dx; cy = dy; cz = dz; } else { //Something wrong with los or z differenze... maybe we are going from outer world inside a building or viceversa if(swapZone) { //so... change use of vamp and go back 1 step backward and recheck again. swapZone = false; useVmap = !useVmap; //i-=0.5f; --i; dx -= _dx; dy -= _dy; } else { //bad recheck result... so break this and use last good coord for teleport player... dz += 0.5f; break; } } } //Prevent Falling during swap building/outerspace unitTarget->UpdateGroundPositionZ(cx, cy, cz); if(unitTarget->GetTypeId() == TYPEID_PLAYER) ((Player*)unitTarget)->TeleportTo(mapid, cx, cy, cz, unitTarget->GetOrientation(), TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET | (unitTarget==m_caster ? TELE_TO_SPELL : 0)); else MapManager::Instance().GetMap(mapid, unitTarget)->CreatureRelocation((Creature*)unitTarget, cx, cy, cz, unitTarget->GetOrientation()); } }
In SpellEffects.cpp, the MomentMove function is completely replaced by this one. This function is a modified version of KAPATEJIb's patch, dx, dy coords are computed in other way.
I tested this patch only for 2.4.3. For 3.0.x I'm not sure if it will work. However it should.
P.S. I hope it will help finish your work, Tassader2.
Out of all the Blink patches I've tested, this is BY FAR the most real working one. Why is it not been submitted for review?
-
Sorry to stick my nose in here, but I really do hope you can get this working like Blizzard's if that's what is trying to be done. Especially if it can be worked on and implemented into MaNGOS. The whole cheat-hacking is a really bad flaw and if there could be a real Warden monitoring it, it would be awesome.
-
Thanks for the fix! This is a big exploit and is blocked on retail servers. Will this mess any chat features up, or will it strictly block the use of \\n? If it only blocks that it should be pushed into repo.
Also, another big exploit, is like that AddOn, changing font colors. That's a really big exploit and problem, any hope on blocking that?
-
Kinda sad for me to ask, but I've never really understood what in the world this thing did... What does the BG Queue announce do exactly?
-
Awesome!
However can this be pushed to 0.12 like the previous one was too?
-
This was posted a long time ago actually.
You can also do GetZoneId() and use that to make the entire zone a sanctuary.
-
The recent one fixed Shadowstep, now maybe this should fix all the others?
[in 8554] BattleGround Objects to Database
in ... acceptedOld
Posted
Is this suppose to spawn them full of objects, or just create these blank databases?