Guest User

Untitled

a guest
Mar 22nd, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.94 KB | None | 0 0
  1. --**
  2. --** Script banca portatile
  3. --** by BlackYuko Skype: manu___88
  4. --** Spolszenie by sddwdfsfgdh dla Mpcfroum.pl
  5. --**
  6.  
  7. quest banca begin
  8. state start begin
  9. when letter begin
  10. send_letter("Przenośny Bank ")
  11. end
  12.  
  13. when button or info begin
  14. say_title("Bank - Menu Główne ")
  15. say("Witaj "..pc.get_name()..".[ENTER]")
  16. say_reward("Obecne saldo wynosi : "..banca.ReadAccount().." Yang[ENTER]")
  17. say("Wybierz operacje :[ENTER]")
  18. local s = select("Ustawienia PIN'u ","Wpłać Yang ","Wypłać Yang ","Dokonaj przelewu ","Anuluj ")
  19. if s == 5 then
  20. send_letter("Przenośny Bank ")
  21. return
  22.  
  23. ---------------********** Ustawienia PIN **********---------------
  24.  
  25. elseif s == 1 then
  26. say_title("Bank - Ustawienia PIN'u ")
  27. say("Wybierz operacje :[ENTER]")
  28. local s = select("Zmiana PIN'u ", "Wyłączenie PIN'u ","Anuluj ")
  29. if s == 3 then
  30. send_letter("Przenośny Bank ")
  31. return
  32. elseif s == 1 then
  33. if not banca.ExistPin() then
  34. say_title("Bank - Nowy kod PIN ")
  35. say("Twój kod PIN jest wyłączony.")
  36. say("Czy chcesz ustawić go teraz ?[ENTER]")
  37. local s = select("Tak ","Nie ")
  38. if s == 2 then
  39. send_letter("Przenośny Bank ")
  40. return
  41. end
  42. local nuovo_pin = banca.ReadValue("Bank - Nowy kod PIN ", "Wprowadź nowy kod PIN :[ENTER]")
  43. if not nuovo_pin then
  44. send_letter("Przenośny Bank ")
  45. return
  46. end
  47. banca.SetPin(nuovo_pin)
  48. say_title("Bank - Nowy kod PIN ")
  49. say("Kod PIN został utworzony. ")
  50. say("Gratulacje ! [ENTER]")
  51. wait()
  52. send_letter("Przenośny Bank ")
  53. return
  54. end
  55. if not banca.ReadPin("Bank - Zmiana PIN'u") then
  56. send_letter("Przenośny Bank ")
  57. return
  58. end
  59. local nuovo_pin = banca.ReadValue("Bank - Zmiana PIN'u", "Wprowadź nowy kod PIN :[ENTER]")
  60. if not nuovo_pin then
  61. send_letter("Przenośny Bank ")
  62. return
  63. end
  64. banca.SetPin(nuovo_pin)
  65. say_title("Bank - Zmiana PIN'u ")
  66. say("Kod PIN został zaaktualizowany. ")
  67. say("Gratulacje ! [ENTER]")
  68. wait()
  69. send_letter("Przenośny Bank ")
  70. elseif s == 2 then
  71. if not banca.ExistPin() then
  72. say_title("Bank - Wyłączanie PIN'u ")
  73. say("Kod PIN został wyłączony !!![ENTER]")
  74. wait()
  75. send_letter("Przenośny Bank ")
  76. return
  77. end
  78. if not banca.ReadPin("Bank - Wyłączanie PIN'u ") then
  79. send_letter("Przenośny Bank ")
  80. return
  81. end
  82. say_title("Bank - Wyłączanie PIN'u ")
  83. say("Chcesz deaktywować kod PIN ?[ENTER]")
  84. local s = select("Tak ","Nie ")
  85. if s == 2 then
  86. send_letter("Przenośny Bank ")
  87. return
  88. end
  89. banca.DeletePin()
  90. say_title("Bank - Wyłączanie PIN'u ")
  91. say("Kod PIN został wyłączony !!![ENTER]")
  92. wait()
  93. send_letter("Przenośny Bank ")
  94. end
  95.  
  96. ---------------********** Wpłać Yang**********---------------
  97.  
  98. elseif s == 2 then
  99. if banca.ExistPin() then
  100. if not banca.ReadPin("Bank - Wpłać Yang ") then
  101. send_letter("Przenośny Bank ")
  102. return
  103. end
  104. end
  105. local n = banca.ReadValue("Bank - Wpłać Yang ", "Wpisz kwotę do zdeponowania w banku :[ENTER]")
  106. if not n then
  107. send_letter("Przenośny Bank ")
  108. return
  109. end
  110. if pc.get_gold() < n then
  111. say_title("Bank - Wpłać Yang")
  112. say("Posiadasz za mało Yang![ENTER]")
  113. wait()
  114. send_letter("Przenośny Bank ")
  115. return
  116. end
  117. banca.Deposit(n)
  118. pc.changemoney(-n)
  119. say_title("Bank - Wpłać Yang")
  120. say("Do banku wpłacono : "..n.." Yang.[ENTER]")
  121. wait()
  122. send_letter("Przenośny Bank ")
  123.  
  124. ---------------********** Wypłać Yang **********---------------
  125.  
  126. elseif s == 3 then
  127. if banca.ExistPin() then
  128. if not banca.ReadPin("Bank - Wypłacanie Yang ") then
  129. send_letter("Przenośny Bank ")
  130. return
  131. end
  132. end
  133. local n = banca.ReadValue("Bank - Wypłacanie Yang ", "Wprowadź kwotę do wypłacenia z banku :[ENTER]")
  134. if not n then
  135. send_letter("Przenośny Bank ")
  136. return
  137. elseif pc.get_gold()+n > 1999999999 then
  138. say_title("Bank - Wypłacanie Yang ")
  139. say("Posiadasz za dużo pieniędzy, ich wycofanie grozi ")
  140. say("zbugowaniem się yangów! [ENTER]")
  141. wait()
  142. send_letter("Przenośny Bank ")
  143. return
  144. end
  145. local res = banca.Withdraw(n)
  146. if res then
  147. say_title("Bank - Wypłacanie Yang ")
  148. say("Nie posiadasz takiej kwoty w banku![ENTER]")
  149. wait()
  150. send_letter("Przenośny Bank ")
  151. return
  152. end
  153. pc.changemoney(n)
  154. say_title("Bank - Wypłacanie Yang ")
  155. say("Wypłacono "..n.." Yang.[ENTER]")
  156. wait()
  157. send_letter("Przenośny Bank ")
  158.  
  159. ---------------********** Dokonaj przelewu **********---------------
  160.  
  161. elseif s == 4 then
  162. if banca.ExistPin() then
  163. if not banca.ReadPin("Bank - Dokonywanie przelewu ") then
  164. send_letter("Przenośny Bank ")
  165. return
  166. end
  167. end
  168. say_title("Bank - Dokonywanie przelewu ")
  169. say("Dzięki tej funkcji możesz prznieść wybraną ")
  170. say("ilośc Yang z tego konta na inne konto")
  171. say("bankowe.[ENTER]")
  172. wait()
  173. local n = banca.ReadValue("Bank - Dokonywanie przelewu ", "Wprowadź kwote do wysłania na drugie konto :[ENTER]")
  174. if not n then
  175. send_letter("Przenośny Bank ")
  176. return
  177. end
  178. say_title("Bank - Dokonywanie przelewu ")
  179. say("Wpisz nazwę postaci na którą wysyłasz Yangi :[ENTER]")
  180. say_reward("Zwróć uwagę na wpisywaną nazwe postaci !!! ")
  181. say_reward("Jeśli wpiszesz niepoprawnie, stracisz Yangi bezzwrotnie !!![ENTER] ")
  182. local name = tostring(input())
  183. if name == "" then
  184. say_title("Bank - Dokonywanie przelewu ")
  185. say("Wprowadzono nieprawidłową nazwę postaci. [ENTER]")
  186. wait()
  187. send_letter("Przenośny Bank ")
  188. return
  189. elseif name == pc.get_name() then
  190. say_title("Bank - Wysyłanie Yang")
  191. say("Nie możesz wpisać swojej nazwy postaci.[ENTER]")
  192. wait()
  193. send_letter("Przenośny Bank ")
  194. return
  195. end
  196. say_title("Bank - Dokonywanie przelewu ")
  197. say("Dane przelewu :[ENTER]")
  198. say_reward(" - Kwota do wysłania : "..n.." Yang")
  199. say_reward(" - Nazwa odbiorcy : "..name.." [ENTER]")
  200. say("To twoja ostatnia szansa, aby sprawdzić czy nazwa ")
  201. say("odbiorcy jest prawidłowa ! ")
  202. say("Czy chcesz kontynuować ?[ENTER]")
  203. local a = select("Tak ","Nie ")
  204. if a == 2 then
  205. send_letter("Przenośny Bank ")
  206. return
  207. end
  208. local res = banca.Withdraw(n)
  209. if res then
  210. say_title("Banca - Wysyłanie Yang")
  211. say("Nie posiadasz takiej kwoty w banku, ")
  212. say("aby móc dokonać przelewu ! [ENTER]")
  213. wait()
  214. send_letter("Przenośny Bank ")
  215. return
  216. end
  217. banca.Deposit(n, name)
  218. say_title("Bank - Przelew zakończony ")
  219. say("Przelew został dokonany ! ")
  220. say("Gratulacje ! [ENTER] ")
  221. say_reward(" - Nazwa odbiorcy : "..name.."")
  222. say_reward(" - Kwota przesłana : "..n.." Yang[ENTER]")
  223. wait()
  224. send_letter("Przenośny Bank ")
  225. end
  226. end
  227.  
  228. ---------------********** Funkcje skryptowe **********---------------
  229.  
  230. --** Czytanie PIN'u
  231. function ReadPin(title)
  232. local current_pin = banca.GetPin()
  233. local result = false
  234. repeat
  235. say_title(""..title.."")
  236. say("Wprowadź kod PIN:[ENTER]")
  237. local pin = tonumber(input())
  238. if pin != current_pin then
  239. say_title(""..title.."")
  240. say("Wprowadzony kod PIN jest niepoprawny. ")
  241. say("Chcesz powtórzyć wprowadzanie ?[ENTER]")
  242. local s = select("Tak ","Nie ")
  243. if s == 2 then
  244. break
  245. end
  246. else
  247. result = true
  248. break
  249. end
  250. until false
  251. return result
  252. end
  253.  
  254. --** Czytanie sumy Yang
  255. function ReadValue(title, message)
  256. local result = false
  257. repeat
  258. say_title(""..title.."")
  259. say(""..message.."")
  260. local var = tonumber(input())
  261. if var == nil or var <= 0 then
  262. say_title(""..title.."")
  263. say("Wprowadzona wartość jest nieodpowiednia. ")
  264. say("Należy wpisać wartość większą niż zero.[ENTER]")
  265. say("Chcesz powtórzyć wprowadzanie?[ENTER]")
  266. local b = select ("Tak ","Nie ")
  267. if b == 2 then
  268. break
  269. end
  270. else
  271. result = var
  272. break
  273. end
  274. until false
  275. return result
  276. end
  277.  
  278. --** Funkcje PIN'ów
  279. function ExistPin()
  280. if pc.getqf("StatoPin") == 0 then
  281. return false
  282. else
  283. return true
  284. end
  285. end
  286.  
  287. function DeletePin()
  288. pc.setqf("StatoPin", 0)
  289. end
  290.  
  291. function SetPin(new_pin)
  292. pc.setqf("StatoPin", 1)
  293. pc.setqf("Pin", new_pin)
  294. end
  295.  
  296. function GetPin()
  297. return pc.getqf("Pin")
  298. end
  299.  
  300. --** Funkcje zarządzania kontem
  301. function Deposit(money, pc_name)
  302. if pc_name == nil then
  303. pc_name = pc.get_name()
  304. end
  305. local n1 = game.get_event_flag(pc_name.."_conto_1")
  306. local n2 = game.get_event_flag(pc_name.."_conto_2")
  307. local threshold = 1000000000
  308. local total = n1*threshold+n2+money
  309. game.set_event_flag(pc_name.."_conto_1", math.floor(total/threshold))
  310. game.set_event_flag(pc_name.."_conto_2", math.mod(total, threshold))
  311. end
  312.  
  313. function Withdraw(money)
  314. local pc_name = pc.get_name()
  315. local n1 = game.get_event_flag(pc_name.."_conto_1")
  316. local n2 = game.get_event_flag(pc_name.."_conto_2")
  317. local threshold = 1000000000
  318. local total = n1*threshold+n2-money
  319. if total < 0 then
  320. return true
  321. end
  322. game.set_event_flag(pc_name.."_conto_1", math.floor(total/threshold))
  323. game.set_event_flag(pc_name.."_conto_2", math.mod(total, threshold))
  324. return false
  325. end
  326.  
  327. function ReadAccount()
  328. local pc_name = pc.get_name()
  329. local n1 = game.get_event_flag(pc_name.."_conto_1")
  330. local n2 = game.get_event_flag(pc_name.."_conto_2")
  331. local threshold = 1000000000
  332. return n1*threshold+n2
  333. end
  334. end
  335. end
Advertisement
Add Comment
Please, Sign In to add comment