Guest User

Untitled

a guest
May 24th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. ICOMMAND(loopservers, "rrrrrrre", (ident *s_host, ident *s_port, ident *s_mode, ident *s_map, ident *s_mastermode, ident *s_players, /* ident *maxplayers, */ ident *s_description, uint *body),
  2. {
  3. if(s_host->type!=ID_ALIAS || s_port->type!=ID_ALIAS || s_mode->type!=ID_ALIAS || s_map->type!=ID_ALIAS || s_mastermode->type!=ID_ALIAS || s_players->type!=ID_ALIAS || /* maxplayers->type!=ID_ALIAS || */ s_description->type!=ID_ALIAS) return;
  4. identstack stack;
  5. refreshservers();
  6. loopv(servers)
  7. {
  8. serverinfo &si = *servers[i];
  9.  
  10. tagval t_host;
  11. tagval t_port;
  12. tagval t_mode;
  13. tagval t_map;
  14. tagval t_mastermode;
  15. tagval t_players;
  16. tagval t_description;
  17.  
  18. t_host.setstr(si.name);
  19. t_port.setint(si.port);
  20. t_mode.setint(si.attr.length()>=2 ? si.attr[1] : 0); // attr[0] // attr.length()>=2 ? server::modename(attr[1], "") : ""
  21. t_map.setstr(si.map);
  22. t_mastermode.setint(si.attr.length()>=5 ? si.attr[4] : 0);
  23. t_players.setint(si.numplayers);
  24. if(si.address.host == ENET_HOST_ANY) t_description.setstr("[unknown host]");
  25. else if(si.ping == serverinfo::WAITING) t_description.setstr("[waiting for response]");
  26. else t_description.setstr((char*) escapestring(si.sdesc));
  27.  
  28. pusharg(*s_host, t_host, stack);
  29. pusharg(*s_port, t_port, stack);
  30. pusharg(*s_mode, t_mode, stack);
  31. pusharg(*s_map, t_map, stack);
  32. pusharg(*s_mastermode, t_mastermode, stack);
  33. pusharg(*s_players, t_players, stack);
  34. pusharg(*s_description, t_description, stack);
  35.  
  36. s_host->flags &= ~IDF_UNKNOWN;
  37. s_port->flags &= ~IDF_UNKNOWN;
  38. s_mode->flags &= ~IDF_UNKNOWN;
  39. s_map->flags &= ~IDF_UNKNOWN;
  40. s_mastermode->flags &= ~IDF_UNKNOWN;
  41. s_players->flags &= ~IDF_UNKNOWN;
  42. s_description->flags &= ~IDF_UNKNOWN;
  43.  
  44. execute(body);
  45. }
  46.  
  47. /*
  48. if (servers.length()) {
  49. poparg(*s_host);
  50. poparg(*s_port);
  51. poparg(*s_mode);
  52. poparg(*s_map);
  53. poparg(*s_mastermode);
  54. poparg(*s_players);
  55. poparg(*s_description);
  56. }
  57. */
  58.  
  59. });
Add Comment
Please, Sign In to add comment