Jump to content

CaNNab1S

Member
  • Posts

    22
  • Joined

  • Last visited

  • Feedback

    0%

About CaNNab1S

  • Birthday 09/30/1998

Informations

  • Gender
    Male
  • Country
    Romania
  • Nationality
    Romanian

Recent Profile Visitors

1230 profile views

CaNNab1S's Achievements

Enthusiast

Enthusiast (6/16)

  • Dedicated
  • Reacting Well
  • First Post
  • Collaborator
  • Conversation Starter

Recent Badges

11

Reputation

  1. Hi to all. I have a problem in game. When there are more monsters next to me, I can't move. It is very large frame-drop. I know it's a stupid question but I don't know the solution.
  2. Solved by battle.cpp please close this.
  3. Hi ! I want to add 2x SetRaceFlag in mob proto. I need Devils + Bosses or Undead + Bosses and didn't working. If i add only 1 it's ok. [Hidden Content]
  4. Who can help me? When i put this fix the server is not starting
  5. My server didn't working after this [Hidden Content] [Hidden Content] SYSERR: Jan 15 03:30:35 :: Process: FDWATCH: peer null in event: ident 21 SYSERR: Jan 15 03:30:37 :: Process: FDWATCH: peer null in event: ident 21
  6. This isn't normal because the more damage is not when i'm riding a horse.. is without horse
  7. Hi. I have a problem with my server. If i hit a metin stone with my horse or mount the dmg is 1x at 2hits, but if i unmount the dmg is normal.
  8. It works now. Thank you very much. Can you tell me if the function is ok now ? OLD: [Hidden Content] NEW: [Hidden Content]
  9. bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType) { #ifdef FIX_ATTACK_SAFEZONE SECTREE *sectree = NULL; SECTREE *vsectree = NULL; sectree = GetSectree(); vsectree = pkVictim->GetSectree(); if (sectree && vsectree){ if (sectree->IsAttr(GetX(), GetY(), ATTR_BANPK) || vsectree->IsAttr(pkVictim->GetX(), pkVictim->GetY(), ATTR_BANPK)) { if (GetDesc()) { LogManager::instance().HackLog("ANTISAFEZONE", this); GetDesc()->DelayedDisconnect(3); } } } #endif #ifdef ENABLE_SUPPORT_SYSTEM if (pkVictim && pkVictim->IsSupport()) { ChatPacket(CHAT_TYPE_INFO, "Nu poti ataca!"); return false; } #endif if (!CanMove()) return false; // CASTLE if (IS_CASTLE_MAP(GetMapIndex()) && false == castle_can_attack(this, pkVictim)) return false; // CASTLE // @fixme131 kirito if (!battle_is_attackable(this, pkVictim)) return false; DWORD dwCurrentTime = get_dword_time(); if (IsPC()) { if (IS_SPEED_HACK(this, pkVictim, dwCurrentTime)) return false; if (bType == 0 && dwCurrentTime < GetSkipComboAttackByTime()) return false; } else { MonsterChat(MONSTER_CHAT_ATTACK); } int iRet; if(iRet != BATTLE_NONE) { pkVictim->SetSyncOwner(this); if (pkVictim->CanBeginFight()) pkVictim->BeginFight(this); } if (bType == 0) { // // 일반 공격 // switch (GetMobBattleType()) { case BATTLE_TYPE_MELEE: case BATTLE_TYPE_POWER: case BATTLE_TYPE_TANKER: case BATTLE_TYPE_SUPER_POWER: case BATTLE_TYPE_SUPER_TANKER: iRet = battle_melee_attack(this, pkVictim); break; case BATTLE_TYPE_RANGE: FlyTarget(pkVictim->GetVID(), pkVictim->GetX(), pkVictim->GetY(), HEADER_CG_FLY_TARGETING); iRet = Shoot(0) ? BATTLE_DAMAGE : BATTLE_NONE; break; case BATTLE_TYPE_MAGIC: FlyTarget(pkVictim->GetVID(), pkVictim->GetX(), pkVictim->GetY(), HEADER_CG_FLY_TARGETING); iRet = Shoot(1) ? BATTLE_DAMAGE : BATTLE_NONE; break; default: sys_err("Unhandled battle type %d", GetMobBattleType()); iRet = BATTLE_NONE; break; } } else { if (IsPC() == true) { if (dwCurrentTime - m_dwLastSkillTime > 1500) { sys_log(1, "HACK: Too long skill using term. Name(%s) PID(%u) delta(%u)", GetName(), GetPlayerID(), (dwCurrentTime - m_dwLastSkillTime)); return false; } } sys_log(1, "Attack call ComputeSkill %d %s", bType, pkVictim?pkVictim->GetName():""); iRet = ComputeSkill(bType, pkVictim); } if (iRet == BATTLE_DAMAGE || iRet == BATTLE_DEAD) { OnMove(true); pkVictim->OnMove(); // only pc sets victim null. For npc, state machine will reset this. if (BATTLE_DEAD == iRet && IsPC()) SetVictim(NULL); return true; } return false; } The function is identical to a server on which it works
×
×
  • 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.