Jump to content

.Devil.

Member
  • Posts

    64
  • Joined

  • Last visited

  • Feedback

    0%

About .Devil.

Informations

  • Gender
    Male

Recent Profile Visitors

1882 profile views

.Devil.'s Achievements

Contributor

Contributor (5/16)

  • Conversation Starter
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Recent Badges

28

Reputation

  1. I'm not doing the smart person, are you kidding me? I've told you a simple solution: check if affect is loaded with IsLoadedAffect. What is so hard to understand? I'm helping you.
  2. I wrote this for you: [Hidden Content] (it's easy to understand, find "$current_antiflag" and set your item's antiflag, after use the set_bit function to set a new flag).
  3. You can do a check on affects and verify if they are loaded with IsLoadedAffect. We're sorry but we don't known to code it, you can use your brain. Oh, and please, delete this comment. again. As you have done.
  4. + Open shop.cpp + Search for CShop::Buy(LPCHARACTER ch, BYTE pos) + After: if (pos >= m_itemVector.size()) { sys_log(0, "Shop::Buy : invalid position %d : %s", pos, ch->GetName()); return SHOP_SUBHEADER_GC_INVALID_POS; } put: if (IsPCShop() && ch->GetGMLevel() > GM_PLAYER) return SHOP_SUBHEADER_GC_SOLD_OUT; I haven't tested it but should work.
  5. I don't known, if they're the same then syserr is disabled from another place like \libthecore\include\stdafx.h or \game\src\stdafx.h, check them. One thing, is disabled your syslog or syserr?
  6. Because not all compiler works with them nested. You can't, anyway, make a function inside another function (I've write this in the previous post but I was referring to local classes/structs).. For example with C++98 you can call/declare struct/classes only from the function where they are declared (but not as argument for another function, like you did).
  7. Write the FPartyPIDCollector struct out of the function. You can't write nested functions like this.
  8. struct FuncPurgeOnGround { void operator () (LPENTITY ent) { if (!ent->IsType(ENTITY_ITEM)) return; M2_DESTROY_ITEM((LPITEM) ent); } }; ACMD(do_purge_on_ground) { FuncPurgeOnGround func; LPSECTREE sectree = ch->GetSectree(); // only current map if (sectree) sectree->ForEachAround(func); else sys_err("PURGE_ERROR.NULL_SECTREE(mapIndex=%d, pos=(%d, %d)", ch->GetMapIndex(), ch->GetX(), ch->GetY()); }
  9. http://www101.zippyshare.com/v/Y8UQcF5i/file.html
  10. \UserInterface\InstanceBase.cpp -> Search for UINT CInstanceBase::SHORSE::GetLevel() and add the desidered vnum(s).
  11. Its not work for me, more than 255+ bugg. It is not a bug. You must change the attack speed's data type in packets like TPacketGCCharacterUpdate and TPacketGCCharacterAdd. Poorly written, it was about the error. So.. what is your bug? I don't understand you and your problem, really. You want to increase attack speed.. so.. I replied why more than 255 doesn't work. I don't replied why there are crash.. In any case, guys, you have to read about ani.cpp. If you want to decrease ninja's crashes try editing GET_ATTACK_SPEED's battle.cpp function. DWORD GET_ATTACK_SPEED(LPCHARACTER ch) { if (NULL == ch) return 1000; LPITEM item = ch->GetWear(WEAR_WEAPON); DWORD default_bonus = SPEEDHACK_LIMIT_BONUS; // 유두리 공속(기본 80) DWORD riding_bonus = 0; if (ch->IsRiding()) { // 뭔가를 탔으면 추가공속 50 riding_bonus = 50; } DWORD ani_speed = ani_attack_speed(ch); DWORD real_speed = (ani_speed * 100) / (default_bonus + ch->GetPoint(POINT_ATT_SPEED) + riding_bonus); // 단검의 경우 공속 2배 if (item && item->GetSubType() == WEAPON_DAGGER) real_speed /= 2; return real_speed; } To: DWORD GET_ATTACK_SPEED(LPCHARACTER ch) { if (NULL == ch) return 1000; LPITEM item = ch->GetWear(WEAR_WEAPON); DWORD default_bonus = SPEEDHACK_LIMIT_BONUS; // 유두리 공속(기본 80) DWORD riding_bonus = 0; if (ch->IsRiding()) { // 뭔가를 탔으면 추가공속 50 riding_bonus = 50; } DWORD ani_speed = ani_attack_speed(ch); DWORD real_speed = (ani_speed * 100) / (default_bonus + ch->GetPoint(POINT_ATT_SPEED) + riding_bonus); return real_speed; } But I think this is a wrong way to do this.. Another thing you can do it is to disable the speed hack. But the same, it is the wrong way. The "right" thing to do is, in my opinion, editing combo_%d.msa in /data/(pc|pc2)/(asssin|shaman|...), but for this you need to understand how ani.cpp works. I've never tried to edit these files, so this method is not tested.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.