Jump to content

Den

Inactive Member
  • Posts

    110
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    0%

Everything posted by Den

  1. Before: std::ifstream exppet_table_open("/usr/home/game/share/exppettable.txt"); Add: std::string temp_exp_line; #ifdef NEW_PET_SYSTEM std::string temp_exp_line; std::ifstream exppet_table_open("/usr/home/game/share/exppettable.txt"); /*if (!exp_table_open.is_open()) return 0;*/ int exppet_table_counter = 0; int tmppet_exp = 0; while (!exppet_table_open.eof()) { exppet_table_open >> temp_exp_line; str_to_number(exppet_table_common[exppet_table_counter], temp_exp_line.c_str()); if (exppet_table_common[exppet_table_counter] < 2147483647) { sys_log(0, "Livelli Pet caricati da exppettable.txt: %d !", exppet_table_common[exppet_table_counter]); exppet_table_counter++; } else { fprintf(stderr, "[main] Impossibile caricare la tabella exp valore non valido\n"); break; } } #endif Learn some basics of C++ - it doesn't hurt.
  2. 1. char.cpp find void CHARACTER::PointChange(BYTE type, int amount, bool bAmount, bool bBroadcast) after: case POINT_EXP: [ ... ] else { if (gPlayerMaxLevel <= GetLevel()) return; add: if (GetMapIndex() == 1 && GetLevel >= 75) //instead of 1 insert your map index and instead of 75 insert your level return; Mind that it will also block exp from missions.
  3. I'm using these from the beggining so you can grab this.
  4. You can use it like that for example: when 20019.chat."testing here" begin say("test") local npc_vid = npc.get_vid() --getting npc vid for the future use if npc_vid !=0 then target.vid("__TARGET__", npc_vid, "test_target") --targeting npc you've just talked to end end when __TARGET__.target.click begin say("test") target.delete("__TARGET__") end
  5. The function will return virtual ID of npc. You can use this in some function that takes vid as an argument. d.regen_file() will spawn mobs only once, d.set_regen_file() will loop regen (mobs will be respawned like in normal maps).
  6. So use d.new_jump_all(), it will create a new private map and teleport everyone like deviltower dungeon.
  7. I've edited the post above with the explanation of the functions. Do you want teleport them to the private dungeon map (10000+) or global map?
  8. EDIT: I'm blind xD EDIT2: d.new_jump_party() will teleport only party. d.new_jump_all() will teleport everyone on map.
  9. Check wear numeration. Root: inventorywindow.py Client source: GameType.h, ItemData.h Server source: item_length.h
  10. Show me your syserr.txt from client, uiinventory.py(root) and inventorywindow.py(locale/ui).
  11. cmd_general.cpp -> ACMD(do_restart)
  12. Check if names of properties, gr2 files or folders contain uppercase letters then change it to lowercase. I always check for that if something isn't working.
  13. Use it like this: set gnutarget i386-marcel-freebsd file /usr/home/game/share/bin/game core /usr/home/game/cores/channel1/game2/game.core bt full
  14. Try bool battle_is_attackable(LPCHARACTER ch, LPCHARACTER victim) { // »ó´ëąćŔĚ Á׾úŔ¸¸é Áß´ÜÇŃ´Ů. if (victim->IsDead()) return false; switch(ch->GetMapIndex()) { case 113: case 219: case 240: case 351: case 352: { if (victim->IsPC()) return false; } } ...
  15. Try to insert space on the end of string where you've used national characters e.g.: say("لقد أقدم بعض الخونه على سرقه مجموعة من عتادي المحبوب مني") say("لقد أقدم بعض الخونه على سرقه مجموعة من عتادي المحبوب مني ") The other thing is that you didn't define xx if pc.count_item ( xx ) == 1 then And I don't know if it's allowed to use ";" in lua so you can also try to remove them.
  16. Server src: battle.cpp function bool battle_is_attackable(LPCHARACTER ch, LPCHARACTER victim) Client src: InstanceBase.cpp function bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
  17. Client source: InstanceBase.cpp -> UINT CInstanceBase::SHORSE::GetLevel() Server source: pvp.cpp -> bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim) -> switch( pkChr->GetMountVnum() )
×
×
  • 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.