hfwhite

Untitled

Jun 18th, 2025
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.86 KB | None | 0 0
  1.     # Dont Touch #                     
  2.     def OnUpdate(self):
  3.         current_time = time.time()
  4.         if current_time - self.last_update_time < self.animation_interval:
  5.             return
  6.  
  7.         self.last_update_time = current_time
  8.  
  9.         window = self.GetCurrentWindow()
  10.         if window == None:
  11.             return
  12.         scriptChildrens = window.Children
  13.         if len(scriptChildrens) == 0:
  14.             return
  15.  
  16.         elementDictionary = window.ElementDictionary
  17.         for childName, child in elementDictionary.items():
  18.             (_x, _y) = child.GetGlobalPosition()
  19.             childHeight = child.GetHeight()
  20.             textLines = []
  21.             if isinstance(child, ui.TextLine):
  22.                 textLines.append(child)
  23.  
  24.             for childItem in textLines:
  25.                 text = childItem.GetText()
  26.                 if text is None or len(text) == 0:
  27.                     continue
  28.                 if childItem.GetTextSize()[0] > 250 and text.endswith("..") == False:
  29.                     if childItem not in self.original_texts:
  30.                         self.original_texts[childItem] = text
  31.                         self.text_iteration[childItem] = len(text)
  32.                         self.text_length[childItem] = len(text)
  33.  
  34.                     if childItem not in self.default_texts:
  35.                         while childItem.GetTextSize()[0] > 250 and len(text) > 0:
  36.                             text = text[:-1]
  37.                             childItem.SetText(text)
  38.                         if childItem not in self.text_nr_of_letters_hidden:
  39.                             self.text_nr_of_letters_hidden[childItem] = len(self.original_texts[childItem]) - len(text)
  40.                         self.default_texts[childItem] = text
  41.                         self.text_iteration[childItem] = len(text)
  42.                         text = self.default_texts[childItem][:-2] + ".."
  43.                         childItem.SetText(text)                        
  44.  
  45.                 xMouse, yMouse = wndMgr.GetMousePosition()
  46.                 x, y = childItem.GetGlobalPosition()
  47.                 is_hovered = (
  48.                     xMouse >= x and
  49.                     xMouse < x + childItem.GetTextSize()[0] and
  50.                     yMouse >= y and
  51.                     yMouse < y + childItem.GetTextSize()[1]
  52.                 )
  53.  
  54.                 if is_hovered:
  55.                     if childItem.GetText().endswith(".."):
  56.                         text = childItem.SetText(self.default_texts[childItem])
  57.                         self.text_iteration[childItem] = len(self.default_texts[childItem])
  58.                         self.text_nr_of_letters_hidden[childItem] = len(self.original_texts[childItem]) - len(self.default_texts[childItem])
  59.                         self.text_nr_of_letters_revealed[childItem] = 0
  60.  
  61.                     if text is None or len(text) == 0:
  62.                         continue
  63.                     if len(text) > 2 and childItem in self.original_texts:
  64.                         if childItem not in self.text_directions:
  65.                             self.text_directions[childItem] = "forward"
  66.  
  67.                         if self.text_directions[childItem] == "backward":
  68.                             self.text_directions[childItem] = "forward"
  69.  
  70.                         if self.text_directions[childItem] == "forward":
  71.                             if self.text_iteration[childItem] < len(self.original_texts[childItem]):
  72.                                 expected_next_letter = self.original_texts[childItem][self.text_iteration[childItem]]
  73.                                 self.text_iteration[childItem] += 1
  74.                                 new_text = text[1:] + expected_next_letter
  75.  
  76.                                 childItem.SetText(new_text)
  77.                                 if childItem.GetTextSize()[0] > 250:
  78.                                     new_text = new_text[:-1]
  79.                                     self.text_iteration[childItem] -= 1
  80.                                     childItem.SetText(new_text)
  81.  
  82.                                 if childItem.GetTextSize()[0] < 250-5:
  83.                                     childItem.SetText(new_text)                                
  84.    
  85.                                 if childItem not in self.text_nr_of_letters_revealed:
  86.                                     self.text_nr_of_letters_revealed[childItem] = 1
  87.                                 else:
  88.                                     self.text_nr_of_letters_revealed[childItem] += 1
  89.                 else:
  90.                     if childItem in self.text_directions and self.text_directions[childItem] == "forward":
  91.                         self.text_directions[childItem] = "backward"
  92.                     elif childItem in self.text_directions and self.text_directions[childItem] == "backward":
  93.                         if childItem in self.default_texts:
  94.                             text = childItem.GetText()
  95.                             prev_char_index = self.text_nr_of_letters_revealed.get(childItem, 0) - 1
  96.                             self.text_iteration[childItem] -= 1
  97.  
  98.                             if prev_char_index >= 0:
  99.                                 new_text = self.original_texts[childItem][prev_char_index] + text[:-1]
  100.                                 childItem.SetText(new_text)
  101.                                 self.text_nr_of_letters_revealed[childItem] = prev_char_index
  102.                                 while childItem.GetTextSize()[0] > 250:
  103.                                     new_text = new_text[:-1]
  104.                                     self.text_iteration[childItem] -= 1
  105.                                     childItem.SetText(new_text)
  106.                                 while childItem.GetTextSize()[0] < 250 - 5 and prev_char_index > 0:
  107.                                     prev_char_index -= 1
  108.                                     new_text = self.original_texts[childItem][prev_char_index] + new_text
  109.                                     childItem.SetText(new_text)
  110.                                     self.text_nr_of_letters_revealed[childItem] = prev_char_index                              
  111.                             else:
  112.                                 self.text_directions[childItem] = "forward"
  113.                                 childItem.SetText(self.default_texts[childItem])
  114.                                 self.text_iteration[childItem] = len(self.default_texts[childItem])
  115.                                 self.text_nr_of_letters_hidden[childItem] = len(self.original_texts[childItem]) - len(self.default_texts[childItem])
  116.                                 self.text_nr_of_letters_revealed[childItem] = 0
  117.                                 text = self.default_texts[childItem][:-2] + ".."
  118.                                 childItem.SetText(text)                            
  119.     # Dont Touch #     
Advertisement
Add Comment
Please, Sign In to add comment