R8Sentinel

Optiune restart imediat

Jul 22nd, 2017
655
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. # Deschidem Uirestart.py din root
  2.  
  3. #Cautam
  4. self.restartTownButton=self.GetChild("restart_town_button")
  5.  
  6. #Adaugam
  7. self.restartNowButton=self.GetChild("restart_now_button")
  8.  
  9. #Cautam
  10. self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))
  11.  
  12. #Adaugam
  13. self.restartNowButton.SetEvent(ui.__mem_func__(self.RestartNow))
  14.  
  15. #Cautam
  16. self.restartTownButton=0
  17.  
  18. #Adaugam
  19. self.restartNowButton=0
  20.  
  21. #Cautam
  22. def RestartTown(self):
  23. net.SendChatPacket("/restart_town")
  24.  
  25. #Adaugam
  26. def RestartNow(self):
  27. net.SendChatPacket("/restart_now")
  28.  
  29.  
  30.  
  31. # Deschidem restartdialog.py din uiscript
  32.  
  33. #Cautam:
  34. "width" : 200,
  35. "height" : 88, # Este scris in doua locuri
  36. #Schimbam cu:
  37. "width" : 200,
  38. "height" : 115,
  39.  
  40. #Cautam:
  41. "text" : uiScriptLocale.RESTART_TOWN,
  42.  
  43. "default_image" : ROOT + "XLarge_Button_01.sub",
  44. "over_image" : ROOT + "XLarge_Button_02.sub",
  45. "down_image" : ROOT + "XLarge_Button_03.sub",
  46. },
  47. #Dupa adaugam:
  48. {
  49. "name" : "restart_now_button",
  50. "type" : "button",
  51.  
  52. "x" : 10,
  53. "y" : 77,
  54.  
  55. "text" : "|cffDA70D6Restarteaza imediat", # Schimbam culoarea si mesajul de pe buton.
  56. "tooltip_text" : " |cffffff00Aceasta optiune costa 300k", # Schimbam culoarea textului si mesajul.
  57.  
  58. "default_image" : ROOT + "XLarge_Button_01.sub",
  59. "over_image" : ROOT + "XLarge_Button_02.sub",
  60. "down_image" : ROOT + "XLarge_Button_03.sub",
  61. },
  62. ##########################################################R8Sentinel#############################################################
  63. # Intram in sursa serverului
  64. # Deschidem Cmd.cpp
  65.  
  66. #Cautam:
  67. ACMD(do_console);
  68.  
  69. #Adaugam:
  70. ACMD(do_restart_now);
  71.  
  72. #Cautam:
  73. { "console", do_console, 0, POS_DEAD, GM_LOW_WIZARD },
  74.  
  75. #Adaugam:
  76. { "restart_now", do_restart_now, 0, POS_DEAD, GM_LOW_WIZARD },
  77.  
  78. # Deschidem Cmd_general.cpp
  79.  
  80. #Cautam:
  81. ACMD(do_console)
  82. {
  83. ch->ChatPacket(CHAT_TYPE_COMMAND, "ConsoleEnable");
  84. }
  85.  
  86. #Adaugam:
  87. ACMD(do_restart_now)
  88. {
  89. if (false == ch->IsDead())
  90. {
  91. ch->ChatPacket(CHAT_TYPE_COMMAND, "CloseRestartWindow");
  92. ch->StartRecoveryEvent();
  93. return;
  94. }
  95.  
  96. if (ch->GetGold() < 300000) //#Modifica suma de yang
  97. {
  98. ch->ChatPacket(CHAT_TYPE_INFO,"Aceasta optiune costa 300k."); //#Modificam mesaj
  99. return;
  100. }
  101.  
  102. if (NULL == ch->m_pkDeadEvent)
  103. return;
  104.  
  105. int iTimeToDead = (event_time(ch->m_pkDeadEvent) / passes_per_sec);
  106.  
  107. if (!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG)
  108. {
  109. if (!test_server)
  110. {
  111. if (ch->IsHack())
  112. {
  113. //±æµa¸E, ¼ºAo¸E¿¡¼­´A A¼A? CIAo ¾E´A´U.
  114. if ((!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG) ||
  115. false == CThreeWayWar::instance().IsSungZiMapIndex(ch->GetMapIndex()))
  116. {
  117. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Ai folosit optiunea restart imediat pentru 300k."), iTimeToDead - (180 - g_nPortalLimitTime)); //#Modificam mesajul care apare pe chat.
  118. return;
  119. }
  120. }
  121. }
  122.  
  123. ch->ChatPacket(CHAT_TYPE_COMMAND, "CloseRestartWindow");
  124. ch->GetDesc()->SetPhase(PHASE_GAME);
  125. ch->SetPosition(POS_STANDING);
  126. ch->StartRecoveryEvent();
  127. ch->RestartAtSamePos();
  128. //ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY());
  129. ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());
  130. ch->DeathPenalty(0);
  131. ch->ReviveInvisible(5);
  132. ch->PointChange(POINT_GOLD, -300000, false); //#Modifica suma de yang
  133. //ch->RemoveSpecifyItem(77025,1);
  134. }
  135. }
  136.  
  137. ##########################################################R8Sentinel#############################################################
  138. #Daca vrem sa ceara un item adaugam dupa
  139. ACMD(do_console)
  140. {
  141. ch->ChatPacket(CHAT_TYPE_COMMAND, "ConsoleEnable");
  142. }
  143. #Adauga:
  144. ACMD(do_restart_now)
  145. {
  146. if (false == ch->IsDead())
  147. {
  148. ch->ChatPacket(CHAT_TYPE_COMMAND, "CloseRestartWindow");
  149. ch->StartRecoveryEvent();
  150. return;
  151. }
  152.  
  153. /* if (ch->GetGold() < 300000)
  154. {
  155. ch->ChatPacket(CHAT_TYPE_INFO,"Aceasta optiune costa 300k.");
  156. return;
  157. }*/
  158.  
  159. if (ch->CountSpecifyItem(27991) < 100)
  160. {
  161. ch->ChatPacket(CHAT_TYPE_INFO,"Envanterinde Bu Item Yokken Bu Islemi Yapamazsin.");
  162. return;
  163. }
  164.  
  165. if (NULL == ch->m_pkDeadEvent)
  166. return;
  167.  
  168. int iTimeToDead = (event_time(ch->m_pkDeadEvent) / passes_per_sec);
  169.  
  170. if (!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG)
  171. {
  172. if (!test_server)
  173. {
  174. if (ch->IsHack())
  175. {
  176. //¡¾©¡¥ìa¢¬E, ¨ù¨¬Ao¢¬E¢¯¢®¨ù¡©¢¥A A¨ùA¨Ï CIAo ¨úE¢¥A¢¥U.
  177. if ((!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG) ||
  178. false == CThreeWayWar::instance().IsSungZiMapIndex(ch->GetMapIndex()))
  179. {
  180. ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¨ú¨¡A¡À Ac¨öAAU CO ¨ùo ¨ú©ª¨öA¢¥I¢¥U. (%dAE ©ø©÷A¨ö)"), iTimeToDead - (180 - g_nPortalLimitTime));
  181. return;
  182. }
  183. }
  184. }
  185.  
  186. ch->ChatPacket(CHAT_TYPE_COMMAND, "CloseRestartWindow");
  187. ch->GetDesc()->SetPhase(PHASE_GAME);
  188. ch->SetPosition(POS_STANDING);
  189. ch->StartRecoveryEvent();
  190. ch->RestartAtSamePos();
  191. //ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY());
  192. ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());
  193. ch->DeathPenalty(0);
  194. ch->ReviveInvisible(5);
  195. //ch->PointChange(POINT_GOLD, -300000, false);
  196. ch->RemoveSpecifyItem(27991,100);
  197. }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment