stats.pwn 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. stock ShowStats(playerid,targetid)
  2. {
  3. if(IsPlayerConnected(targetid))
  4. {
  5. new resultline[1024], header[65], org[128], employer[GROUP_MAX_NAME_LEN], rank[GROUP_MAX_RANK_LEN], division[GROUP_MAX_DIV_LEN];
  6. new sext[16], std[20], nation[24], biz[128];
  7. if(PlayerInfo[targetid][pSex] == 1) { sext = "Male"; } else { sext = "Female"; }
  8. switch(GetPVarInt(targetid, "STD"))
  9. {
  10. case 1: std = "Chlamydia";
  11. case 2: std = "Gonorrhea";
  12. case 3: std = "Syphilis";
  13. default: std = "None";
  14. }
  15. if(PlayerInfo[targetid][pMember] != INVALID_GROUP_ID)
  16. {
  17. GetPlayerGroupInfo(targetid, rank, division, employer);
  18. format(org, sizeof(org), "Group: %s (%d)\nRank: %s (%d)\nDivision: %s (%d)\n", employer, PlayerInfo[targetid][pMember], rank, PlayerInfo[targetid][pRank], division, PlayerInfo[targetid][pDivision]);
  19. if(arrGroupData[PlayerInfo[targetid][pMember]][g_iGroupType] != GROUP_TYPE_CRIMINAL) format(org, sizeof(org), "%sBadge Number: %s\n", org, PlayerInfo[targetid][pBadge]);
  20. }
  21. else format(org, sizeof(org), "");
  22. if(PlayerInfo[targetid][pBusiness] != INVALID_BUSINESS_ID) format(biz, sizeof(biz), "Business: %s (%d)\nRank: %s (%d)\n", Businesses[PlayerInfo[targetid][pBusiness]][bName], PlayerInfo[targetid][pBusiness], GetBusinessRankName(PlayerInfo[targetid][pBusinessRank]), PlayerInfo[targetid][pBusinessRank]);
  23. else format(biz, sizeof(biz), "");
  24. switch(PlayerInfo[targetid][pNation])
  25. {
  26. case 0: nation = "San Andreas";
  27. case 1: nation = "New Robada";
  28. case 2: nation = "None";
  29. }
  30. new insur[32];
  31. insur = GetHospitalName(PlayerInfo[targetid][pInsurance]);
  32. new staffrank[64];
  33. if(PlayerInfo[targetid][pHelper] > 0 || PlayerInfo[targetid][pWatchdog] > 0 || PlayerInfo[targetid][pSEC] > 0 || PlayerInfo[targetid][pAdmin] == 1 || (PlayerInfo[targetid][pAdmin] > 1 && PlayerInfo[playerid][pAdmin] <= PlayerInfo[targetid][pAdmin])) format(staffrank, sizeof(staffrank), "%s", GetStaffRank(targetid));
  34. else staffrank = "";
  35. new drank[64];
  36. if(PlayerInfo[targetid][pDonateRank] > 0)
  37. {
  38. switch(PlayerInfo[targetid][pDonateRank])
  39. {
  40. case 1: drank = "{800080}Bronze VIP{FFFFFF}\n";
  41. case 2: drank = "{800080}Silver VIP{FFFFFF}\n";
  42. case 3: drank = "{FFD700}Gold VIP{FFFFFF}\n";
  43. case 4: drank = "{E5E4E2}Platinum VIP{FFFFFF}\n";
  44. }
  45. }
  46. new svipmod[40];
  47. if(PlayerInfo[targetid][pVIPMod])
  48. {
  49. switch(PlayerInfo[targetid][pVIPMod])
  50. {
  51. case 1: svipmod = "{800080}VIP Moderator{FFFFFF}\n";
  52. case 2: svipmod = "{800080}Senior VIP Moderator{FFFFFF}\n";
  53. }
  54. }
  55. new famedrank[64];
  56. if(PlayerInfo[targetid][pFamed] > 0)
  57. {
  58. switch(PlayerInfo[targetid][pFamed])
  59. {
  60. case 1: famedrank = "{228B22}Old-School{FFFFFF}\n";
  61. case 2: famedrank = "{FF7F00}Chartered Old-School{FFFFFF}\n";
  62. case 3: famedrank = "{ADFF2F}Famed{FFFFFF}\n";
  63. case 4: famedrank = "{8F00FF}Famed Commissioner{FFFFFF}\n";
  64. case 5: famedrank = "{8F00FF}Famed Moderator{FFFFFF}\n";
  65. case 6: famedrank = "{8F00FF}Famed Vice-Chairman{FFFFFF}\n";
  66. case 7: famedrank = "{8F00FF}Famed Chairman{FFFFFF}\n";
  67. }
  68. }
  69. new dprank[64];
  70. if(PlayerInfo[targetid][pDedicatedPlayer] > 0)
  71. {
  72. switch(PlayerInfo[targetid][pDedicatedPlayer])
  73. {
  74. case 1: dprank = "{336600}Tier 1 Dedicated Player{FFFFFF}\n";
  75. case 2: dprank = "{336600}Tier 2 Dedicated Player{FFFFFF}\n";
  76. case 3: dprank = "{336600}Tier 3 Dedicated Player{FFFFFF}\n";
  77. case 4: dprank = "{336600}Dedicated Moderator{FFFFFF}\n";
  78. }
  79. }
  80. if(PlayerInfo[targetid][pMarriedID] == -1) format(PlayerInfo[targetid][pMarriedName], MAX_PLAYER_NAME, "Nobody");
  81. new nxtlevel = PlayerInfo[targetid][pLevel]+1;
  82. new expamount = nxtlevel*4;
  83. new Float:health, Float:armor;
  84. GetHealth(targetid, health);
  85. GetArmour(targetid, armor);
  86. new Float:px,Float:py,Float:pz;
  87. GetPlayerPos(targetid, px, py, pz);
  88. new zone[MAX_ZONE_NAME];
  89. GetPlayer3DZone(targetid, zone, sizeof(zone));
  90. new fifstr[128];
  91. if(FIFEnabled)
  92. {
  93. format(fifstr, sizeof(fifstr), "{FF8000}FIF Hours:{FFFFFF} %d\n{FF8000}FIF Chances:{FFFFFF} %d\n", FIFInfo[targetid][FIFHours], FIFInfo[targetid][FIFChances]);
  94. }
  95. SetPVarInt(playerid, "ShowStats", targetid);
  96. format(header, sizeof(header), "Showing Statistics of %s", GetPlayerNameEx(targetid));
  97. format(resultline, sizeof(resultline),"%s\n\
  98. %s\
  99. %s\
  100. %s\
  101. %s\
  102. %s\
  103. {FFFFFF}Level: %d\n\
  104. Gender: %s\n\
  105. Date of Birth: %s\n\
  106. Current Location: %s (%0.2f, %0.2f, %0.2f)\n\
  107. Married To: %s\n\
  108. Health: %.1f\n\
  109. Armor: %.1f\n\
  110. Playing Hours: %s\n\
  111. Dedicated Hours: %s\n\
  112. Fitness: %d\n\
  113. Upgrade Points: %s\n\
  114. Next Level: %s{303030}/{FFFFFF}%s hours\n\
  115. Nation: %s\n\
  116. %s\
  117. %s\
  118. Job: %s (Level: %d)\n\
  119. Job 2: %s (Level: %d)\n\
  120. Job 3: %s (Level: %d)\n\
  121. Insurance: %s",
  122. staffrank,
  123. famedrank,
  124. dprank,
  125. drank,
  126. svipmod,
  127. fifstr,
  128. PlayerInfo[targetid][pLevel],
  129. sext,
  130. PlayerInfo[targetid][pBirthDate],
  131. zone, px, py, pz,
  132. PlayerInfo[targetid][pMarriedName],
  133. health,
  134. armor,
  135. number_format(PlayerInfo[targetid][pConnectHours]),
  136. number_format(PlayerInfo[targetid][pDedicatedHours]),
  137. PlayerInfo[targetid][pFitness],
  138. number_format(PlayerInfo[targetid][gPupgrade]),
  139. number_format(PlayerInfo[targetid][pExp]),
  140. number_format(expamount),
  141. nation,
  142. org,
  143. biz,
  144. GetJobName(PlayerInfo[targetid][pJob]),
  145. GetJobLevel(targetid, PlayerInfo[targetid][pJob]),
  146. GetJobName(PlayerInfo[targetid][pJob2]),
  147. GetJobLevel(targetid, PlayerInfo[targetid][pJob2]),
  148. GetJobName(PlayerInfo[targetid][pJob3]),
  149. GetJobLevel(targetid, PlayerInfo[targetid][pJob3]),
  150. insur);
  151. ShowPlayerDialogEx(playerid, DISPLAY_STATS, DIALOG_STYLE_MSGBOX, header, resultline, "Next Page", "Close");
  152. }
  153. return 1;
  154. }