Jump to content

Zarcky

Members
  • Posts

    6
  • Joined

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Zarcky's Achievements

Newbie

Newbie (1/14)

6

Reputation

  1. Pelo que indica o erro é na quest "anuncio", teria como enviar este arquivo para analisar melhor o erro?
  2. Bloquear itens nos mapas através da source é bem simples, além de ser bem mais eficiente do que por quests. Primeiro precisamos ir até o arquivo char_item.cpp. Agora procuramos pela função: static bool IS_SUMMON_ITEM(int vnum) Abaixo dela adicionamos a seguinte: static bool IS_ENABLE_ITEM(int vnum) { switch (vnum) { case 39011: case 39012: case 39013: return true; } return false; } Sendo 39011 , 39012 e 39013 os itens a se bloquear. Agora vamos procurar pela seguinte função: bool IS_BOTARYABLE_ZONE(int nMapIndex) Acima dela adicionamos: bool IS_ENABLE_ITEM_ZONE(int map_index) { switch (map_index) { case 29: case 30: case 31: return false; } return true; } Sendo 29, 30 e 31 os index dos mapas a se bloquear. Por fim procuramos por: //PREVENT_TRADE_WINDOW E antes dele colocamos: if (IS_ENABLE_ITEM(item->GetVnum())) { if (false == IS_ENABLE_ITEM_ZONE(GetMapIndex())) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("현재 위치에서 사용할 수 없습니다.")); return false; } } Pronto, agora já estamos bloqueando o uso dos itens 39011 , 39012 e 39013 nos mapas com index 29, 30 e 31. Créditos pelo sistema são de akrmoa
  3. Boas, No meu servidor estou colocando alguns mapas (como ilha do caos) para só dar exp para jogadores num determinado intervalo de tempo. Como não achei nenhum tutorial na net, resolvi tentar eu mesmo, e compartilhar aqui: Primeiro precisamos ir até o arquivo char_battle.cpp. Em seguida procuramos por: static void GiveExp(LPCHARACTER from, LPCHARACTER to, int iExp) { Em seguida adicionamos abaixo um verificador para limitar o XP: Caso queiram limitar o mapa todo, usem: if(to->GetMapIndex()==301){ if(to->GetLevel()<95 || to->GetLevel()>105){ return; } } Sendo 301 o Index do mapa e 95~105 o intervalo de nível. Caso queiram limitar apenas um determinado mob, usem: if(true == from->IsMonster() && 3001 == from->GetMobTable().dwVnum){ if(to->GetLevel()<95 || to->GetLevel()>105){ return; } } Sendo 3001 o Id do Mob no mob_proto e 95~105 o intervalo de nível. Espero ter ajudado
  4. Também estou atrás desses, principalmente o de costume em armas. Se alguem tiver agradeço se puder compartilhar
×
×
  • Create New...