Jump to content

Louis T Steinhil

Members
  • Posts

    180
  • Joined

  • Last visited

  • Days Won

    13

Louis T Steinhil last won the day on June 11

Louis T Steinhil had the most liked content!

4 Followers

Profile Information

  • Gender
    Male
  • Location
    Philippines

Recent Profile Visitors

4946 profile views

Louis T Steinhil's Achievements

Magmaring

Magmaring (7/15)

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

Recent Badges

43

Reputation

7

Community Answers

  1. Nvm sorry for this stupid post. I found it Added dummy parsing for 0xbdd (#9194) Added dummy parsing for 0xbe2 (#9195) Added dummy parsing for 0xbf3 (#9215)
  2. Hello guys, when was this added? I tried looking into commits but I'm definitely missing something because I can't find the commit of this part. Thanks in advance!
  3. This is a request from Extend whodrops command to include map drops #8017 I'm only enhancing @whodrops command. I've included map_drops.yml in the command extern MapDropDatabase map_drop_db; extern InstanceDatabase instance_db; sprintf(atcmd_output, "Map drops:"); clif_displaymessage(fd, atcmd_output); std::map<std::pair<uint16, double>, std::vector<std::string>> map_drop_groups; bool found_map_drops = false; for (const auto& map_entry : map_drop_db) { std::shared_ptr<s_map_drops> mapdrops = map_entry.second; std::string map_name = map_mapid2mapname(map_entry.first); std::string display_name = map_name; if (map_name.find("@") != std::string::npos) { for (const auto& instance_entry : instance_db) { std::shared_ptr<s_instance_db> instance = instance_entry.second; if (strcmp(map_mapid2mapname(instance->enter.map), map_name.c_str()) == 0) { display_name = instance->name; break; } for (const auto& additional_map : instance->maplist) { if (strcmp(map_mapid2mapname(additional_map), map_name.c_str()) == 0) { display_name = instance->name; break; } } if (display_name != map_name) break; } } for (const auto& global_drop : mapdrops->globals) { if (global_drop.second->nameid == id->nameid) { double rate_percent = (global_drop.second->rate * 100.0) / 100000.0; std::pair<uint16, double> key = std::make_pair(0, rate_percent); map_drop_groups[key].push_back(display_name); found_map_drops = true; } } for (const auto& specific_entry : mapdrops->specific) { uint16 mob_id = specific_entry.first; for (const auto& drop : specific_entry.second) { if (drop.second->nameid == id->nameid) { double rate_percent = (drop.second->rate * 100.0) / 100000.0; std::pair<uint16, double> key = std::make_pair(mob_id, rate_percent); map_drop_groups[key].push_back(display_name); found_map_drops = true; } } } } if (!found_map_drops) { sprintf(atcmd_output, " - Item is not dropped by map-specific drops."); clif_displaymessage(fd, atcmd_output); } else { for (const auto& group : map_drop_groups) { uint16 mob_id = group.first.first; double rate = group.first.second; const std::vector<std::string>& maps = group.second; std::string map_list = ""; for (size_t i = 0; i < maps.size(); ++i) { if (i > 0) map_list += ", "; map_list += maps[i]; } if (mob_id == 0) { sprintf(atcmd_output, "- All monsters: %.2f%% - (%s)", rate, map_list.c_str()); } else { std::shared_ptr<s_mob_db> mob = mob_db.find(mob_id); if (mob) { sprintf(atcmd_output, "- %s (%d): %.2f%% - (%s)", mob->jname.c_str(), mob_id, rate, map_list.c_str()); } } clif_displaymessage(fd, atcmd_output); } } Screenshot: Extend whodrops command to include map drops (#8017).diff
  4. Constellation Tower Edda Somatology Episode 19 Fall of Glastheim Old Glast Heim - Hard Remorse Thanatos Tower New Instances.zip
  5. It's because 2024 clients are not supported yet. If you really want it, you're gonna have to buy it.
  6. I think you need this on your lua files
  7. pm me on discord louis17steinhil
  8. Have the same problem. I changed alice card to str+1000 but it doesnt show. It still shows the original 40% reduction from boss
  9. // Even thought mobhp ain't a name, we send it as one so the client can parse it. [Skotlex] if( str_p != mobhp ){ *(str_p-3) = '\0'; //Remove trailing space + pipe. safestrncpy( packet.guild_name, mobhp, NAME_LENGTH ); }
  10. char race_name[9] = { 0 }; switch (md->status.race) { case 0: strcpy(race_name, "Formless");break; case 1: strcpy(race_name, "Undead");break; case 2: strcpy(race_name, "Brute");break; case 3: strcpy(race_name, "Plant");break; case 4: strcpy(race_name, "Insect");break; case 5: strcpy(race_name, "Fish");break; case 6: strcpy(race_name, "Demon");break; case 7: strcpy(race_name, "D-Human");break; case 8: strcpy(race_name, "Angel");break; case 9: strcpy(race_name, "Dragon");break; default: break; } str_p += sprintf( str_p, "Race: %s | ", race_name);
  11. anyone happen to know how can i move the info like this?
  12. hey bro how did you move the info at the bottom of the monsters name?
×
×
  • Create New...