Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 211.92 KB | None | 0 0
  1. SetParam("use_window", "1")
  2. SetParam("window", "GTA:SA:MP")
  3. SetBatchLines, -1
  4. SetWorkingDir %A_ScriptDir%
  5. #IfWinActive, GTA:SA:MP
  6. #UseHook, On
  7. #SingleInstance, Force
  8. #Persistent
  9. #NoEnv
  10. #NoTrayIcon
  11. global ERROR_OK := 0
  12. global ERROR_PROCESS_NOT_FOUND := 1
  13. global ERROR_OPEN_PROCESS := 2
  14. global ERROR_INVALID_HANDLE := 3
  15. global ERROR_MODULE_NOT_FOUND := 4
  16. global ERROR_ENUM_PROCESS_MODULES := 5
  17. global ERROR_ZONE_NOT_FOUND := 6
  18. global ERROR_CITY_NOT_FOUND := 7
  19. global ERROR_READ_MEMORY := 8
  20. global ERROR_WRITE_MEMORY := 9
  21. global ERROR_ALLOC_MEMORY := 10
  22. global ERROR_FREE_MEMORY := 11
  23. global ERROR_WAIT_FOR_OBJECT := 12
  24. global ERROR_CREATE_THREAD := 13
  25. global ADDR_ZONECODE := 0xA49AD4
  26. global ADDR_POSITION_X := 0xB6F2E4
  27. global ADDR_POSITION_Y := 0xB6F2E8
  28. global ADDR_POSITION_Z := 0xB6F2EC
  29. global ADDR_CPED_PTR := 0xB6F5F0
  30. global ADDR_CPED_HPOFF := 0x540
  31. global ADDR_CPED_ARMOROFF := 0x548
  32. global ADDR_VEHICLE_PTR := 0xBA18FC
  33. global ADDR_VEHICLE_HPOFF := 0x4C0
  34. global ADDR_CPED_MONEY := 0xB7CE50
  35. global ADDR_CPED_INTID := 0xA4ACE8
  36. global ADDR_VEHICLE_DOORSTATE := 0x4F8
  37. global ADDR_VEHICLE_ENGINESTATE := 0x428
  38. global ADDR_VEHICLE_LIGHTSTATE := 0x584
  39. global ADDR_VEHICLE_MODEL := 0x22
  40. global ADDR_VEHICLE_TYPE := 0x590
  41. global ADDR_VEHICLE_DRIVER := 0x460
  42. global ADDR_VEHICLE_CVEH := 0xB6F980
  43. global ADDR_VEHICLE_SPEED_X := 0x44
  44. global ADDR_VEHICLE_SPEED_Y := 0x48
  45. global ADDR_VEHICLE_SPEED_Z := 0x4C
  46. global oAirplaneModels := [417, 425, 447, 460, 469, 476, 487, 488, 497, 511, 512, 513, 519, 520, 548, 553, 563, 577, 592, 593]
  47. global oBikeModels := [481,509,510]
  48. global ovehicleNames := ["Landstalker","Bravura","Buffalo","Linerunner","Perrenial","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Whoopee","BFInjection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo","RCBandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley'sRCVan","Skimmer","PCJ-600","Faggio","Freeway","RCBaron","RCRaider","Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR-350","Walton","Regina","Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","NewsChopper","Rancher","FBIRancher","Virgo","Greenwood","Jetmax","Hotring","Sandking","BlistaCompact","PoliceMaverick","Boxvillde","Benson","Mesa","RCGoblin","HotringRacerA","HotringRacerB","BloodringBanger","Rancher","SuperGT","Elegant","Journey","Bike","MountainBike","Beagle","Cropduster","Stunt","Tanker","Roadtrain","Nebula","Majestic","Buccaneer","Shamal","hydra","FCR-900","NRG-500","HPV1000","CementTruck","TowTruck","Fortune","Cadrona","FBITruck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster","Monster","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RCTiger","Flash","Tahoma","Savanna","Bandito","FreightFlat","StreakCarriage","Kart","Mower","Dune","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","NewsVan","Tug","Trailer","Emperor","Wayfarer","Euros","Hotdog","Club","FreightBox","Trailer","Andromada","Dodo","RCCam","Launch","PoliceCar","PoliceCar","PoliceCar","PoliceRanger","Picador","S.W.A.T","Alpha","Phoenix","GlendaleShit","SadlerShit","Luggage","Luggage","Stairs","Boxville","Tiller","UtilityTrailer"]
  49. global ADDR_SAMP_INCHAT_PTR := 0x21A10C
  50. global ADDR_SAMP_INCHAT_PTR_OFF := 0x55
  51. global ADDR_SAMP_USERNAME := 0x219A6F
  52. global ADDR_SAMP_CHATMSG_PTR := 0x21A0E4
  53. global ADDR_SAMP_SHOWDLG_PTR := 0x21A0B8
  54. global FUNC_SAMP_SENDCMD := 0x65C60
  55. global FUNC_SAMP_SENDSAY := 0x57F0
  56. global FUNC_SAMP_ADDTOCHATWND := 0x64520
  57. global FUNC_SAMP_SHOWGAMETEXT := 0x9C2C0
  58. global FUNC_SAMP_PLAYAUDIOSTR := 0x62DA0
  59. global FUNC_SAMP_STOPAUDIOSTR := 0x629A0
  60. global FUNC_SAMP_SHOWDIALOG := 0x6B9C0
  61. global FUNC_UPDATESCOREBOARD := 0x8A10
  62. global SAMP_INFO_OFFSET := 0x21A0F8
  63. global SAMP_PPOOLS_OFFSET := 0x3CD
  64. global SAMP_PPOOL_PLAYER_OFFSET := 0x18
  65. global SAMP_SLOCALPLAYERID_OFFSET := 0x4
  66. global SAMP_ISTRLEN_LOCALPLAYERNAME_OFFSET := 0x1A
  67. global SAMP_SZLOCALPLAYERNAME_OFFSET := 0xA
  68. global SAMP_PSZLOCALPLAYERNAME_OFFSET := 0xA
  69. global SAMP_PREMOTEPLAYER_OFFSET := 0x2E
  70. global SAMP_ISTRLENNAME___OFFSET := 0x1C
  71. global SAMP_SZPLAYERNAME_OFFSET := 0xC
  72. global SAMP_PSZPLAYERNAME_OFFSET := 0xC
  73. global SAMP_ILOCALPLAYERPING_OFFSET := 0x26
  74. global SAMP_ILOCALPLAYERSCORE_OFFSET := 0x2A
  75. global SAMP_IPING_OFFSET := 0x28
  76. global SAMP_ISCORE_OFFSET := 0x24
  77. global SAMP_ISNPC_OFFSET := 0x4
  78. global SAMP_SZIP_OFFSET := 0x20
  79. global SAMP_SZHOSTNAME_OFFSET := 0x121
  80. global SAMP_PLAYER_MAX := 1004
  81. global SIZE_SAMP_CHATMSG := 0xFC
  82. global hGTA := 0x0
  83. global dwGTAPID := 0x0
  84. global dwSAMP := 0x0
  85. global pMemory := 0x0
  86. global pParam1 := 0x0
  87. global pParam2 := 0x0
  88. global pParam3 := 0x0
  89. global pParam4 := 0x0
  90. global pParam5 := 0x0
  91. global pInjectFunc := 0x0
  92. global nZone := 1
  93. global nCity := 1
  94. global bInitZaC := 0
  95. global iRefreshScoreboard := 0
  96. global oScoreboardData := ""
  97. global iRefreshHandles := 0
  98. global iUpdateTick := 2500
  99. global bCheckSizeOnce := 1
  100. isInChat() {
  101. if(!checkHandles())
  102. return -1
  103. dwPtr := dwSAMP + ADDR_SAMP_INCHAT_PTR
  104. dwAddress := readDWORD(hGTA, dwPtr) + ADDR_SAMP_INCHAT_PTR_OFF
  105. if(ErrorLevel) {
  106. ErrorLevel := ERROR_READ_MEMORY
  107. return -1
  108. }
  109. dwInChat := readDWORD(hGTA, dwAddress)
  110. if(ErrorLevel) {
  111. ErrorLevel := ERROR_READ_MEMORY
  112. return -1
  113. }
  114. ErrorLevel := ERROR_OK
  115. if(dwInChat > 0) {
  116. return true
  117. } else {
  118. return false
  119. }
  120. }
  121. getUsername() {
  122. if(!checkHandles())
  123. return ""
  124. dwAddress := dwSAMP + ADDR_SAMP_USERNAME
  125. sUsername := readString(hGTA, dwAddress, 25)
  126. if(ErrorLevel) {
  127. ErrorLevel := ERROR_READ_MEMORY
  128. return ""
  129. }
  130. ErrorLevel := ERROR_OK
  131. return sUsername
  132. }
  133. getId() {
  134. s:=getUsername()
  135. return getPlayerIdByName(s)
  136. }
  137. sendChat(wText) {
  138. wText := "" wText
  139. if(!checkHandles())
  140. return false
  141. dwFunc:=0
  142. if(SubStr(wText, 1, 1) == "/") {
  143. dwFunc := dwSAMP + FUNC_SAMP_SENDCMD
  144. } else {
  145. dwFunc := dwSAMP + FUNC_SAMP_SENDSAY
  146. }
  147. callWithParams(hGTA, dwFunc, [["s", wText]], false)
  148. ErrorLevel := ERROR_OK
  149. return true
  150. }
  151. addChatMessage(wText) {
  152. wText := "" wText
  153. if(!checkHandles())
  154. return false
  155. dwFunc := dwSAMP + FUNC_SAMP_ADDTOCHATWND
  156. dwChatInfo := readDWORD(hGTA, dwSAMP + ADDR_SAMP_CHATMSG_PTR)
  157. if(ErrorLevel) {
  158. ErrorLevel := ERROR_READ_MEMORY
  159. return false
  160. }
  161. callWithParams(hGTA, dwFunc, [["p", dwChatInfo], ["s", wText]], true)
  162. ErrorLevel := ERROR_OK
  163. return true
  164. }
  165. showGameText(wText, dwTime, dwSize) {
  166. wText := "" wText
  167. dwTime += 0
  168. dwTime := Floor(dwTime)
  169. dwSize += 0
  170. dwSize := Floor(dwSize)
  171. if(!checkHandles())
  172. return false
  173. dwFunc := dwSAMP + FUNC_SAMP_SHOWGAMETEXT
  174. callWithParams(hGTA, dwFunc, [["s", wText], ["i", dwTime], ["i", dwSize]], false)
  175. ErrorLevel := ERROR_OK
  176. return true
  177. }
  178. PlayerInput(text){
  179. s := A_IsSuspended
  180. Suspend On
  181. KeyWait Enter
  182. SendInput t^a{backspace}%text%
  183. Input, var, v, {enter}
  184. SendInput ^a{backspace 100}{enter}
  185. Sleep, 20
  186. if(!s)
  187. Suspend Off
  188. return var
  189. }
  190. showDialog(dwStyle, wCaption, wInfo, wButton1 ) {
  191. dwStyle += 0
  192. dwStyle := Floor(dwStyle)
  193. wCaption := "" wCaption
  194. wInfo := "" wInfo
  195. wButton1 := "" wButton1
  196. if(dwStyle<0 || dwStyle>5 || StrLen(wCaption)>=64 || StrLen(wInfo)>=4096 || StrLen(wButton1)>10)
  197. return false
  198. if(!checkHandles())
  199. return false
  200. dwFunc := dwSAMP + FUNC_SAMP_SHOWDIALOG
  201. dwAddress := readDWORD(hGTA, dwSAMP + ADDR_SAMP_SHOWDLG_PTR)
  202. if(ErrorLevel || dwAddress==0) {
  203. ErrorLevel := ERROR_READ_MEMORY
  204. return false
  205. }
  206. writeString(hGTA, pParam5, wCaption)
  207. if(ErrorLevel)
  208. return false
  209. writeString(hGTA, pParam1, wInfo)
  210. if(ErrorLevel)
  211. return false
  212. writeString(hGTA, pParam5+512, wButton1)
  213. if(ErrorLevel)
  214. return false
  215. dwLen := 5 + 7*5 + 5 + 1
  216. VarSetCapacity(injectData, dwLen, 0)
  217. NumPut(0xB9, injectData, 0, "UChar")
  218. NumPut(dwAddress, injectData, 1, "UInt")
  219. NumPut(0x68, injectData, 5, "UChar")
  220. NumPut(0, injectData, 6, "UInt")
  221. NumPut(0x68, injectData, 10, "UChar")
  222. NumPut(pParam5+StrLen(wCaption), injectData, 11, "UInt")
  223. NumPut(0x68, injectData, 15, "UChar")
  224. NumPut(pParam5+512, injectData, 16, "UInt")
  225. NumPut(0x68, injectData, 20, "UChar")
  226. NumPut(pParam1, injectData, 21, "UInt")
  227. NumPut(0x68, injectData, 25, "UChar")
  228. NumPut(pParam5, injectData, 26, "UInt")
  229. NumPut(0x68, injectData, 30, "UChar")
  230. NumPut(dwStyle, injectData, 31, "UInt")
  231. NumPut(0x68, injectData, 35, "UChar")
  232. NumPut(1, injectData, 36, "UInt")
  233. NumPut(0xE8, injectData, 40, "UChar")
  234. offset := dwFunc - (pInjectFunc + 45)
  235. NumPut(offset, injectData, 41, "Int")
  236. NumPut(0xC3, injectData, 45, "UChar")
  237. writeRaw(hGTA, pInjectFunc, &injectData, dwLen)
  238. if(ErrorLevel)
  239. return false
  240. hThread := createRemoteThread(hGTA, 0, 0, pInjectFunc, 0, 0, 0)
  241. if(ErrorLevel)
  242. return false
  243. waitForSingleObject(hThread, 0xFFFFFFFF)
  244. closeProcess(hThread)
  245. return true
  246. }
  247. playAudioStream(wUrl) {
  248. wUrl := "" wUrl
  249. if(!checkHandles())
  250. return false
  251. dwFunc := dwSAMP + FUNC_SAMP_PLAYAUDIOSTR
  252. patchRadio()
  253. callWithParams(hGTA, dwFunc, [["s", wUrl], ["i", 0], ["i", 0], ["i", 0], ["i", 0], ["i", 0]], false)
  254. unPatchRadio()
  255. ErrorLevel := ERROR_OK
  256. return true
  257. }
  258. stopAudioStream() {
  259. if(!checkHandles())
  260. return false
  261. dwFunc := dwSAMP + FUNC_SAMP_STOPAUDIOSTR
  262. patchRadio()
  263. callWithParams(hGTA, dwFunc, [["i", 1]], false)
  264. unPatchRadio()
  265. ErrorLevel := ERROR_OK
  266. return true
  267. }
  268. blockChatInput() {
  269. if(!checkHandles())
  270. return false
  271. VarSetCapacity(nop, 2, 0)
  272. dwFunc := dwSAMP + FUNC_SAMP_SENDSAY
  273. NumPut(0x04C2,nop,0,"Short")
  274. writeRaw(hGTA, dwFunc, &nop, 2)
  275. dwFunc := dwSAMP + FUNC_SAMP_SENDCMD
  276. writeRaw(hGTA, dwFunc, &nop, 2)
  277. return true
  278. }
  279. unBlockChatInput() {
  280. if(!checkHandles())
  281. return false
  282. VarSetCapacity(nop, 2, 0)
  283. dwFunc := dwSAMP + FUNC_SAMP_SENDSAY
  284. NumPut(0xA164,nop,0,"Short")
  285. writeRaw(hGTA, dwFunc, &nop, 2)
  286. dwFunc := dwSAMP + FUNC_SAMP_SENDCMD
  287. writeRaw(hGTA, dwFunc, &nop, 2)
  288. return true
  289. }
  290. patchRadio() {
  291. if(!checkHandles())
  292. return false
  293. VarSetCapacity(nop, 4, 0)
  294. NumPut(0x90909090,nop,0,"UInt")
  295. dwFunc := dwSAMP + FUNC_SAMP_PLAYAUDIOSTR
  296. writeRaw(hGTA, dwFunc, &nop, 4)
  297. writeRaw(hGTA, dwFunc+4, &nop, 1)
  298. dwFunc := dwSAMP + FUNC_SAMP_STOPAUDIOSTR
  299. writeRaw(hGTA, dwFunc, &nop, 4)
  300. writeRaw(hGTA, dwFunc+4, &nop, 1)
  301. return true
  302. }
  303. unPatchRadio() {
  304. if(!checkHandles())
  305. return false
  306. VarSetCapacity(old, 4, 0)
  307. dwFunc := dwSAMP + FUNC_SAMP_PLAYAUDIOSTR
  308. NumPut(0x74003980,old,0,"UInt")
  309. writeRaw(hGTA, dwFunc, &old, 4)
  310. NumPut(0x39,old,0,"UChar")
  311. writeRaw(hGTA, dwFunc+4, &old, 1)
  312. dwFunc := dwSAMP + FUNC_SAMP_STOPAUDIOSTR
  313. NumPut(0x74003980,old,0,"UInt")
  314. writeRaw(hGTA, dwFunc, &old, 4)
  315. NumPut(0x09,old,0,"UChar")
  316. writeRaw(hGTA, dwFunc+4, &old, 1)
  317. return true
  318. }
  319. getPlayerNameById(dwId) {
  320. dwId += 0
  321. dwId := Floor(dwId)
  322. if(dwId < 0 || dwId >= SAMP_PLAYER_MAX)
  323. return ""
  324. if(!updateOScoreboardData())
  325. return ""
  326. if(oScoreboardData[dwId])
  327. return oScoreboardData[dwId].NAME
  328. return ""
  329. }
  330. getPlayerIdByName(wName) {
  331. wName := "" wName
  332. if(StrLen(wName) < 1 || StrLen(wName) > 20)
  333. return -1
  334. if(!updateOScoreboardData())
  335. return -1
  336. For i, o in oScoreboardData
  337. {
  338. if(InStr(o.NAME,wName)==1)
  339. return i
  340. }
  341. return -1
  342. }
  343. getPlayerScoreById(dwId) {
  344. dwId += 0
  345. dwId := Floor(dwId)
  346. if(dwId < 0 || dwId >= SAMP_PLAYER_MAX)
  347. return ""
  348. if(!updateOScoreboardData())
  349. return ""
  350. if(oScoreboardData[dwId])
  351. return oScoreboardData[dwId].SCORE
  352. return ""
  353. }
  354. getPlayerPingById(dwId) {
  355. dwId += 0
  356. dwId := Floor(dwId)
  357. if(dwId < 0 || dwId >= SAMP_PLAYER_MAX)
  358. return -1
  359. if(!updateOScoreboardData())
  360. return -1
  361. if(oScoreboardData[dwId])
  362. return oScoreboardData[dwId].PING
  363. return -1
  364. }
  365. isNPCById(dwId) {
  366. dwId += 0
  367. dwId := Floor(dwId)
  368. if(dwId < 0 || dwId >= SAMP_PLAYER_MAX)
  369. return -1
  370. if(!updateOScoreboardData())
  371. return -1
  372. if(oScoreboardData[dwId])
  373. return oScoreboardData[dwId].ISNPC
  374. return -1
  375. }
  376. getIP() {
  377. if(!checkHandles())
  378. return ""
  379. dwAddress := readDWORD(hGTA, dwSAMP + SAMP_INFO_OFFSET)
  380. if(ErrorLevel || dwAddress==0) {
  381. ErrorLevel := ERROR_READ_MEMORY
  382. return ""
  383. }
  384. ipaddr := readString(hGTA, dwAddress+SAMP_SZIP_OFFSET, 257)
  385. if(ErrorLevel) {
  386. ErrorLevel := ERROR_READ_MEMORY
  387. return ""
  388. }
  389. return ipaddr
  390. }
  391. getHostname() {
  392. if(!checkHandles())
  393. return ""
  394. dwAddress := readDWORD(hGTA, dwSAMP + SAMP_INFO_OFFSET)
  395. if(ErrorLevel || dwAddress==0) {
  396. ErrorLevel := ERROR_READ_MEMORY
  397. return ""
  398. }
  399. hostname := readString(hGTA, dwAddress+SAMP_SZHOSTNAME_OFFSET, 259)
  400. if(ErrorLevel) {
  401. ErrorLevel := ERROR_READ_MEMORY
  402. return ""
  403. }
  404. return hostname
  405. }
  406. countOnlinePlayers() {
  407. if(!updateOScoreboardData())
  408. return 0
  409. j := 0
  410. For i, o in oScoreboardData
  411. {
  412. if(isNPCById(i)==0)
  413. j += 1
  414. }
  415. return j
  416. }
  417. updateScoreboardDataEx() {
  418. if(!checkHandles())
  419. return false
  420. dwAddress := readDWORD(hGTA, dwSAMP + SAMP_INFO_OFFSET)
  421. if(ErrorLevel || dwAddress==0) {
  422. ErrorLevel := ERROR_READ_MEMORY
  423. return false
  424. }
  425. dwFunc := dwSAMP + FUNC_UPDATESCOREBOARD
  426. VarSetCapacity(injectData, 11, 0)
  427. NumPut(0xB9, injectData, 0, "UChar")
  428. NumPut(dwAddress, injectData, 1, "UInt")
  429. NumPut(0xE8, injectData, 5, "UChar")
  430. offset := dwFunc - (pInjectFunc + 10)
  431. NumPut(offset, injectData, 6, "Int")
  432. NumPut(0xC3, injectData, 10, "UChar")
  433. writeRaw(hGTA, pInjectFunc, &injectData, 11)
  434. if(ErrorLevel)
  435. return false
  436. hThread := createRemoteThread(hGTA, 0, 0, pInjectFunc, 0, 0, 0)
  437. if(ErrorLevel)
  438. return false
  439. waitForSingleObject(hThread, 0xFFFFFFFF)
  440. closeProcess(hThread)
  441. return true
  442. }
  443. updateOScoreboardData() {
  444. if(!checkHandles())
  445. return 0
  446. if(iRefreshScoreboard+iUpdateTick > A_TickCount)
  447. return 1
  448. oScoreboardData := []
  449. if(!updateScoreboardDataEx())
  450. return 0
  451. iRefreshScoreboard := A_TickCount
  452. dwAddress := readDWORD(hGTA, dwSAMP + SAMP_INFO_OFFSET)
  453. if(ErrorLevel || dwAddress==0) {
  454. ErrorLevel := ERROR_READ_MEMORY
  455. return 0
  456. }
  457. dwAddress := readDWORD(hGTA, dwAddress + SAMP_PPOOLS_OFFSET)
  458. if(ErrorLevel || dwAddress==0) {
  459. ErrorLevel := ERROR_READ_MEMORY
  460. return 0
  461. }
  462. dwPlayers := readDWORD(hGTA, dwAddress + SAMP_PPOOL_PLAYER_OFFSET)
  463. if(ErrorLevel || dwPlayers==0) {
  464. ErrorLevel := ERROR_READ_MEMORY
  465. return 0
  466. }
  467. wID := readMem(hGTA, dwPlayers + SAMP_SLOCALPLAYERID_OFFSET, 2, "Short")
  468. if(ErrorLevel) {
  469. ErrorLevel := ERROR_READ_MEMORY
  470. return 0
  471. }
  472. dwPing := readMem(hGTA, dwPlayers + SAMP_ILOCALPLAYERPING_OFFSET, 4, "Int")
  473. if(ErrorLevel) {
  474. ErrorLevel := ERROR_READ_MEMORY
  475. return 0
  476. }
  477. dwScore := readMem(hGTA, dwPlayers + SAMP_ILOCALPLAYERSCORE_OFFSET, 4, "Int")
  478. if(ErrorLevel) {
  479. ErrorLevel := ERROR_READ_MEMORY
  480. return 0
  481. }
  482. dwTemp := readMem(hGTA, dwPlayers + SAMP_ISTRLEN_LOCALPLAYERNAME_OFFSET, 4, "Int")
  483. if(ErrorLevel) {
  484. ErrorLevel := ERROR_READ_MEMORY
  485. return 0
  486. }
  487. sUsername := ""
  488. if(dwTemp <= 0xf) {
  489. sUsername := readString(hGTA, dwPlayers + SAMP_SZLOCALPLAYERNAME_OFFSET, 16)
  490. if(ErrorLevel) {
  491. ErrorLevel := ERROR_READ_MEMORY
  492. return 0
  493. }
  494. }
  495. else {
  496. dwAddress := readDWORD(hGTA, dwPlayers + SAMP_PSZLOCALPLAYERNAME_OFFSET)
  497. if(ErrorLevel) {
  498. ErrorLevel := ERROR_READ_MEMORY
  499. return 0
  500. }
  501. sUsername := readString(hGTA, dwAddress, 25)
  502. if(ErrorLevel) {
  503. ErrorLevel := ERROR_READ_MEMORY
  504. return 0
  505. }
  506. }
  507. oScoreboardData[wID] := Object("NAME", sUsername, "ID", wID, "PING", dwPing, "SCORE", dwScore, "ISNPC", 0)
  508. Loop, % SAMP_PLAYER_MAX
  509. {
  510. i := A_Index-1
  511. dwRemoteplayer := readDWORD(hGTA, dwPlayers+SAMP_PREMOTEPLAYER_OFFSET+i*4)
  512. if(ErrorLevel) {
  513. ErrorLevel := ERROR_READ_MEMORY
  514. return 0
  515. }
  516. if(dwRemoteplayer==0)
  517. continue
  518. dwPing := readMem(hGTA, dwRemoteplayer + SAMP_IPING_OFFSET, 4, "Int")
  519. if(ErrorLevel) {
  520. ErrorLevel := ERROR_READ_MEMORY
  521. return 0
  522. }
  523. dwScore := readMem(hGTA, dwRemoteplayer + SAMP_ISCORE_OFFSET, 4, "Int")
  524. if(ErrorLevel) {
  525. ErrorLevel := ERROR_READ_MEMORY
  526. return 0
  527. }
  528. dwIsNPC := readMem(hGTA, dwRemoteplayer + SAMP_ISNPC_OFFSET, 4, "Int")
  529. if(ErrorLevel) {
  530. ErrorLevel := ERROR_READ_MEMORY
  531. return 0
  532. }
  533. dwTemp := readMem(hGTA, dwRemoteplayer + SAMP_ISTRLENNAME___OFFSET, 4, "Int")
  534. if(ErrorLevel) {
  535. ErrorLevel := ERROR_READ_MEMORY
  536. return 0
  537. }
  538. sUsername := ""
  539. if(dwTemp <= 0xf)
  540. {
  541. sUsername := readString(hGTA, dwRemoteplayer+SAMP_SZPLAYERNAME_OFFSET, 16)
  542. if(ErrorLevel) {
  543. ErrorLevel := ERROR_READ_MEMORY
  544. return 0
  545. }
  546. }
  547. else {
  548. dwAddress := readDWORD(hGTA, dwRemoteplayer + SAMP_PSZPLAYERNAME_OFFSET)
  549. if(ErrorLevel || dwAddress==0) {
  550. ErrorLevel := ERROR_READ_MEMORY
  551. return 0
  552. }
  553. sUsername := readString(hGTA, dwAddress, 25)
  554. if(ErrorLevel) {
  555. ErrorLevel := ERROR_READ_MEMORY
  556. return 0
  557. }
  558. }
  559. o := Object("NAME", sUsername, "ID", i, "PING", dwPing, "SCORE", dwScore, "ISNPC", dwIsNPC)
  560. oScoreboardData[i] := o
  561. }
  562. ErrorLevel := ERROR_OK
  563. return 1
  564. }
  565. getPlayerHealth() {
  566. if(!checkHandles())
  567. return -1
  568. dwCPedPtr := readDWORD(hGTA, ADDR_CPED_PTR)
  569. if(ErrorLevel) {
  570. ErrorLevel := ERROR_READ_MEMORY
  571. return -1
  572. }
  573. dwAddr := dwCPedPtr + ADDR_CPED_HPOFF
  574. fHealth := readFloat(hGTA, dwAddr)
  575. if(ErrorLevel) {
  576. ErrorLevel := ERROR_READ_MEMORY
  577. return -1
  578. }
  579. ErrorLevel := ERROR_OK
  580. return Round(fHealth)
  581. }
  582. getPlayerArmor() {
  583. if(!checkHandles())
  584. return -1
  585. dwCPedPtr := readDWORD(hGTA, ADDR_CPED_PTR)
  586. if(ErrorLevel) {
  587. ErrorLevel := ERROR_READ_MEMORY
  588. return -1
  589. }
  590. dwAddr := dwCPedPtr + ADDR_CPED_ARMOROFF
  591. fHealth := readFloat(hGTA, dwAddr)
  592. if(ErrorLevel) {
  593. ErrorLevel := ERROR_READ_MEMORY
  594. return -1
  595. }
  596. ErrorLevel := ERROR_OK
  597. return Round(fHealth)
  598. }
  599. getPlayerInteriorId() {
  600. if(!checkHandles())
  601. return -1
  602. iid := readMem(hGTA, ADDR_CPED_INTID, 4, "Int")
  603. if(ErrorLevel) {
  604. ErrorLevel := ERROR_READ_MEMORY
  605. return -1
  606. }
  607. ErrorLevel := ERROR_OK
  608. return iid
  609. }
  610. IsPlayerInAnyInterior() {
  611. if(!checkHandles())
  612. return -1
  613. iid := readMem(hGTA, ADDR_CPED_INTID, 4, "Int")
  614. if(ErrorLevel) {
  615. ErrorLevel := ERROR_READ_MEMORY
  616. return -1
  617. }
  618. ErrorLevel := ERROR_OK
  619. if(iid == 0)
  620. {
  621. return false
  622. }
  623. else
  624. {
  625. return true
  626. }
  627. }
  628. getPlayerMoney() {
  629. if(!checkHandles())
  630. return ""
  631. money := readMem(hGTA, ADDR_CPED_MONEY, 4, "Int")
  632. if(ErrorLevel) {
  633. ErrorLevel := ERROR_READ_MEMORY
  634. return ""
  635. }
  636. ErrorLevel := ERROR_OK
  637. return money
  638. }
  639. getPlayerWanteds() {
  640. if(!checkHandles())
  641. return -1
  642. dwPtr := 0xB7CD9C
  643. dwPtr := readDWORD(hGTA, dwPtr)
  644. if(ErrorLevel) {
  645. ErrorLevel := ERROR_READ_MEMORY
  646. return -1
  647. }
  648. Wanteds := readDWORD(hGTA, dwPtr)
  649. if(ErrorLevel) {
  650. ErrorLevel := ERROR_READ_MEMORY
  651. return -1
  652. }
  653. ErrorLevel := ERROR_OK
  654. return Wanteds
  655. }
  656. isPlayerInAnyVehicle()
  657. {
  658. if(!checkHandles())
  659. return -1
  660. dwVehPtr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  661. if(ErrorLevel) {
  662. ErrorLevel := ERROR_READ_MEMORY
  663. return -1
  664. }
  665. return (dwVehPtr > 0)
  666. }
  667. isPlayerDriver() {
  668. if(!checkHandles())
  669. return -1
  670. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  671. if(ErrorLevel) {
  672. ErrorLevel := ERROR_READ_MEMORY
  673. return -1
  674. }
  675. if(!dwAddr)
  676. return -1
  677. dwCPedPtr := readDWORD(hGTA, ADDR_CPED_PTR)
  678. if(ErrorLevel) {
  679. ErrorLevel := ERROR_READ_MEMORY
  680. return -1
  681. }
  682. dwVal := readDWORD(hGTA, dwAddr + ADDR_VEHICLE_DRIVER)
  683. if(ErrorLevel) {
  684. ErrorLevel := ERROR_READ_MEMORY
  685. return -1
  686. }
  687. ErrorLevel := ERROR_OK
  688. return (dwVal==dwCPedPtr)
  689. }
  690. getVehicleHealth() {
  691. if(!checkHandles())
  692. return -1
  693. dwVehPtr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  694. if(ErrorLevel) {
  695. ErrorLevel := ERROR_READ_MEMORY
  696. return -1
  697. }
  698. dwAddr := dwVehPtr + ADDR_VEHICLE_HPOFF
  699. fHealth := readFloat(hGTA, dwAddr)
  700. if(ErrorLevel) {
  701. ErrorLevel := ERROR_READ_MEMORY
  702. return -1
  703. }
  704. ErrorLevel := ERROR_OK
  705. return Round(fHealth)
  706. }
  707. getVehicleType() {
  708. if(!checkHandles())
  709. return 0
  710. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  711. if(ErrorLevel) {
  712. ErrorLevel := ERROR_READ_MEMORY
  713. return 0
  714. }
  715. if(!dwAddr)
  716. return 0
  717. cVal := readMem(hGTA, dwAddr + ADDR_VEHICLE_TYPE, 1, "Char")
  718. if(ErrorLevel) {
  719. ErrorLevel := ERROR_READ_MEMORY
  720. return 0
  721. }
  722. ErrorLevel := ERROR_OK
  723. if(!cVal)
  724. {
  725. mid := getVehicleModelId()
  726. Loop % oAirplaneModels.MaxIndex()
  727. {
  728. if(oAirplaneModels[A_Index]==mid)
  729. return 5
  730. }
  731. return 1
  732. }
  733. else if(cVal==5)
  734. return 2
  735. else if(cVal==6)
  736. return 3
  737. else if(cVal==9)
  738. {
  739. mid := getVehicleModelId()
  740. Loop % oBikeModels.MaxIndex()
  741. {
  742. if(oBikeModels[A_Index]==mid)
  743. return 6
  744. }
  745. return 4
  746. }
  747. return 0
  748. }
  749. getVehicleModelId() {
  750. if(!checkHandles())
  751. return 0
  752. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  753. if(ErrorLevel) {
  754. ErrorLevel := ERROR_READ_MEMORY
  755. return 0
  756. }
  757. if(!dwAddr)
  758. return 0
  759. sVal := readMem(hGTA, dwAddr + ADDR_VEHICLE_MODEL, 2, "Short")
  760. if(ErrorLevel) {
  761. ErrorLevel := ERROR_READ_MEMORY
  762. return 0
  763. }
  764. ErrorLevel := ERROR_OK
  765. return sVal
  766. }
  767. getVehicleModelName() {
  768. id:=getVehicleModelId()
  769. if(id>400 && id <611)
  770. {
  771. return ovehicleNames[id-399]
  772. }
  773. return ""
  774. }
  775. getVehicleLightState() {
  776. if(!checkHandles())
  777. return -1
  778. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  779. if(ErrorLevel) {
  780. ErrorLevel := ERROR_READ_MEMORY
  781. return -1
  782. }
  783. if(!dwAddr)
  784. return -1
  785. dwVal := readMem(hGTA, dwAddr + ADDR_VEHICLE_LIGHTSTATE, 4, "Int")
  786. if(ErrorLevel) {
  787. ErrorLevel := ERROR_READ_MEMORY
  788. return -1
  789. }
  790. ErrorLevel := ERROR_OK
  791. return (dwVal>0)
  792. }
  793. getVehicleEngineState() {
  794. if(!checkHandles())
  795. return -1
  796. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  797. if(ErrorLevel) {
  798. ErrorLevel := ERROR_READ_MEMORY
  799. return -1
  800. }
  801. if(!dwAddr)
  802. return -1
  803. cVal := readMem(hGTA, dwAddr + ADDR_VEHICLE_ENGINESTATE, 1, "Char")
  804. if(ErrorLevel) {
  805. ErrorLevel := ERROR_READ_MEMORY
  806. return -1
  807. }
  808. ErrorLevel := ERROR_OK
  809. return (cVal==24 || cVal==56 || cVal==88 || cVal==120)
  810. }
  811. getVehicleLockState() {
  812. if(!checkHandles())
  813. return -1
  814. dwAddr := readDWORD(hGTA, ADDR_VEHICLE_PTR)
  815. if(ErrorLevel) {
  816. ErrorLevel := ERROR_READ_MEMORY
  817. return -1
  818. }
  819. if(!dwAddr)
  820. return -1
  821. dwVal := readDWORD(hGTA, dwAddr + ADDR_VEHICLE_DOORSTATE)
  822. if(ErrorLevel) {
  823. ErrorLevel := ERROR_READ_MEMORY
  824. return -1
  825. }
  826. ErrorLevel := ERROR_OK
  827. return (dwVal==2)
  828. }
  829. getCoordinates() {
  830. if(!checkHandles())
  831. return ""
  832. fX := readFloat(hGTA, ADDR_POSITION_X)
  833. if(ErrorLevel) {
  834. ErrorLevel := ERROR_READ_MEMORY
  835. return ""
  836. }
  837. fY := readFloat(hGTA, ADDR_POSITION_Y)
  838. if(ErrorLevel) {
  839. ErrorLevel := ERROR_READ_MEMORY
  840. return ""
  841. }
  842. fZ := readFloat(hGTA, ADDR_POSITION_Z)
  843. if(ErrorLevel) {
  844. ErrorLevel := ERROR_READ_MEMORY
  845. return ""
  846. }
  847. ErrorLevel := ERROR_OK
  848. return [fX, fY, fZ]
  849. }
  850. calculateZone(posX, posY, posZ) {
  851. posX += 0
  852. posY += 0
  853. posZ += 0
  854. if ( !bInitZaC )
  855. {
  856. initZonesAndCities()
  857. bInitZaC := 1
  858. }
  859. Loop % nZone-1
  860. {
  861. if (posX >= zone%A_Index%_x1) && (posY >= zone%A_Index%_y1) && (posZ >= zone%A_Index%_z1) && (posX <= zone%A_Index%_x2) && (posY <= zone%A_Index%_y2) && (posZ <= zone%A_Index%_z2)
  862. {
  863. ErrorLevel := ERROR_OK
  864. return zone%A_Index%_name
  865. }
  866. }
  867. ErrorLevel := ERROR_ZONE_NOT_FOUND
  868. return ""
  869. }
  870. calculateCity(posX, posY, posZ) {
  871. posX += 0
  872. posY += 0
  873. posZ += 0
  874. if ( !bInitZaC )
  875. {
  876. initZonesAndCities()
  877. bInitZaC := 1
  878. }
  879. smallestCity := ""
  880. currentCitySize := 0
  881. smallestCitySize := 0
  882. Loop % nCity-1
  883. {
  884. if (posX >= city%A_Index%_x1) && (posY >= city%A_Index%_y1) && (posZ >= city%A_Index%_z1) && (posX <= city%A_Index%_x2) && (posY <= city%A_Index%_y2) && (posZ <= city%A_Index%_z2)
  885. {
  886. currentCitySize := ((city%A_Index%_x2 - city%A_Index%_x1) * (city%A_Index%_y2 - city%A_Index%_y1) * (city%A_Index%_z2 - city%A_Index%_z1))
  887. if (!smallestCity) || (currentCitySize < smallestCitySize)
  888. {
  889. smallestCity := city%A_Index%_name
  890. smallestCitySize := currentCitySize
  891. }
  892. }
  893. }
  894. if(!smallestCity) {
  895. ErrorLevel := ERROR_CITY_NOT_FOUND
  896. } else {
  897. ErrorLevel := ERROR_OK
  898. }
  899. return smallestCity
  900. }
  901. initZonesAndCities() {
  902. if(bInitZaC)
  903. return
  904. AddCity("Las Venturas", 685.0, 476.093, -500.0, 3000.0, 3000.0, 500.0)
  905. AddCity("San Fierro", -3000.0, -742.306, -500.0, -1270.53, 1530.24, 500.0)
  906. AddCity("San Fierro", -1270.53, -402.481, -500.0, -1038.45, 832.495, 500.0)
  907. AddCity("San Fierro", -1038.45, -145.539, -500.0, -897.546, 376.632, 500.0)
  908. AddCity("Los Santos", 480.0, -3000.0, -500.0, 3000.0, -850.0, 500.0)
  909. AddCity("Los Santos", 80.0, -2101.61, -500.0, 1075.0, -1239.61, 500.0)
  910. AddCity("Tierra Robada", -1213.91, 596.349, -242.99, -480.539, 1659.68, 900.0)
  911. AddCity("Red County", -1213.91, -768.027, -242.99, 2997.06, 596.349, 900.0)
  912. AddCity("Flint County", -1213.91, -2892.97, -242.99, 44.6147, -768.027, 900.0)
  913. AddCity("Whetstone", -2997.47, -2892.97, -242.99, -1213.91, -1115.58, 900.0)
  914. AddZone("Avispa Country Club", -2667.810, -302.135, -28.831, -2646.400, -262.320, 71.169)
  915. AddZone("Easter Bay Airport", -1315.420, -405.388, 15.406, -1264.400, -209.543, 25.406)
  916. AddZone("Avispa Country Club", -2550.040, -355.493, 0.000, -2470.040, -318.493, 39.700)
  917. AddZone("Easter Bay Airport", -1490.330, -209.543, 15.406, -1264.400, -148.388, 25.406)
  918. AddZone("Garcia", -2395.140, -222.589, -5.3, -2354.090, -204.792, 200.000)
  919. AddZone("Shady Cabin", -1632.830, -2263.440, -3.0, -1601.330, -2231.790, 200.000)
  920. AddZone("East Los Santos", 2381.680, -1494.030, -89.084, 2421.030, -1454.350, 110.916)
  921. AddZone("LVA Freight Depot", 1236.630, 1163.410, -89.084, 1277.050, 1203.280, 110.916)
  922. AddZone("Blackfield Intersection", 1277.050, 1044.690, -89.084, 1315.350, 1087.630, 110.916)
  923. AddZone("Avispa Country Club", -2470.040, -355.493, 0.000, -2270.040, -318.493, 46.100)
  924. AddZone("Temple", 1252.330, -926.999, -89.084, 1357.000, -910.170, 110.916)
  925. AddZone("Unity Station", 1692.620, -1971.800, -20.492, 1812.620, -1932.800, 79.508)
  926. AddZone("LVA Freight Depot", 1315.350, 1044.690, -89.084, 1375.600, 1087.630, 110.916)
  927. AddZone("Los Flores", 2581.730, -1454.350, -89.084, 2632.830, -1393.420, 110.916)
  928. AddZone("Starfish Casino", 2437.390, 1858.100, -39.084, 2495.090, 1970.850, 60.916)
  929. AddZone("Easter Bay Chemicals", -1132.820, -787.391, 0.000, -956.476, -768.027, 200.000)
  930. AddZone("Downtown Los Santos", 1370.850, -1170.870, -89.084, 1463.900, -1130.850, 110.916)
  931. AddZone("Esplanade East", -1620.300, 1176.520, -4.5, -1580.010, 1274.260, 200.000)
  932. AddZone("Market Station", 787.461, -1410.930, -34.126, 866.009, -1310.210, 65.874)
  933. AddZone("Linden Station", 2811.250, 1229.590, -39.594, 2861.250, 1407.590, 60.406)
  934. AddZone("Montgomery Intersection", 1582.440, 347.457, 0.000, 1664.620, 401.750, 200.000)
  935. AddZone("Frederick Bridge", 2759.250, 296.501, 0.000, 2774.250, 594.757, 200.000)
  936. AddZone("Yellow Bell Station", 1377.480, 2600.430, -21.926, 1492.450, 2687.360, 78.074)
  937. AddZone("Downtown Los Santos", 1507.510, -1385.210, 110.916, 1582.550, -1325.310, 335.916)
  938. AddZone("Jefferson", 2185.330, -1210.740, -89.084, 2281.450, -1154.590, 110.916)
  939. AddZone("Mulholland", 1318.130, -910.170, -89.084, 1357.000, -768.027, 110.916)
  940. AddZone("Avispa Country Club", -2361.510, -417.199, 0.000, -2270.040, -355.493, 200.000)
  941. AddZone("Jefferson", 1996.910, -1449.670, -89.084, 2056.860, -1350.720, 110.916)
  942. AddZone("Julius Thruway West", 1236.630, 2142.860, -89.084, 1297.470, 2243.230, 110.916)
  943. AddZone("Jefferson", 2124.660, -1494.030, -89.084, 2266.210, -1449.670, 110.916)
  944. AddZone("Julius Thruway North", 1848.400, 2478.490, -89.084, 1938.800, 2553.490, 110.916)
  945. AddZone("Rodeo", 422.680, -1570.200, -89.084, 466.223, -1406.050, 110.916)
  946. AddZone("Cranberry Station", -2007.830, 56.306, 0.000, -1922.000, 224.782, 100.000)
  947. AddZone("Downtown Los Santos", 1391.050, -1026.330, -89.084, 1463.900, -926.999, 110.916)
  948. AddZone("Redsands West", 1704.590, 2243.230, -89.084, 1777.390, 2342.830, 110.916)
  949. AddZone("Little Mexico", 1758.900, -1722.260, -89.084, 1812.620, -1577.590, 110.916)
  950. AddZone("Blackfield Intersection", 1375.600, 823.228, -89.084, 1457.390, 919.447, 110.916)
  951. AddZone("Los Santos International", 1974.630, -2394.330, -39.084, 2089.000, -2256.590, 60.916)
  952. AddZone("Beacon Hill", -399.633, -1075.520, -1.489, -319.033, -977.516, 198.511)
  953. AddZone("Rodeo", 334.503, -1501.950, -89.084, 422.680, -1406.050, 110.916)
  954. AddZone("Richman", 225.165, -1369.620, -89.084, 334.503, -1292.070, 110.916)
  955. AddZone("Downtown Los Santos", 1724.760, -1250.900, -89.084, 1812.620, -1150.870, 110.916)
  956. AddZone("The Strip", 2027.400, 1703.230, -89.084, 2137.400, 1783.230, 110.916)
  957. AddZone("Downtown Los Santos", 1378.330, -1130.850, -89.084, 1463.900, -1026.330, 110.916)
  958. AddZone("Blackfield Intersection", 1197.390, 1044.690, -89.084, 1277.050, 1163.390, 110.916)
  959. AddZone("Conference Center", 1073.220, -1842.270, -89.084, 1323.900, -1804.210, 110.916)
  960. AddZone("Montgomery", 1451.400, 347.457, -6.1, 1582.440, 420.802, 200.000)
  961. AddZone("Foster Valley", -2270.040, -430.276, -1.2, -2178.690, -324.114, 200.000)
  962. AddZone("Blackfield Chapel", 1325.600, 596.349, -89.084, 1375.600, 795.010, 110.916)
  963. AddZone("Los Santos International", 2051.630, -2597.260, -39.084, 2152.450, -2394.330, 60.916)
  964. AddZone("Mulholland", 1096.470, -910.170, -89.084, 1169.130, -768.027, 110.916)
  965. AddZone("Yellow Bell Gol Course", 1457.460, 2723.230, -89.084, 1534.560, 2863.230, 110.916)
  966. AddZone("The Strip", 2027.400, 1783.230, -89.084, 2162.390, 1863.230, 110.916)
  967. AddZone("Jefferson", 2056.860, -1210.740, -89.084, 2185.330, -1126.320, 110.916)
  968. AddZone("Mulholland", 952.604, -937.184, -89.084, 1096.470, -860.619, 110.916)
  969. AddZone("Aldea Malvada", -1372.140, 2498.520, 0.000, -1277.590, 2615.350, 200.000)
  970. AddZone("Las Colinas", 2126.860, -1126.320, -89.084, 2185.330, -934.489, 110.916)
  971. AddZone("Las Colinas", 1994.330, -1100.820, -89.084, 2056.860, -920.815, 110.916)
  972. AddZone("Richman", 647.557, -954.662, -89.084, 768.694, -860.619, 110.916)
  973. AddZone("LVA Freight Depot", 1277.050, 1087.630, -89.084, 1375.600, 1203.280, 110.916)
  974. AddZone("Julius Thruway North", 1377.390, 2433.230, -89.084, 1534.560, 2507.230, 110.916)
  975. AddZone("Willowfield", 2201.820, -2095.000, -89.084, 2324.000, -1989.900, 110.916)
  976. AddZone("Julius Thruway North", 1704.590, 2342.830, -89.084, 1848.400, 2433.230, 110.916)
  977. AddZone("Temple", 1252.330, -1130.850, -89.084, 1378.330, -1026.330, 110.916)
  978. AddZone("Little Mexico", 1701.900, -1842.270, -89.084, 1812.620, -1722.260, 110.916)
  979. AddZone("Queens", -2411.220, 373.539, 0.000, -2253.540, 458.411, 200.000)
  980. AddZone("Las Venturas Airport", 1515.810, 1586.400, -12.500, 1729.950, 1714.560, 87.500)
  981. AddZone("Richman", 225.165, -1292.070, -89.084, 466.223, -1235.070, 110.916)
  982. AddZone("Temple", 1252.330, -1026.330, -89.084, 1391.050, -926.999, 110.916)
  983. AddZone("East Los Santos", 2266.260, -1494.030, -89.084, 2381.680, -1372.040, 110.916)
  984. AddZone("Julius Thruway East", 2623.180, 943.235, -89.084, 2749.900, 1055.960, 110.916)
  985. AddZone("Willowfield", 2541.700, -1941.400, -89.084, 2703.580, -1852.870, 110.916)
  986. AddZone("Las Colinas", 2056.860, -1126.320, -89.084, 2126.860, -920.815, 110.916)
  987. AddZone("Julius Thruway East", 2625.160, 2202.760, -89.084, 2685.160, 2442.550, 110.916)
  988. AddZone("Rodeo", 225.165, -1501.950, -89.084, 334.503, -1369.620, 110.916)
  989. AddZone("Las Brujas", -365.167, 2123.010, -3.0, -208.570, 2217.680, 200.000)
  990. AddZone("Julius Thruway East", 2536.430, 2442.550, -89.084, 2685.160, 2542.550, 110.916)
  991. AddZone("Rodeo", 334.503, -1406.050, -89.084, 466.223, -1292.070, 110.916)
  992. AddZone("Vinewood", 647.557, -1227.280, -89.084, 787.461, -1118.280, 110.916)
  993. AddZone("Rodeo", 422.680, -1684.650, -89.084, 558.099, -1570.200, 110.916)
  994. AddZone("Julius Thruway North", 2498.210, 2542.550, -89.084, 2685.160, 2626.550, 110.916)
  995. AddZone("Downtown Los Santos", 1724.760, -1430.870, -89.084, 1812.620, -1250.900, 110.916)
  996. AddZone("Rodeo", 225.165, -1684.650, -89.084, 312.803, -1501.950, 110.916)
  997. AddZone("Jefferson", 2056.860, -1449.670, -89.084, 2266.210, -1372.040, 110.916)
  998. AddZone("Hampton Barns", 603.035, 264.312, 0.000, 761.994, 366.572, 200.000)
  999. AddZone("Temple", 1096.470, -1130.840, -89.084, 1252.330, -1026.330, 110.916)
  1000. AddZone("Kincaid Bridge", -1087.930, 855.370, -89.084, -961.950, 986.281, 110.916)
  1001. AddZone("Verona Beach", 1046.150, -1722.260, -89.084, 1161.520, -1577.590, 110.916)
  1002. AddZone("Commerce", 1323.900, -1722.260, -89.084, 1440.900, -1577.590, 110.916)
  1003. AddZone("Mulholland", 1357.000, -926.999, -89.084, 1463.900, -768.027, 110.916)
  1004. AddZone("Rodeo", 466.223, -1570.200, -89.084, 558.099, -1385.070, 110.916)
  1005. AddZone("Mulholland", 911.802, -860.619, -89.084, 1096.470, -768.027, 110.916)
  1006. AddZone("Mulholland", 768.694, -954.662, -89.084, 952.604, -860.619, 110.916)
  1007. AddZone("Julius Thruway South", 2377.390, 788.894, -89.084, 2537.390, 897.901, 110.916)
  1008. AddZone("Idlewood", 1812.620, -1852.870, -89.084, 1971.660, -1742.310, 110.916)
  1009. AddZone("Ocean Docks", 2089.000, -2394.330, -89.084, 2201.820, -2235.840, 110.916)
  1010. AddZone("Commerce", 1370.850, -1577.590, -89.084, 1463.900, -1384.950, 110.916)
  1011. AddZone("Julius Thruway North", 2121.400, 2508.230, -89.084, 2237.400, 2663.170, 110.916)
  1012. AddZone("Temple", 1096.470, -1026.330, -89.084, 1252.330, -910.170, 110.916)
  1013. AddZone("Glen Park", 1812.620, -1449.670, -89.084, 1996.910, -1350.720, 110.916)
  1014. AddZone("Easter Bay Airport", -1242.980, -50.096, 0.000, -1213.910, 578.396, 200.000)
  1015. AddZone("Martin Bridge", -222.179, 293.324, 0.000, -122.126, 476.465, 200.000)
  1016. AddZone("The Strip", 2106.700, 1863.230, -89.084, 2162.390, 2202.760, 110.916)
  1017. AddZone("Willowfield", 2541.700, -2059.230, -89.084, 2703.580, -1941.400, 110.916)
  1018. AddZone("Marina", 807.922, -1577.590, -89.084, 926.922, -1416.250, 110.916)
  1019. AddZone("Las Venturas Airport", 1457.370, 1143.210, -89.084, 1777.400, 1203.280, 110.916)
  1020. AddZone("Idlewood", 1812.620, -1742.310, -89.084, 1951.660, -1602.310, 110.916)
  1021. AddZone("Esplanade East", -1580.010, 1025.980, -6.1, -1499.890, 1274.260, 200.000)
  1022. AddZone("Downtown Los Santos", 1370.850, -1384.950, -89.084, 1463.900, -1170.870, 110.916)
  1023. AddZone("The Mako Span", 1664.620, 401.750, 0.000, 1785.140, 567.203, 200.000)
  1024. AddZone("Rodeo", 312.803, -1684.650, -89.084, 422.680, -1501.950, 110.916)
  1025. AddZone("Pershing Square", 1440.900, -1722.260, -89.084, 1583.500, -1577.590, 110.916)
  1026. AddZone("Mulholland", 687.802, -860.619, -89.084, 911.802, -768.027, 110.916)
  1027. AddZone("Gant Bridge", -2741.070, 1490.470, -6.1, -2616.400, 1659.680, 200.000)
  1028. AddZone("Las Colinas", 2185.330, -1154.590, -89.084, 2281.450, -934.489, 110.916)
  1029. AddZone("Mulholland", 1169.130, -910.170, -89.084, 1318.130, -768.027, 110.916)
  1030. AddZone("Julius Thruway North", 1938.800, 2508.230, -89.084, 2121.400, 2624.230, 110.916)
  1031. AddZone("Commerce", 1667.960, -1577.590, -89.084, 1812.620, -1430.870, 110.916)
  1032. AddZone("Rodeo", 72.648, -1544.170, -89.084, 225.165, -1404.970, 110.916)
  1033. AddZone("Roca Escalante", 2536.430, 2202.760, -89.084, 2625.160, 2442.550, 110.916)
  1034. AddZone("Rodeo", 72.648, -1684.650, -89.084, 225.165, -1544.170, 110.916)
  1035. AddZone("Market", 952.663, -1310.210, -89.084, 1072.660, -1130.850, 110.916)
  1036. AddZone("Las Colinas", 2632.740, -1135.040, -89.084, 2747.740, -945.035, 110.916)
  1037. AddZone("Mulholland", 861.085, -674.885, -89.084, 1156.550, -600.896, 110.916)
  1038. AddZone("King's", -2253.540, 373.539, -9.1, -1993.280, 458.411, 200.000)
  1039. AddZone("Redsands East", 1848.400, 2342.830, -89.084, 2011.940, 2478.490, 110.916)
  1040. AddZone("Downtown", -1580.010, 744.267, -6.1, -1499.890, 1025.980, 200.000)
  1041. AddZone("Conference Center", 1046.150, -1804.210, -89.084, 1323.900, -1722.260, 110.916)
  1042. AddZone("Richman", 647.557, -1118.280, -89.084, 787.461, -954.662, 110.916)
  1043. AddZone("Ocean Flats", -2994.490, 277.411, -9.1, -2867.850, 458.411, 200.000)
  1044. AddZone("Greenglass College", 964.391, 930.890, -89.084, 1166.530, 1044.690, 110.916)
  1045. AddZone("Glen Park", 1812.620, -1100.820, -89.084, 1994.330, -973.380, 110.916)
  1046. AddZone("LVA Freight Depot", 1375.600, 919.447, -89.084, 1457.370, 1203.280, 110.916)
  1047. AddZone("Regular Tom", -405.770, 1712.860, -3.0, -276.719, 1892.750, 200.000)
  1048. AddZone("Verona Beach", 1161.520, -1722.260, -89.084, 1323.900, -1577.590, 110.916)
  1049. AddZone("East Los Santos", 2281.450, -1372.040, -89.084, 2381.680, -1135.040, 110.916)
  1050. AddZone("Caligula's Palace", 2137.400, 1703.230, -89.084, 2437.390, 1783.230, 110.916)
  1051. AddZone("Idlewood", 1951.660, -1742.310, -89.084, 2124.660, -1602.310, 110.916)
  1052. AddZone("Pilgrim", 2624.400, 1383.230, -89.084, 2685.160, 1783.230, 110.916)
  1053. AddZone("Idlewood", 2124.660, -1742.310, -89.084, 2222.560, -1494.030, 110.916)
  1054. AddZone("Queens", -2533.040, 458.411, 0.000, -2329.310, 578.396, 200.000)
  1055. AddZone("Downtown", -1871.720, 1176.420, -4.5, -1620.300, 1274.260, 200.000)
  1056. AddZone("Commerce", 1583.500, -1722.260, -89.084, 1758.900, -1577.590, 110.916)
  1057. AddZone("East Los Santos", 2381.680, -1454.350, -89.084, 2462.130, -1135.040, 110.916)
  1058. AddZone("Marina", 647.712, -1577.590, -89.084, 807.922, -1416.250, 110.916)
  1059. AddZone("Richman", 72.648, -1404.970, -89.084, 225.165, -1235.070, 110.916)
  1060. AddZone("Vinewood", 647.712, -1416.250, -89.084, 787.461, -1227.280, 110.916)
  1061. AddZone("East Los Santos", 2222.560, -1628.530, -89.084, 2421.030, -1494.030, 110.916)
  1062. AddZone("Rodeo", 558.099, -1684.650, -89.084, 647.522, -1384.930, 110.916)
  1063. AddZone("Easter Tunnel", -1709.710, -833.034, -1.5, -1446.010, -730.118, 200.000)
  1064. AddZone("Rodeo", 466.223, -1385.070, -89.084, 647.522, -1235.070, 110.916)
  1065. AddZone("Redsands East", 1817.390, 2202.760, -89.084, 2011.940, 2342.830, 110.916)
  1066. AddZone("The Clown's Pocket", 2162.390, 1783.230, -89.084, 2437.390, 1883.230, 110.916)
  1067. AddZone("Idlewood", 1971.660, -1852.870, -89.084, 2222.560, -1742.310, 110.916)
  1068. AddZone("Montgomery Intersection", 1546.650, 208.164, 0.000, 1745.830, 347.457, 200.000)
  1069. AddZone("Willowfield", 2089.000, -2235.840, -89.084, 2201.820, -1989.900, 110.916)
  1070. AddZone("Temple", 952.663, -1130.840, -89.084, 1096.470, -937.184, 110.916)
  1071. AddZone("Prickle Pine", 1848.400, 2553.490, -89.084, 1938.800, 2863.230, 110.916)
  1072. AddZone("Los Santos International", 1400.970, -2669.260, -39.084, 2189.820, -2597.260, 60.916)
  1073. AddZone("Garver Bridge", -1213.910, 950.022, -89.084, -1087.930, 1178.930, 110.916)
  1074. AddZone("Garver Bridge", -1339.890, 828.129, -89.084, -1213.910, 1057.040, 110.916)
  1075. AddZone("Kincaid Bridge", -1339.890, 599.218, -89.084, -1213.910, 828.129, 110.916)
  1076. AddZone("Kincaid Bridge", -1213.910, 721.111, -89.084, -1087.930, 950.022, 110.916)
  1077. AddZone("Verona Beach", 930.221, -2006.780, -89.084, 1073.220, -1804.210, 110.916)
  1078. AddZone("Verdant Bluffs", 1073.220, -2006.780, -89.084, 1249.620, -1842.270, 110.916)
  1079. AddZone("Vinewood", 787.461, -1130.840, -89.084, 952.604, -954.662, 110.916)
  1080. AddZone("Vinewood", 787.461, -1310.210, -89.084, 952.663, -1130.840, 110.916)
  1081. AddZone("Commerce", 1463.900, -1577.590, -89.084, 1667.960, -1430.870, 110.916)
  1082. AddZone("Market", 787.461, -1416.250, -89.084, 1072.660, -1310.210, 110.916)
  1083. AddZone("Rockshore West", 2377.390, 596.349, -89.084, 2537.390, 788.894, 110.916)
  1084. AddZone("Julius Thruway North", 2237.400, 2542.550, -89.084, 2498.210, 2663.170, 110.916)
  1085. AddZone("East Beach", 2632.830, -1668.130, -89.084, 2747.740, -1393.420, 110.916)
  1086. AddZone("Fallow Bridge", 434.341, 366.572, 0.000, 603.035, 555.680, 200.000)
  1087. AddZone("Willowfield", 2089.000, -1989.900, -89.084, 2324.000, -1852.870, 110.916)
  1088. AddZone("Chinatown", -2274.170, 578.396, -7.6, -2078.670, 744.170, 200.000)
  1089. AddZone("El Castillo del Diablo", -208.570, 2337.180, 0.000, 8.430, 2487.180, 200.000)
  1090. AddZone("Ocean Docks", 2324.000, -2145.100, -89.084, 2703.580, -2059.230, 110.916)
  1091. AddZone("Easter Bay Chemicals", -1132.820, -768.027, 0.000, -956.476, -578.118, 200.000)
  1092. AddZone("The Visage", 1817.390, 1703.230, -89.084, 2027.400, 1863.230, 110.916)
  1093. AddZone("Ocean Flats", -2994.490, -430.276, -1.2, -2831.890, -222.589, 200.000)
  1094. AddZone("Richman", 321.356, -860.619, -89.084, 687.802, -768.027, 110.916)
  1095. AddZone("Green Palms", 176.581, 1305.450, -3.0, 338.658, 1520.720, 200.000)
  1096. AddZone("Richman", 321.356, -768.027, -89.084, 700.794, -674.885, 110.916)
  1097. AddZone("Starfish Casino", 2162.390, 1883.230, -89.084, 2437.390, 2012.180, 110.916)
  1098. AddZone("East Beach", 2747.740, -1668.130, -89.084, 2959.350, -1498.620, 110.916)
  1099. AddZone("Jefferson", 2056.860, -1372.040, -89.084, 2281.450, -1210.740, 110.916)
  1100. AddZone("Downtown Los Santos", 1463.900, -1290.870, -89.084, 1724.760, -1150.870, 110.916)
  1101. AddZone("Downtown Los Santos", 1463.900, -1430.870, -89.084, 1724.760, -1290.870, 110.916)
  1102. AddZone("Garver Bridge", -1499.890, 696.442, -179.615, -1339.890, 925.353, 20.385)
  1103. AddZone("Julius Thruway South", 1457.390, 823.228, -89.084, 2377.390, 863.229, 110.916)
  1104. AddZone("East Los Santos", 2421.030, -1628.530, -89.084, 2632.830, -1454.350, 110.916)
  1105. AddZone("Greenglass College", 964.391, 1044.690, -89.084, 1197.390, 1203.220, 110.916)
  1106. AddZone("Las Colinas", 2747.740, -1120.040, -89.084, 2959.350, -945.035, 110.916)
  1107. AddZone("Mulholland", 737.573, -768.027, -89.084, 1142.290, -674.885, 110.916)
  1108. AddZone("Ocean Docks", 2201.820, -2730.880, -89.084, 2324.000, -2418.330, 110.916)
  1109. AddZone("East Los Santos", 2462.130, -1454.350, -89.084, 2581.730, -1135.040, 110.916)
  1110. AddZone("Ganton", 2222.560, -1722.330, -89.084, 2632.830, -1628.530, 110.916)
  1111. AddZone("Avispa Country Club", -2831.890, -430.276, -6.1, -2646.400, -222.589, 200.000)
  1112. AddZone("Willowfield", 1970.620, -2179.250, -89.084, 2089.000, -1852.870, 110.916)
  1113. AddZone("Esplanade North", -1982.320, 1274.260, -4.5, -1524.240, 1358.900, 200.000)
  1114. AddZone("The High Roller", 1817.390, 1283.230, -89.084, 2027.390, 1469.230, 110.916)
  1115. AddZone("Ocean Docks", 2201.820, -2418.330, -89.084, 2324.000, -2095.000, 110.916)
  1116. AddZone("Last Dime Motel", 1823.080, 596.349, -89.084, 1997.220, 823.228, 110.916)
  1117. AddZone("Bayside Marina", -2353.170, 2275.790, 0.000, -2153.170, 2475.790, 200.000)
  1118. AddZone("King's", -2329.310, 458.411, -7.6, -1993.280, 578.396, 200.000)
  1119. AddZone("El Corona", 1692.620, -2179.250, -89.084, 1812.620, -1842.270, 110.916)
  1120. AddZone("Blackfield Chapel", 1375.600, 596.349, -89.084, 1558.090, 823.228, 110.916)
  1121. AddZone("The Pink Swan", 1817.390, 1083.230, -89.084, 2027.390, 1283.230, 110.916)
  1122. AddZone("Julius Thruway West", 1197.390, 1163.390, -89.084, 1236.630, 2243.230, 110.916)
  1123. AddZone("Los Flores", 2581.730, -1393.420, -89.084, 2747.740, -1135.040, 110.916)
  1124. AddZone("The Visage", 1817.390, 1863.230, -89.084, 2106.700, 2011.830, 110.916)
  1125. AddZone("Prickle Pine", 1938.800, 2624.230, -89.084, 2121.400, 2861.550, 110.916)
  1126. AddZone("Verona Beach", 851.449, -1804.210, -89.084, 1046.150, -1577.590, 110.916)
  1127. AddZone("Robada Intersection", -1119.010, 1178.930, -89.084, -862.025, 1351.450, 110.916)
  1128. AddZone("Linden Side", 2749.900, 943.235, -89.084, 2923.390, 1198.990, 110.916)
  1129. AddZone("Ocean Docks", 2703.580, -2302.330, -89.084, 2959.350, -2126.900, 110.916)
  1130. AddZone("Willowfield", 2324.000, -2059.230, -89.084, 2541.700, -1852.870, 110.916)
  1131. AddZone("King's", -2411.220, 265.243, -9.1, -1993.280, 373.539, 200.000)
  1132. AddZone("Commerce", 1323.900, -1842.270, -89.084, 1701.900, -1722.260, 110.916)
  1133. AddZone("Mulholland", 1269.130, -768.027, -89.084, 1414.070, -452.425, 110.916)
  1134. AddZone("Marina", 647.712, -1804.210, -89.084, 851.449, -1577.590, 110.916)
  1135. AddZone("Battery Point", -2741.070, 1268.410, -4.5, -2533.040, 1490.470, 200.000)
  1136. AddZone("The Four Dragons Casino", 1817.390, 863.232, -89.084, 2027.390, 1083.230, 110.916)
  1137. AddZone("Blackfield", 964.391, 1203.220, -89.084, 1197.390, 1403.220, 110.916)
  1138. AddZone("Julius Thruway North", 1534.560, 2433.230, -89.084, 1848.400, 2583.230, 110.916)
  1139. AddZone("Yellow Bell Gol Course", 1117.400, 2723.230, -89.084, 1457.460, 2863.230, 110.916)
  1140. AddZone("Idlewood", 1812.620, -1602.310, -89.084, 2124.660, -1449.670, 110.916)
  1141. AddZone("Redsands West", 1297.470, 2142.860, -89.084, 1777.390, 2243.230, 110.916)
  1142. AddZone("Doherty", -2270.040, -324.114, -1.2, -1794.920, -222.589, 200.000)
  1143. AddZone("Hilltop Farm", 967.383, -450.390, -3.0, 1176.780, -217.900, 200.000)
  1144. AddZone("Las Barrancas", -926.130, 1398.730, -3.0, -719.234, 1634.690, 200.000)
  1145. AddZone("Pirates in Men's Pants", 1817.390, 1469.230, -89.084, 2027.400, 1703.230, 110.916)
  1146. AddZone("City Hall", -2867.850, 277.411, -9.1, -2593.440, 458.411, 200.000)
  1147. AddZone("Avispa Country Club", -2646.400, -355.493, 0.000, -2270.040, -222.589, 200.000)
  1148. AddZone("The Strip", 2027.400, 863.229, -89.084, 2087.390, 1703.230, 110.916)
  1149. AddZone("Hashbury", -2593.440, -222.589, -1.0, -2411.220, 54.722, 200.000)
  1150. AddZone("Los Santos International", 1852.000, -2394.330, -89.084, 2089.000, -2179.250, 110.916)
  1151. AddZone("Whitewood Estates", 1098.310, 1726.220, -89.084, 1197.390, 2243.230, 110.916)
  1152. AddZone("Sherman Reservoir", -789.737, 1659.680, -89.084, -599.505, 1929.410, 110.916)
  1153. AddZone("El Corona", 1812.620, -2179.250, -89.084, 1970.620, -1852.870, 110.916)
  1154. AddZone("Downtown", -1700.010, 744.267, -6.1, -1580.010, 1176.520, 200.000)
  1155. AddZone("Foster Valley", -2178.690, -1250.970, 0.000, -1794.920, -1115.580, 200.000)
  1156. AddZone("Las Payasadas", -354.332, 2580.360, 2.0, -133.625, 2816.820, 200.000)
  1157. AddZone("Valle Ocultado", -936.668, 2611.440, 2.0, -715.961, 2847.900, 200.000)
  1158. AddZone("Blackfield Intersection", 1166.530, 795.010, -89.084, 1375.600, 1044.690, 110.916)
  1159. AddZone("Ganton", 2222.560, -1852.870, -89.084, 2632.830, -1722.330, 110.916)
  1160. AddZone("Easter Bay Airport", -1213.910, -730.118, 0.000, -1132.820, -50.096, 200.000)
  1161. AddZone("Redsands East", 1817.390, 2011.830, -89.084, 2106.700, 2202.760, 110.916)
  1162. AddZone("Esplanade East", -1499.890, 578.396, -79.615, -1339.890, 1274.260, 20.385)
  1163. AddZone("Caligula's Palace", 2087.390, 1543.230, -89.084, 2437.390, 1703.230, 110.916)
  1164. AddZone("Royal Casino", 2087.390, 1383.230, -89.084, 2437.390, 1543.230, 110.916)
  1165. AddZone("Richman", 72.648, -1235.070, -89.084, 321.356, -1008.150, 110.916)
  1166. AddZone("Starfish Casino", 2437.390, 1783.230, -89.084, 2685.160, 2012.180, 110.916)
  1167. AddZone("Mulholland", 1281.130, -452.425, -89.084, 1641.130, -290.913, 110.916)
  1168. AddZone("Downtown", -1982.320, 744.170, -6.1, -1871.720, 1274.260, 200.000)
  1169. AddZone("Hankypanky Point", 2576.920, 62.158, 0.000, 2759.250, 385.503, 200.000)
  1170. AddZone("K.A.C.C. Military Fuels", 2498.210, 2626.550, -89.084, 2749.900, 2861.550, 110.916)
  1171. AddZone("Harry Gold Parkway", 1777.390, 863.232, -89.084, 1817.390, 2342.830, 110.916)
  1172. AddZone("Bayside Tunnel", -2290.190, 2548.290, -89.084, -1950.190, 2723.290, 110.916)
  1173. AddZone("Ocean Docks", 2324.000, -2302.330, -89.084, 2703.580, -2145.100, 110.916)
  1174. AddZone("Richman", 321.356, -1044.070, -89.084, 647.557, -860.619, 110.916)
  1175. AddZone("Randolph Industrial Estate", 1558.090, 596.349, -89.084, 1823.080, 823.235, 110.916)
  1176. AddZone("East Beach", 2632.830, -1852.870, -89.084, 2959.350, -1668.130, 110.916)
  1177. AddZone("Flint Water", -314.426, -753.874, -89.084, -106.339, -463.073, 110.916)
  1178. AddZone("Blueberry", 19.607, -404.136, 3.8, 349.607, -220.137, 200.000)
  1179. AddZone("Linden Station", 2749.900, 1198.990, -89.084, 2923.390, 1548.990, 110.916)
  1180. AddZone("Glen Park", 1812.620, -1350.720, -89.084, 2056.860, -1100.820, 110.916)
  1181. AddZone("Downtown", -1993.280, 265.243, -9.1, -1794.920, 578.396, 200.000)
  1182. AddZone("Redsands West", 1377.390, 2243.230, -89.084, 1704.590, 2433.230, 110.916)
  1183. AddZone("Richman", 321.356, -1235.070, -89.084, 647.522, -1044.070, 110.916)
  1184. AddZone("Gant Bridge", -2741.450, 1659.680, -6.1, -2616.400, 2175.150, 200.000)
  1185. AddZone("Lil' Probe Inn", -90.218, 1286.850, -3.0, 153.859, 1554.120, 200.000)
  1186. AddZone("Flint Intersection", -187.700, -1596.760, -89.084, 17.063, -1276.600, 110.916)
  1187. AddZone("Las Colinas", 2281.450, -1135.040, -89.084, 2632.740, -945.035, 110.916)
  1188. AddZone("Sobell Rail Yards", 2749.900, 1548.990, -89.084, 2923.390, 1937.250, 110.916)
  1189. AddZone("The Emerald Isle", 2011.940, 2202.760, -89.084, 2237.400, 2508.230, 110.916)
  1190. AddZone("El Castillo del Diablo", -208.570, 2123.010, -7.6, 114.033, 2337.180, 200.000)
  1191. AddZone("Santa Flora", -2741.070, 458.411, -7.6, -2533.040, 793.411, 200.000)
  1192. AddZone("Playa del Seville", 2703.580, -2126.900, -89.084, 2959.350, -1852.870, 110.916)
  1193. AddZone("Market", 926.922, -1577.590, -89.084, 1370.850, -1416.250, 110.916)
  1194. AddZone("Queens", -2593.440, 54.722, 0.000, -2411.220, 458.411, 200.000)
  1195. AddZone("Pilson Intersection", 1098.390, 2243.230, -89.084, 1377.390, 2507.230, 110.916)
  1196. AddZone("Spinybed", 2121.400, 2663.170, -89.084, 2498.210, 2861.550, 110.916)
  1197. AddZone("Pilgrim", 2437.390, 1383.230, -89.084, 2624.400, 1783.230, 110.916)
  1198. AddZone("Blackfield", 964.391, 1403.220, -89.084, 1197.390, 1726.220, 110.916)
  1199. AddZone("'The Big Ear'", -410.020, 1403.340, -3.0, -137.969, 1681.230, 200.000)
  1200. AddZone("Dillimore", 580.794, -674.885, -9.5, 861.085, -404.790, 200.000)
  1201. AddZone("El Quebrados", -1645.230, 2498.520, 0.000, -1372.140, 2777.850, 200.000)
  1202. AddZone("Esplanade North", -2533.040, 1358.900, -4.5, -1996.660, 1501.210, 200.000)
  1203. AddZone("Easter Bay Airport", -1499.890, -50.096, -1.0, -1242.980, 249.904, 200.000)
  1204. AddZone("Fisher's Lagoon", 1916.990, -233.323, -100.000, 2131.720, 13.800, 200.000)
  1205. AddZone("Mulholland", 1414.070, -768.027, -89.084, 1667.610, -452.425, 110.916)
  1206. AddZone("East Beach", 2747.740, -1498.620, -89.084, 2959.350, -1120.040, 110.916)
  1207. AddZone("San Andreas Sound", 2450.390, 385.503, -100.000, 2759.250, 562.349, 200.000)
  1208. AddZone("Shady Creeks", -2030.120, -2174.890, -6.1, -1820.640, -1771.660, 200.000)
  1209. AddZone("Market", 1072.660, -1416.250, -89.084, 1370.850, -1130.850, 110.916)
  1210. AddZone("Rockshore West", 1997.220, 596.349, -89.084, 2377.390, 823.228, 110.916)
  1211. AddZone("Prickle Pine", 1534.560, 2583.230, -89.084, 1848.400, 2863.230, 110.916)
  1212. AddZone("Easter Basin", -1794.920, -50.096, -1.04, -1499.890, 249.904, 200.000)
  1213. AddZone("Leafy Hollow", -1166.970, -1856.030, 0.000, -815.624, -1602.070, 200.000)
  1214. AddZone("LVA Freight Depot", 1457.390, 863.229, -89.084, 1777.400, 1143.210, 110.916)
  1215. AddZone("Prickle Pine", 1117.400, 2507.230, -89.084, 1534.560, 2723.230, 110.916)
  1216. AddZone("Blueberry", 104.534, -220.137, 2.3, 349.607, 152.236, 200.000)
  1217. AddZone("El Castillo del Diablo", -464.515, 2217.680, 0.000, -208.570, 2580.360, 200.000)
  1218. AddZone("Downtown", -2078.670, 578.396, -7.6, -1499.890, 744.267, 200.000)
  1219. AddZone("Rockshore East", 2537.390, 676.549, -89.084, 2902.350, 943.235, 110.916)
  1220. AddZone("San Fierro Bay", -2616.400, 1501.210, -3.0, -1996.660, 1659.680, 200.000)
  1221. AddZone("Paradiso", -2741.070, 793.411, -6.1, -2533.040, 1268.410, 200.000)
  1222. AddZone("The Camel's Toe", 2087.390, 1203.230, -89.084, 2640.400, 1383.230, 110.916)
  1223. AddZone("Old Venturas Strip", 2162.390, 2012.180, -89.084, 2685.160, 2202.760, 110.916)
  1224. AddZone("Juniper Hill", -2533.040, 578.396, -7.6, -2274.170, 968.369, 200.000)
  1225. AddZone("Juniper Hollow", -2533.040, 968.369, -6.1, -2274.170, 1358.900, 200.000)
  1226. AddZone("Roca Escalante", 2237.400, 2202.760, -89.084, 2536.430, 2542.550, 110.916)
  1227. AddZone("Julius Thruway East", 2685.160, 1055.960, -89.084, 2749.900, 2626.550, 110.916)
  1228. AddZone("Verona Beach", 647.712, -2173.290, -89.084, 930.221, -1804.210, 110.916)
  1229. AddZone("Foster Valley", -2178.690, -599.884, -1.2, -1794.920, -324.114, 200.000)
  1230. AddZone("Arco del Oeste", -901.129, 2221.860, 0.000, -592.090, 2571.970, 200.000)
  1231. AddZone("Fallen Tree", -792.254, -698.555, -5.3, -452.404, -380.043, 200.000)
  1232. AddZone("The Farm", -1209.670, -1317.100, 114.981, -908.161, -787.391, 251.981)
  1233. AddZone("The Sherman Dam", -968.772, 1929.410, -3.0, -481.126, 2155.260, 200.000)
  1234. AddZone("Esplanade North", -1996.660, 1358.900, -4.5, -1524.240, 1592.510, 200.000)
  1235. AddZone("Financial", -1871.720, 744.170, -6.1, -1701.300, 1176.420, 300.000)
  1236. AddZone("Garcia", -2411.220, -222.589, -1.14, -2173.040, 265.243, 200.000)
  1237. AddZone("Montgomery", 1119.510, 119.526, -3.0, 1451.400, 493.323, 200.000)
  1238. AddZone("Creek", 2749.900, 1937.250, -89.084, 2921.620, 2669.790, 110.916)
  1239. AddZone("Los Santos International", 1249.620, -2394.330, -89.084, 1852.000, -2179.250, 110.916)
  1240. AddZone("Santa Maria Beach", 72.648, -2173.290, -89.084, 342.648, -1684.650, 110.916)
  1241. AddZone("Mulholland Intersection", 1463.900, -1150.870, -89.084, 1812.620, -768.027, 110.916)
  1242. AddZone("Angel Pine", -2324.940, -2584.290, -6.1, -1964.220, -2212.110, 200.000)
  1243. AddZone("Verdant Meadows", 37.032, 2337.180, -3.0, 435.988, 2677.900, 200.000)
  1244. AddZone("Octane Springs", 338.658, 1228.510, 0.000, 664.308, 1655.050, 200.000)
  1245. AddZone("Come-A-Lot", 2087.390, 943.235, -89.084, 2623.180, 1203.230, 110.916)
  1246. AddZone("Redsands West", 1236.630, 1883.110, -89.084, 1777.390, 2142.860, 110.916)
  1247. AddZone("Santa Maria Beach", 342.648, -2173.290, -89.084, 647.712, -1684.650, 110.916)
  1248. AddZone("Verdant Bluffs", 1249.620, -2179.250, -89.084, 1692.620, -1842.270, 110.916)
  1249. AddZone("Las Venturas Airport", 1236.630, 1203.280, -89.084, 1457.370, 1883.110, 110.916)
  1250. AddZone("Flint Range", -594.191, -1648.550, 0.000, -187.700, -1276.600, 200.000)
  1251. AddZone("Verdant Bluffs", 930.221, -2488.420, -89.084, 1249.620, -2006.780, 110.916)
  1252. AddZone("Palomino Creek", 2160.220, -149.004, 0.000, 2576.920, 228.322, 200.000)
  1253. AddZone("Ocean Docks", 2373.770, -2697.090, -89.084, 2809.220, -2330.460, 110.916)
  1254. AddZone("Easter Bay Airport", -1213.910, -50.096, -4.5, -947.980, 578.396, 200.000)
  1255. AddZone("Whitewood Estates", 883.308, 1726.220, -89.084, 1098.310, 2507.230, 110.916)
  1256. AddZone("Calton Heights", -2274.170, 744.170, -6.1, -1982.320, 1358.900, 200.000)
  1257. AddZone("Easter Basin", -1794.920, 249.904, -9.1, -1242.980, 578.396, 200.000)
  1258. AddZone("Los Santos Inlet", -321.744, -2224.430, -89.084, 44.615, -1724.430, 110.916)
  1259. AddZone("Doherty", -2173.040, -222.589, -1.0, -1794.920, 265.243, 200.000)
  1260. AddZone("Mount Chiliad", -2178.690, -2189.910, -47.917, -2030.120, -1771.660, 576.083)
  1261. AddZone("Fort Carson", -376.233, 826.326, -3.0, 123.717, 1220.440, 200.000)
  1262. AddZone("Foster Valley", -2178.690, -1115.580, 0.000, -1794.920, -599.884, 200.000)
  1263. AddZone("Ocean Flats", -2994.490, -222.589, -1.0, -2593.440, 277.411, 200.000)
  1264. AddZone("Fern Ridge", 508.189, -139.259, 0.000, 1306.660, 119.526, 200.000)
  1265. AddZone("Bayside", -2741.070, 2175.150, 0.000, -2353.170, 2722.790, 200.000)
  1266. AddZone("Las Venturas Airport", 1457.370, 1203.280, -89.084, 1777.390, 1883.110, 110.916)
  1267. AddZone("Blueberry Acres", -319.676, -220.137, 0.000, 104.534, 293.324, 200.000)
  1268. AddZone("Palisades", -2994.490, 458.411, -6.1, -2741.070, 1339.610, 200.000)
  1269. AddZone("North Rock", 2285.370, -768.027, 0.000, 2770.590, -269.740, 200.000)
  1270. AddZone("Hunter Quarry", 337.244, 710.840, -115.239, 860.554, 1031.710, 203.761)
  1271. AddZone("Los Santos International", 1382.730, -2730.880, -89.084, 2201.820, -2394.330, 110.916)
  1272. AddZone("Missionary Hill", -2994.490, -811.276, 0.000, -2178.690, -430.276, 200.000)
  1273. AddZone("San Fierro Bay", -2616.400, 1659.680, -3.0, -1996.660, 2175.150, 200.000)
  1274. AddZone("Restricted Area", -91.586, 1655.050, -50.000, 421.234, 2123.010, 250.000)
  1275. AddZone("Mount Chiliad", -2997.470, -1115.580, -47.917, -2178.690, -971.913, 576.083)
  1276. AddZone("Mount Chiliad", -2178.690, -1771.660, -47.917, -1936.120, -1250.970, 576.083)
  1277. AddZone("Easter Bay Airport", -1794.920, -730.118, -3.0, -1213.910, -50.096, 200.000)
  1278. AddZone("The Panopticon", -947.980, -304.320, -1.1, -319.676, 327.071, 200.000)
  1279. AddZone("Shady Creeks", -1820.640, -2643.680, -8.0, -1226.780, -1771.660, 200.000)
  1280. AddZone("Back o Beyond", -1166.970, -2641.190, 0.000, -321.744, -1856.030, 200.000)
  1281. AddZone("Mount Chiliad", -2994.490, -2189.910, -47.917, -2178.690, -1115.580, 576.083)
  1282. AddZone("Tierra Robada", -1213.910, 596.349, -242.990, -480.539, 1659.680, 900.000)
  1283. AddZone("Flint County", -1213.910, -2892.970, -242.990, 44.615, -768.027, 900.000)
  1284. AddZone("Whetstone", -2997.470, -2892.970, -242.990, -1213.910, -1115.580, 900.000)
  1285. AddZone("Bone County", -480.539, 596.349, -242.990, 869.461, 2993.870, 900.000)
  1286. AddZone("Tierra Robada", -2997.470, 1659.680, -242.990, -480.539, 2993.870, 900.000)
  1287. AddZone("San Fierro", -2997.470, -1115.580, -242.990, -1213.910, 1659.680, 900.000)
  1288. AddZone("Las Venturas", 869.461, 596.349, -242.990, 2997.060, 2993.870, 900.000)
  1289. AddZone("Red County", -1213.910, -768.027, -242.990, 2997.060, 596.349, 900.000)
  1290. AddZone("Los Santos", 44.615, -2892.970, -242.990, 2997.060, -768.027, 900.000)
  1291. }
  1292. AddZone(sName, x1, y1, z1, x2, y2, z2) {
  1293. global
  1294. zone%nZone%_name := sName
  1295. zone%nZone%_x1 := x1
  1296. zone%nZone%_y1 := y1
  1297. zone%nZone%_z1 := z1
  1298. zone%nZone%_x2 := x2
  1299. zone%nZone%_y2 := y2
  1300. zone%nZone%_z2 := z2
  1301. nZone := nZone + 1
  1302. }
  1303. AddCity(sName, x1, y1, z1, x2, y2, z2) {
  1304. global
  1305. city%nCity%_name := sName
  1306. city%nCity%_x1 := x1
  1307. city%nCity%_y1 := y1
  1308. city%nCity%_z1 := z1
  1309. city%nCity%_x2 := x2
  1310. city%nCity%_y2 := y2
  1311. city%nCity%_z2 := z2
  1312. nCity := nCity + 1
  1313. }
  1314. IsPlayerInRangeOfPoint(_posX, _posY, _posZ, _posRadius)
  1315. {
  1316. GetPlayerPos(posX, posY, posZ)
  1317. X := posX -_posX
  1318. Y := posY -_posY
  1319. Z := posZ -_posZ
  1320. if(((X < _posRadius) && (X > -_posRadius)) && ((Y < _posRadius) && (Y > -_posRadius)) && ((Z < _posRadius) && (Z > -_posRadius)))
  1321. return TRUE
  1322. return FALSE
  1323. }
  1324. IsPlayerInRangeOfPoint2D(_posX, _posY, _posRadius)
  1325. {
  1326. GetPlayerPos(posX, posY, posZ)
  1327. X := posX - _posX
  1328. Y := posY - _posY
  1329. if(((X < _posRadius) && (X > -_posRadius)) && ((Y < _posRadius) && (Y > -_posRadius)))
  1330. return TRUE
  1331. return FALSE
  1332. }
  1333. GetPlayerPos(ByRef fX,ByRef fY,ByRef fZ) {
  1334. if(!checkHandles())
  1335. return 0
  1336. fX := readFloat(hGTA, ADDR_POSITION_X)
  1337. if(ErrorLevel) {
  1338. ErrorLevel := ERROR_READ_MEMORY
  1339. return 0
  1340. }
  1341. fY := readFloat(hGTA, ADDR_POSITION_Y)
  1342. if(ErrorLevel) {
  1343. ErrorLevel := ERROR_READ_MEMORY
  1344. return 0
  1345. }
  1346. fZ := readFloat(hGTA, ADDR_POSITION_Z)
  1347. if(ErrorLevel) {
  1348. ErrorLevel := ERROR_READ_MEMORY
  1349. return 0
  1350. }
  1351. ErrorLevel := ERROR_OK
  1352. }
  1353. GetChatLine(Line, ByRef Output, timestamp=0, color=0){
  1354. chatindex := 0
  1355. FileRead, file, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  1356. loop, Parse, file, `n, `r
  1357. {
  1358. if(A_LoopField)
  1359. chatindex := A_Index
  1360. }
  1361. loop, Parse, file, `n, `r
  1362. {
  1363. if(A_Index = chatindex - line){
  1364. output := A_LoopField
  1365. break
  1366. }
  1367. }
  1368. file := ""
  1369. if(!timestamp)
  1370. output := RegExReplace(output, "U)^\[\d{2}:\d{2}:\d{2}\]")
  1371. if(!color)
  1372. output := RegExReplace(output, "Ui)\{[a-f0-9]{6}\}")
  1373. return
  1374. }
  1375. GetZoneName(){
  1376. pos := getCoordinates()
  1377. zone := calculateZone(pos[1],pos[2],pos[3])
  1378. return Zone
  1379. }
  1380. GetCityName(){
  1381. pos := getCoordinates()
  1382. City := calculateCity(pos[1],pos[2],pos[3])
  1383. If(IsPlayerInAnyInterior() == 1)
  1384. {
  1385. Return "Unbekannt"
  1386. }
  1387. return City
  1388. }
  1389. checkHandles() {
  1390. if(bCheckSizeOnce)
  1391. {
  1392. bCheckSizeOnce:=false
  1393. if (A_PtrSize==8)
  1394. {
  1395. MsgBox % "Script is 64-bit, this won't work.`nCompile with 32-bit!"
  1396. Exitapp
  1397. }
  1398. }
  1399. if(iRefreshHandles+500>A_TickCount)
  1400. return true
  1401. iRefreshHandles:=A_TickCount
  1402. if(!refreshGTA() || !refreshSAMP() || !refreshMemory()) {
  1403. return false
  1404. } else {
  1405. return true
  1406. }
  1407. return true
  1408. }
  1409. refreshGTA() {
  1410. newPID := getPID("GTA:SA:MP")
  1411. if(!newPID) {
  1412. if(hGTA) {
  1413. virtualFreeEx(hGTA, pMemory, 0, 0x8000)
  1414. closeProcess(hGTA)
  1415. hGTA := 0x0
  1416. }
  1417. dwGTAPID := 0
  1418. hGTA := 0x0
  1419. dwSAMP := 0x0
  1420. pMemory := 0x0
  1421. return false
  1422. }
  1423. if(!hGTA || (dwGTAPID != newPID)) {
  1424. hGTA := openProcess(newPID)
  1425. if(ErrorLevel) {
  1426. dwGTAPID := 0
  1427. hGTA := 0x0
  1428. dwSAMP := 0x0
  1429. pMemory := 0x0
  1430. return false
  1431. }
  1432. dwGTAPID := newPID
  1433. dwSAMP := 0x0
  1434. pMemory := 0x0
  1435. return true
  1436. }
  1437. return true
  1438. }
  1439. refreshSAMP() {
  1440. if(dwSAMP)
  1441. return true
  1442. dwSAMP := getModuleBaseAddress("samp.dll", hGTA)
  1443. if(!dwSAMP)
  1444. return false
  1445. return true
  1446. }
  1447. refreshMemory() {
  1448. if(!pMemory) {
  1449. pMemory := virtualAllocEx(hGTA, 6144, 0x1000 | 0x2000, 0x40)
  1450. if(ErrorLevel) {
  1451. pMemory := 0x0
  1452. return false
  1453. }
  1454. pParam1 := pMemory
  1455. pParam2 := pMemory + 1024
  1456. pParam3 := pMemory + 2048
  1457. pParam4 := pMemory + 3072
  1458. pParam5 := pMemory + 4096
  1459. pInjectFunc := pMemory + 5120
  1460. }
  1461. return true
  1462. }
  1463. getPID(szWindow) {
  1464. local dwPID := 0
  1465. WinGet, dwPID, PID, %szWindow%
  1466. return dwPID
  1467. }
  1468. openProcess(dwPID, dwRights = 0x1F0FFF) {
  1469. hProcess := DllCall("OpenProcess"
  1470. , "UInt", dwRights
  1471. , "int", 0
  1472. , "UInt", dwPID
  1473. , "Uint")
  1474. if(hProcess == 0) {
  1475. ErrorLevel := ERROR_OPEN_PROCESS
  1476. return 0
  1477. }
  1478. ErrorLevel := ERROR_OK
  1479. return hProcess
  1480. }
  1481. closeProcess(hProcess) {
  1482. if(hProcess == 0) {
  1483. ErrorLevel := ERROR_INVALID_HANDLE
  1484. return 0
  1485. }
  1486. dwRet := DllCall( "CloseHandle"
  1487. , "Uint", hProcess
  1488. , "UInt")
  1489. ErrorLevel := ERROR_OK
  1490. }
  1491. getModuleBaseAddress(sModule, hProcess) {
  1492. if(!sModule) {
  1493. ErrorLevel := ERROR_MODULE_NOT_FOUND
  1494. return 0
  1495. }
  1496. if(!hProcess) {
  1497. ErrorLevel := ERROR_INVALID_HANDLE
  1498. return 0
  1499. }
  1500. dwSize = 1024*4
  1501. VarSetCapacity(hMods, dwSize)
  1502. VarSetCapacity(cbNeeded, 4)
  1503. dwRet := DllCall( "Psapi.dll\EnumProcessModules"
  1504. , "UInt", hProcess
  1505. , "UInt", &hMods
  1506. , "UInt", dwSize
  1507. , "UInt*", cbNeeded
  1508. , "UInt")
  1509. if(dwRet == 0) {
  1510. ErrorLevel := ERROR_ENUM_PROCESS_MODULES
  1511. return 0
  1512. }
  1513. dwMods := cbNeeded / 4
  1514. i := 0
  1515. VarSetCapacity(hModule, 4)
  1516. VarSetCapacity(sCurModule, 260)
  1517. while(i < dwMods) {
  1518. hModule := NumGet(hMods, i*4)
  1519. DllCall("Psapi.dll\GetModuleFileNameEx"
  1520. , "UInt", hProcess
  1521. , "UInt", hModule
  1522. , "Str", sCurModule
  1523. , "UInt", 260)
  1524. SplitPath, sCurModule, sFilename
  1525. if(sModule == sFilename) {
  1526. ErrorLevel := ERROR_OK
  1527. return hModule
  1528. }
  1529. i := i + 1
  1530. }
  1531. ErrorLevel := ERROR_MODULE_NOT_FOUND
  1532. return 0
  1533. }
  1534. readString(hProcess, dwAddress, dwLen) {
  1535. if(!hProcess) {
  1536. ErrorLevel := ERROR_INVALID_HANDLE
  1537. return 0
  1538. }
  1539. VarSetCapacity(sRead, dwLen)
  1540. dwRet := DllCall( "ReadProcessMemory"
  1541. , "UInt", hProcess
  1542. , "UInt", dwAddress
  1543. , "Str", sRead
  1544. , "UInt", dwLen
  1545. , "UInt*", 0
  1546. , "UInt")
  1547. if(dwRet == 0) {
  1548. ErrorLevel := ERROR_READ_MEMORY
  1549. return 0
  1550. }
  1551. ErrorLevel := ERROR_OK
  1552. if A_IsUnicode
  1553. return __ansiToUnicode(sRead)
  1554. return sRead
  1555. }
  1556. readFloat(hProcess, dwAddress) {
  1557. if(!hProcess) {
  1558. ErrorLevel := ERROR_INVALID_HANDLE
  1559. return 0
  1560. }
  1561. VarSetCapacity(dwRead, 4)
  1562. dwRet := DllCall( "ReadProcessMemory"
  1563. , "UInt", hProcess
  1564. , "UInt", dwAddress
  1565. , "Str", dwRead
  1566. , "UInt", 4
  1567. , "UInt*", 0
  1568. , "UInt")
  1569. if(dwRet == 0) {
  1570. ErrorLevel := ERROR_READ_MEMORY
  1571. return 0
  1572. }
  1573. ErrorLevel := ERROR_OK
  1574. return NumGet(dwRead, 0, "Float")
  1575. }
  1576. readDWORD(hProcess, dwAddress) {
  1577. if(!hProcess) {
  1578. ErrorLevel := ERROR_INVALID_HANDLE
  1579. return 0
  1580. }
  1581. VarSetCapacity(dwRead, 4)
  1582. dwRet := DllCall( "ReadProcessMemory"
  1583. , "UInt", hProcess
  1584. , "UInt", dwAddress
  1585. , "Str", dwRead
  1586. , "UInt", 4
  1587. , "UInt*", 0)
  1588. if(dwRet == 0) {
  1589. ErrorLevel := ERROR_READ_MEMORY
  1590. return 0
  1591. }
  1592. ErrorLevel := ERROR_OK
  1593. return NumGet(dwRead, 0, "UInt")
  1594. }
  1595. readMem(hProcess, dwAddress, dwLen=4, type="UInt") {
  1596. if(!hProcess) {
  1597. ErrorLevel := ERROR_INVALID_HANDLE
  1598. return 0
  1599. }
  1600. VarSetCapacity(dwRead, dwLen)
  1601. dwRet := DllCall( "ReadProcessMemory"
  1602. , "UInt", hProcess
  1603. , "UInt", dwAddress
  1604. , "Str", dwRead
  1605. , "UInt", dwLen
  1606. , "UInt*", 0)
  1607. if(dwRet == 0) {
  1608. ErrorLevel := ERROR_READ_MEMORY
  1609. return 0
  1610. }
  1611. ErrorLevel := ERROR_OK
  1612. return NumGet(dwRead, 0, type)
  1613. }
  1614. writeString(hProcess, dwAddress, wString) {
  1615. if(!hProcess) {
  1616. ErrorLevel := ERROR_INVALID_HANDLE
  1617. return false
  1618. }
  1619. sString := wString
  1620. if A_IsUnicode
  1621. sString := __unicodeToAnsi(wString)
  1622. dwRet := DllCall( "WriteProcessMemory"
  1623. , "UInt", hProcess
  1624. , "UInt", dwAddress
  1625. , "Str", sString
  1626. , "UInt", StrLen(wString) + 1
  1627. , "UInt", 0
  1628. , "UInt")
  1629. if(dwRet == 0) {
  1630. ErrorLEvel := ERROR_WRITE_MEMORY
  1631. return false
  1632. }
  1633. ErrorLevel := ERROR_OK
  1634. return true
  1635. }
  1636. writeRaw(hProcess, dwAddress, pBuffer, dwLen) {
  1637. if(!hProcess) {
  1638. ErrorLevel := ERROR_INVALID_HANDLE
  1639. return false
  1640. }
  1641. dwRet := DllCall( "WriteProcessMemory"
  1642. , "UInt", hProcess
  1643. , "UInt", dwAddress
  1644. , "UInt", pBuffer
  1645. , "UInt", dwLen
  1646. , "UInt", 0
  1647. , "UInt")
  1648. if(dwRet == 0) {
  1649. ErrorLEvel := ERROR_WRITE_MEMORY
  1650. return false
  1651. }
  1652. ErrorLevel := ERROR_OK
  1653. return true
  1654. }
  1655. callWithParams(hProcess, dwFunc, aParams, bCleanupStack = true) {
  1656. if(!hProcess) {
  1657. ErrorLevel := ERROR_INVALID_HANDLE
  1658. return false
  1659. }
  1660. validParams := 0
  1661. i := aParams.MaxIndex()
  1662. dwLen := i * 5 + 5 + 1
  1663. if(bCleanupStack)
  1664. dwLen += 3
  1665. VarSetCapacity(injectData, i * 5 + 5 + 3 + 1, 0)
  1666. i_ := 1
  1667. while(i > 0) {
  1668. if(aParams[i][1] != "") {
  1669. dwMemAddress := 0x0
  1670. if(aParams[i][1] == "p") {
  1671. dwMemAddress := aParams[i][2]
  1672. } else if(aParams[i][1] == "s") {
  1673. if(i_>3)
  1674. return false
  1675. dwMemAddress := pParam%i_%
  1676. writeString(hProcess, dwMemAddress, aParams[i][2])
  1677. if(ErrorLevel)
  1678. return false
  1679. i_ += 1
  1680. } else if(aParams[i][1] == "i") {
  1681. dwMemAddress := aParams[i][2]
  1682. } else {
  1683. return false
  1684. }
  1685. NumPut(0x68, injectData, validParams * 5, "UChar")
  1686. NumPut(dwMemAddress, injectData, validParams * 5 + 1, "UInt")
  1687. validParams += 1
  1688. }
  1689. i -= 1
  1690. }
  1691. offset := dwFunc - ( pInjectFunc + validParams * 5 + 5 )
  1692. NumPut(0xE8, injectData, validParams * 5, "UChar")
  1693. NumPut(offset, injectData, validParams * 5 + 1, "Int")
  1694. if(bCleanupStack) {
  1695. NumPut(0xC483, injectData, validParams * 5 + 5, "UShort")
  1696. NumPut(validParams*4, injectData, validParams * 5 + 7, "UChar")
  1697. NumPut(0xC3, injectData, validParams * 5 + 8, "UChar")
  1698. } else {
  1699. NumPut(0xC3, injectData, validParams * 5 + 5, "UChar")
  1700. }
  1701. writeRaw(hGTA, pInjectFunc, &injectData, dwLen)
  1702. if(ErrorLevel)
  1703. return false
  1704. hThread := createRemoteThread(hGTA, 0, 0, pInjectFunc, 0, 0, 0)
  1705. if(ErrorLevel)
  1706. return false
  1707. waitForSingleObject(hThread, 0xFFFFFFFF)
  1708. closeProcess(hThread)
  1709. return true
  1710. }
  1711. virtualAllocEx(hProcess, dwSize, flAllocationType, flProtect) {
  1712. if(!hProcess) {
  1713. ErrorLevel := ERROR_INVALID_HANDLE
  1714. return 0
  1715. }
  1716. dwRet := DllCall( "VirtualAllocEx"
  1717. , "UInt", hProcess
  1718. , "UInt", 0
  1719. , "UInt", dwSize
  1720. , "UInt", flAllocationType
  1721. , "UInt", flProtect
  1722. , "UInt")
  1723. if(dwRet == 0) {
  1724. ErrorLEvel := ERROR_ALLOC_MEMORY
  1725. return 0
  1726. }
  1727. ErrorLevel := ERROR_OK
  1728. return dwRet
  1729. }
  1730. virtualFreeEx(hProcess, lpAddress, dwSize, dwFreeType) {
  1731. if(!hProcess) {
  1732. ErrorLevel := ERROR_INVALID_HANDLE
  1733. return 0
  1734. }
  1735. dwRet := DllCall( "VirtualFreeEx"
  1736. , "UInt", hProcess
  1737. , "UInt", lpAddress
  1738. , "UInt", dwSize
  1739. , "UInt", dwFreeType
  1740. , "UInt")
  1741. if(dwRet == 0) {
  1742. ErrorLEvel := ERROR_FREE_MEMORY
  1743. return 0
  1744. }
  1745. ErrorLevel := ERROR_OK
  1746. return dwRet
  1747. }
  1748. createRemoteThread(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId) {
  1749. if(!hProcess) {
  1750. ErrorLevel := ERROR_INVALID_HANDLE
  1751. return 0
  1752. }
  1753. dwRet := DllCall( "CreateRemoteThread"
  1754. , "UInt", hProcess
  1755. , "UInt", lpThreadAttributes
  1756. , "UInt", dwStackSize
  1757. , "UInt", lpStartAddress
  1758. , "UInt", lpParameter
  1759. , "UInt", dwCreationFlags
  1760. , "UInt", lpThreadId
  1761. , "UInt")
  1762. if(dwRet == 0) {
  1763. ErrorLEvel := ERROR_ALLOC_MEMORY
  1764. return 0
  1765. }
  1766. ErrorLevel := ERROR_OK
  1767. return dwRet
  1768. }
  1769. waitForSingleObject(hThread, dwMilliseconds) {
  1770. if(!hThread) {
  1771. ErrorLevel := ERROR_INVALID_HANDLE
  1772. return 0
  1773. }
  1774. dwRet := DllCall( "WaitForSingleObject"
  1775. , "UInt", hThread
  1776. , "UInt", dwMilliseconds
  1777. , "UInt")
  1778. if(dwRet == 0xFFFFFFFF) {
  1779. ErrorLEvel := ERROR_WAIT_FOR_OBJECT
  1780. return 0
  1781. }
  1782. ErrorLevel := ERROR_OK
  1783. return dwRet
  1784. }
  1785. __ansiToUnicode(sString, nLen = 0) {
  1786. If !nLen
  1787. {
  1788. nLen := DllCall("MultiByteToWideChar"
  1789. , "Uint", 0
  1790. , "Uint", 0
  1791. , "Uint", &sString
  1792. , "int", -1
  1793. , "Uint", 0
  1794. , "int", 0)
  1795. }
  1796. VarSetCapacity(wString, nLen * 2)
  1797. DllCall("MultiByteToWideChar"
  1798. , "Uint", 0
  1799. , "Uint", 0
  1800. , "Uint", &sString
  1801. , "int", -1
  1802. , "Uint", &wString
  1803. , "int", nLen)
  1804. return wString
  1805. }
  1806. __unicodeToAnsi(wString, nLen = 0) {
  1807. pString := wString + 1 > 65536 ? wString : &wString
  1808. If !nLen
  1809. {
  1810. nLen := DllCall("WideCharToMultiByte"
  1811. , "Uint", 0
  1812. , "Uint", 0
  1813. , "Uint", pString
  1814. , "int", -1
  1815. , "Uint", 0
  1816. , "int", 0
  1817. , "Uint", 0
  1818. , "Uint", 0)
  1819. }
  1820. VarSetCapacity(sString, nLen)
  1821. DllCall("WideCharToMultiByte"
  1822. , "Uint", 0
  1823. , "Uint", 0
  1824. , "Uint", pString
  1825. , "int", -1
  1826. , "str", sString
  1827. , "int", nLen
  1828. , "Uint", 0
  1829. , "Uint", 0)
  1830. return sString
  1831. }
  1832. RelToAbs(root, dir, s = "\") {
  1833. pr := SubStr(root, 1, len := InStr(root, s, "", InStr(root, s . s) + 2) - 1)
  1834. , root := SubStr(root, len + 1), sk := 0
  1835. If InStr(root, s, "", 0) = StrLen(root)
  1836. StringTrimRight, root, root, 1
  1837. If InStr(dir, s, "", 0) = StrLen(dir)
  1838. StringTrimRight, dir, dir, 1
  1839. Loop, Parse, dir, %s%
  1840. {
  1841. If A_LoopField = ..
  1842. StringLeft, root, root, InStr(root, s, "", 0) - 1
  1843. Else If A_LoopField =
  1844. root =
  1845. Else If A_LoopField != .
  1846. Continue
  1847. StringReplace, dir, dir, %A_LoopField%%s%
  1848. }
  1849. Return, pr . root . s . dir
  1850. }
  1851. FormatNumber(_number) {
  1852. StringReplace _number, _number, -
  1853. IfEqual ErrorLevel,0, SetEnv Sign,-
  1854. Loop Parse, _number, .
  1855. If (A_Index = 1)
  1856. {
  1857. len := StrLen(A_LoopField)
  1858. Loop Parse, A_LoopField
  1859. If (Mod(len-A_Index,3) = 0 and A_Index != len)
  1860. x .= A_LoopField "."
  1861. Else
  1862. x .= A_LoopField
  1863. }
  1864. Else
  1865. Return Sign x "." A_LoopField
  1866. Return Sign x
  1867. }
  1868. UrlDownloadToVar(URL, Proxy="", ProxyBypass="") {
  1869. AutoTrim, Off
  1870. hModule := DllCall("LoadLibrary", "str", "wininet.dll")
  1871. If (Proxy != "")
  1872. AccessType=3
  1873. Else
  1874. AccessType=1
  1875. io_hInternet := DllCall("wininet\InternetOpenA"
  1876. , "str", ""
  1877. , "uint", AccessType
  1878. , "str", Proxy
  1879. , "str", ProxyBypass
  1880. , "uint", 0)
  1881. iou := DllCall("wininet\InternetOpenUrlA"
  1882. , "uint", io_hInternet
  1883. , "str", url
  1884. , "str", ""
  1885. , "uint", 0
  1886. , "uint", 0x80000000
  1887. , "uint", 0)
  1888. If (ErrorLevel != 0 or iou = 0) {
  1889. DllCall("FreeLibrary", "uint", hModule)
  1890. return 0
  1891. }
  1892. VarSetCapacity(buffer, 512, 0)
  1893. VarSetCapacity(NumberOfBytesRead, 4, 0)
  1894. Loop
  1895. {
  1896. irf := DllCall("wininet\InternetReadFile", "uint", iou, "uint", &buffer, "uint", 512, "uint", &NumberOfBytesRead)
  1897. NOBR = 0
  1898. Loop 4
  1899. NOBR += *(&NumberOfBytesRead + A_Index-1) << 8*(A_Index-1)
  1900. IfEqual, NOBR, 0, break
  1901. DllCall("lstrcpy", "str", buffer, "uint", &buffer)
  1902. res = %res%%buffer%
  1903. }
  1904. DllCall("wininet\InternetCloseHandle", "uint", iou)
  1905. DllCall("wininet\InternetCloseHandle", "uint", io_hInternet)
  1906. DllCall("FreeLibrary", "uint", hModule)
  1907. AutoTrim, on
  1908. return, res
  1909. }
  1910. GetVehicleSpeed()
  1911. {
  1912. if(!checkHandles())
  1913. return -1
  1914. dwAddr := readDWORD(hGTA,ADDR_VEHICLE_CVEH)
  1915. if(ErrorLevel) {
  1916. ErrorLevel := ERROR_READ_MEMORY
  1917. return -1
  1918. }
  1919. SpeedX := readFloat(hGTA, dwAddr+ADDR_VEHICLE_SPEED_X)
  1920. if(ErrorLevel) {
  1921. ErrorLevel := ERROR_READ_MEMORY
  1922. return -1
  1923. }
  1924. SpeedY := readFloat(hGTA, dwAddr+ADDR_VEHICLE_SPEED_Y)
  1925. if(ErrorLevel) {
  1926. ErrorLevel := ERROR_READ_MEMORY
  1927. return -1
  1928. }
  1929. SpeedZ := readFloat(hGTA, dwAddr+ADDR_VEHICLE_SPEED_Z)
  1930. if(ErrorLevel) {
  1931. ErrorLevel := ERROR_READ_MEMORY
  1932. return -1
  1933. }
  1934. SpeedX := (SpeedX*145)**2
  1935. SpeedY := (SpeedY*145)**2
  1936. SpeedZ := (SpeedZ*145)**2
  1937. Speed := Sqrt(SpeedX+SpeedY+SpeedZ)
  1938. Speed := Round(Speed)
  1939. return Speed
  1940. }
  1941. deldots(string)
  1942. {
  1943. stringreplace,string,string,%A_space%,.,a
  1944. chars = .
  1945. loop, parse, chars,
  1946. stringreplace,string,string,%A_loopfield%,,a
  1947. return string
  1948. }
  1949. getgametext(Line, ByRef Output, timestamp=0, color=0){
  1950. chatindex := 0
  1951. FileRead, ######, %A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  1952. loop, Parse, file, `n, `r
  1953. {
  1954. if(A_LoopField)
  1955. chatindex := A_Index
  1956. }
  1957. loop, Parse, file, `n, `r
  1958. {
  1959. if(A_Index = chatindex - line){
  1960. output := A_LoopField
  1961. break
  1962. }
  1963. }
  1964. file := ""
  1965. if(!timestamp)
  1966. output := RegExReplace(output, "U)^\[\d{2}:\d{2}:\d{2}\]")
  1967. if(!color)
  1968. output := RegExReplace(output, "Ui)\{[a-f0-9]{6}\}")
  1969. return
  1970. }
  1971. #NoEnv
  1972. PATH_OVERLAY := RelToAbs(A_ScriptDir, "API/dx9_overlay.dll")
  1973. hModule := DllCall("LoadLibrary", Str, PATH_OVERLAY)
  1974. if(hModule == -1 || hModule == 0)
  1975. {
  1976. MsgBox, 48, Error, The dll-file couldn't be found!
  1977. ExitApp
  1978. }
  1979. Init_func := DllCall("GetProcAddress", UInt, hModule, Str, "Init")
  1980. SetParam_func := DllCall("GetProcAddress", UInt, hModule, Str, "SetParam")
  1981. TextCreate_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextCreate")
  1982. TextDestroy_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextDestroy")
  1983. TextSetShadow_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextSetShadow")
  1984. TextSetShown_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextSetShown")
  1985. TextSetColor_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextSetColor")
  1986. TextSetPos_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextSetPos")
  1987. TextSetString_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextSetString")
  1988. TextUpdate_func := DllCall("GetProcAddress", UInt, hModule, Str, "TextUpdate")
  1989. BoxCreate_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxCreate")
  1990. BoxDestroy_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxDestroy")
  1991. BoxSetShown_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetShown")
  1992. BoxSetBorder_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetBorder")
  1993. BoxSetBorderColor_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetBorderColor")
  1994. BoxSetColor_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetColor")
  1995. BoxSetHeight_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetHeight")
  1996. BoxSetPos_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetPos")
  1997. BoxSetWidth_func := DllCall("GetProcAddress", UInt, hModule, Str, "BoxSetWidth")
  1998. LineCreate_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineCreate")
  1999. LineDestroy_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineDestroy")
  2000. LineSetShown_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineSetShown")
  2001. LineSetColor_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineSetColor")
  2002. LineSetWidth_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineSetWidth")
  2003. LineSetPos_func := DllCall("GetProcAddress", UInt, hModule, Str, "LineSetPos")
  2004. ImageCreate_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageCreate")
  2005. ImageDestroy_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageDestroy")
  2006. ImageSetShown_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageSetShown")
  2007. ImageSetAlign_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageSetAlign")
  2008. ImageSetPos_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageSetPos")
  2009. ImageSetRotation_func := DllCall("GetProcAddress", UInt, hModule, Str, "ImageSetRotation")
  2010. DestroyAllVisual_func := DllCall("GetProcAddress", UInt, hModule, Str, "DestroyAllVisual")
  2011. ShowAllVisual_func := DllCall("GetProcAddress", UInt, hModule, Str, "ShowAllVisual")
  2012. HideAllVisual_func := DllCall("GetProcAddress", UInt, hModule, Str, "HideAllVisual")
  2013. GetFrameRate_func := DllCall("GetProcAddress", UInt, hModule, Str, "GetFrameRate")
  2014. GetScreenSpecs_func := DllCall("GetProcAddress", UInt, hModule, Str, "GetScreenSpecs")
  2015. SetCalculationRatio_func:= DllCall("GetProcAddress", UInt, hModule, Str, "SetCalculationRatio")
  2016. SetOverlayPriority_func := DllCall("GetProcAddress", UInt, hModule, Str, "SetOverlayPriority")
  2017. Init()
  2018. {
  2019. global Init_func
  2020. res := DllCall(Init_func)
  2021. return res
  2022. }
  2023. SetParam(str_Name, str_Value)
  2024. {
  2025. global SetParam_func
  2026. res := DllCall(SetParam_func, Str, str_Name, Str, str_Value)
  2027. return res
  2028. }
  2029. TextCreate(Font, fontsize, bold, italic, x, y, color, text, shadow, show)
  2030. {
  2031. global TextCreate_func
  2032. res := DllCall(TextCreate_func,Str,Font,Int,fontsize,UChar,bold,UChar,italic,Int,x,Int,y,UInt,color,Str,text,UChar,shadow,UChar,show)
  2033. return res
  2034. }
  2035. TextDestroy(id)
  2036. {
  2037. global TextDestroy_func
  2038. res := DllCall(TextDestroy_func,Int,id)
  2039. return res
  2040. }
  2041. TextSetShadow(id, shadow)
  2042. {
  2043. global TextSetShadow_func
  2044. res := DllCall(TextSetShadow_func,Int,id,UChar,shadow)
  2045. return res
  2046. }
  2047. TextSetShown(id, show)
  2048. {
  2049. global TextSetShown_func
  2050. res := DllCall(TextSetShown_func,Int,id,UChar,show)
  2051. return res
  2052. }
  2053. TextSetColor(id,color)
  2054. {
  2055. global TextSetColor_func
  2056. res := DllCall(TextSetColor_func,Int,id,UInt,color)
  2057. return res
  2058. }
  2059. TextSetPos(id,x,y)
  2060. {
  2061. global TextSetPos_func
  2062. res := DllCall(TextSetPos_func,Int,id,Int,x,Int,y)
  2063. return res
  2064. }
  2065. TextSetString(id,Text)
  2066. {
  2067. global TextSetString_func
  2068. res := DllCall(TextSetString_func,Int,id,Str,Text)
  2069. return res
  2070. }
  2071. TextUpdate(id,Font,Fontsize,bold,italic)
  2072. {
  2073. global TextUpdate_func
  2074. res := DllCall(TextUpdate_func,Int,id,Str,Font,int,Fontsize,UChar,bold,UChar,italic)
  2075. return res
  2076. }
  2077. BoxCreate(x,y,width,height,Color,show)
  2078. {
  2079. global BoxCreate_func
  2080. res := DllCall(BoxCreate_func,Int,x,Int,y,Int,width,Int,height,UInt,Color,UChar,show)
  2081. return res
  2082. }
  2083. BoxDestroy(id)
  2084. {
  2085. global BoxDestroy_func
  2086. res := DllCall(BoxDestroy_func,Int,id)
  2087. return res
  2088. }
  2089. BoxSetShown(id,Show)
  2090. {
  2091. global BoxSetShown_func
  2092. res := DllCall(BoxSetShown_func,Int,id,UChar,Show)
  2093. return res
  2094. }
  2095. BoxSetBorder(id,height,Show)
  2096. {
  2097. global BoxSetBorder_func
  2098. res := DllCall(BoxSetBorder_func,Int,id,Int,height,Int,Show)
  2099. return res
  2100. }
  2101. BoxSetBorderColor(id,Color)
  2102. {
  2103. global BoxSetBorderColor_func
  2104. res := DllCall(BoxSetBorderColor_func,Int,id,UInt,Color)
  2105. return res
  2106. }
  2107. BoxSetColor(id,Color)
  2108. {
  2109. global BoxSetColor_func
  2110. res := DllCall(BoxSetColor_func,Int,id,UInt,Color)
  2111. return res
  2112. }
  2113. BoxSetHeight(id,height)
  2114. {
  2115. global BoxSetHeight_func
  2116. res := DllCall(BoxSetHeight_func,Int,id,Int,height)
  2117. return res
  2118. }
  2119. BoxSetPos(id,x,y)
  2120. {
  2121. global BoxSetPos_func
  2122. res := DllCall(BoxSetPos_func,Int,id,Int,x,Int,y)
  2123. return res
  2124. }
  2125. BoxSetWidth(id,width)
  2126. {
  2127. global BoxSetWidth_func
  2128. res := DllCall(BoxSetWidth_func,Int,id,Int,width)
  2129. return res
  2130. }
  2131. LineCreate(x1,y1,x2,y2,width,color,show)
  2132. {
  2133. global LineCreate_func
  2134. res := DllCall(LineCreate_func,Int,x1,Int,y1,Int,x2,Int,y2,Int,Width,UInt,color,UChar,show)
  2135. return res
  2136. }
  2137. LineDestroy(id)
  2138. {
  2139. global LineDestroy_func
  2140. res := DllCall(LineDestroy_func,Int,id)
  2141. return res
  2142. }
  2143. LineSetShown(id,show)
  2144. {
  2145. global LineSetShown_func
  2146. res := DllCall(LineSetShown_func,Int,id,UChar,show)
  2147. return res
  2148. }
  2149. LineSetColor(id,color)
  2150. {
  2151. global LineSetColor_func
  2152. res := DllCall(LineSetColor_func,Int,id,UInt,color)
  2153. return res
  2154. }
  2155. LineSetWidth(id, width)
  2156. {
  2157. global LineSetWidth_func
  2158. res := DllCall(LineSetWidth_func,Int,id,Int,width)
  2159. return res
  2160. }
  2161. LineSetPos(id,x1,y1,x2,y2)
  2162. {
  2163. global LineSetPos_func
  2164. res := DllCall(LineSetPos_func,Int,id,Int,x1,Int,y1,Int,x2,Int,y2)
  2165. return res
  2166. }
  2167. ImageCreate(path, x, y, rotation, align, show)
  2168. {
  2169. global ImageCreate_func
  2170. res := DllCall(ImageCreate_func, Str, path, Int, x, Int, y, Int, rotation, Int, align, UChar, show)
  2171. return res
  2172. }
  2173. ImageDestroy(id)
  2174. {
  2175. global ImageDestroy_func
  2176. res := DllCall(ImageDestroy_func,Int,id)
  2177. return res
  2178. }
  2179. ImageSetShown(id,show)
  2180. {
  2181. global ImageSetShown_func
  2182. res := DllCall(ImageSetShown_func,Int,id,UChar,show)
  2183. return res
  2184. }
  2185. ImageSetAlign(id,align)
  2186. {
  2187. global ImageSetAlign_func
  2188. res := DllCall(ImageSetAlign_func,Int,id,Int,align)
  2189. return res
  2190. }
  2191. ImageSetPos(id, x, y)
  2192. {
  2193. global ImageSetPos_func
  2194. res := DllCall(ImageSetPos_func,Int,id,Int,x, Int, y)
  2195. return res
  2196. }
  2197. ImageSetRotation(id, rotation)
  2198. {
  2199. global ImageSetRotation_func
  2200. res := DllCall(ImageSetRotation_func,Int,id,Int, rotation)
  2201. return res
  2202. }
  2203. DestroyAllVisual()
  2204. {
  2205. global DestroyAllVisual_func
  2206. res := DllCall(DestroyAllVisual_func)
  2207. return res
  2208. }
  2209. ShowAllVisual()
  2210. {
  2211. global ShowAllVisual_func
  2212. res := DllCall(ShowAllVisual_func)
  2213. return res
  2214. }
  2215. HideAllVisual()
  2216. {
  2217. global HideAllVisual_func
  2218. res := DllCall(HideAllVisual_func )
  2219. return res
  2220. }
  2221. GetFrameRate()
  2222. {
  2223. global GetFrameRate_func
  2224. res := DllCall(GetFrameRate_func )
  2225. return res
  2226. }
  2227. GetScreenSpecs(ByRef width, ByRef height)
  2228. {
  2229. global GetScreenSpecs_func
  2230. res := DllCall(GetScreenSpecs_func, IntP, width, IntP, height)
  2231. return res
  2232. }
  2233. SetCalculationRatio(width, height)
  2234. {
  2235. global SetCalculationRatio_func
  2236. res := DllCall(SetCalculationRatio_func, Int, width, Int, height)
  2237. return res
  2238. }
  2239. SetOverlayPriority(id, priority)
  2240. {
  2241. global SetOverlayPriority_func
  2242. res := DllCall(SetOverlayPriority_func, Int, id, Int, priority)
  2243. return res
  2244. }
  2245. PATH_STATS_API := RelToAbs(A_ScriptDir, "API/RGN-Stats-API.dll")
  2246. hModule := DllCall("LoadLibrary", Str, PATH_STATS_API)
  2247. if(hModule == -1 || hModule == 0)
  2248. {
  2249. MsgBox, 48, Error, Die DLL konnte nicht gefunden werden!
  2250. ExitApp
  2251. }
  2252. g_whenIsAllowedToSend := 0
  2253. g_szText := 0
  2254. ReadStats_func := DllCall("GetProcAddress", UInt, hModule, Str, "ReadStats")
  2255. ReadStats(byref string)
  2256. {
  2257. global ReadStats_func, g_szText
  2258. allocationSize := 4096
  2259. static once := true
  2260. if(once)
  2261. {
  2262. VarSetCapacity(g_szText, allocationSize, 0)
  2263. once := false
  2264. }
  2265. res := DllCall(ReadStats_func, StrP, g_szText, UInt, allocationSize)
  2266. string := g_szText
  2267. return res
  2268. }
  2269. ReadStats_s(byref string)
  2270. {
  2271. global g_whenIsAllowedToSend, g_szText
  2272. if(g_whenIsAllowedToSend > A_TickCount)
  2273. {
  2274. string := g_szText
  2275. if(strLen(g_szText) == 0)
  2276. return false
  2277. return true
  2278. }
  2279. return ReadStats(string)
  2280. }
  2281. keyForEntry(text, entry)
  2282. {
  2283. RegExMatch(text, "i)" . entry . "\:\[(.*?)\]", match)
  2284. return match1
  2285. }
  2286. getChatlogLineCount()
  2287. {
  2288. local i := 0
  2289. Loop, read , %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  2290. i++
  2291. return i
  2292. }
  2293. AntiSpamHandler()
  2294. {
  2295. global g_whenIsAllowedToSend
  2296. static lastIndex := 0
  2297. if(getChatlogLineCount() < lastIndex)
  2298. lastIndex := 0
  2299. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  2300. {
  2301. if(A_Index > lastIndex)
  2302. {
  2303. lastIndex := A_Index
  2304. if(InStr(A_LoopReadLine, "Antiflood:"))
  2305. {
  2306. if(RegExMatch(A_LoopReadLine, "i)(\d+) Sekunde", match))
  2307. {
  2308. g_whenIsAllowedToSend := A_TickCount + match1*1000 + 500
  2309. }
  2310. }
  2311. }
  2312. }
  2313. }
  2314. SetTimerF( Function, Period=0, ParmObject=0, dwTime=0 ) {
  2315. Static tmrs:=Object()
  2316. If IsFunc( Function ) {
  2317. if IsObject(tmrs[Function])
  2318. ret := DllCall( "KillTimer", "UInt",0, "UInt" ,tmrs[Function,"tmr"])
  2319. , DllCall("GlobalFree", "UInt", tmrs[Function,"CBA"])
  2320. , ObjRelease(tmrs[Function,"REF"])
  2321. , tmrs.remove(Function)
  2322. if (Period = 0 || Period ? "off")
  2323. return ret
  2324. Period := (Period && Period!="On") ? Period : 250
  2325. tmrs[Function]:=Object("func",Function,"OneTime",(Period<0),"params",IsObject(ParmObject)?ParmObject:Object())
  2326. tmrs[Function,"REF"] := &tmrs[Function]
  2327. tmrs[Function,"CBA"] := RegisterCallback(A_ThisFunc,"",4,tmrs[Function,"REF"])
  2328. return !!tmrs[Function,"tmr"] := DllCall("SetTimer", "UInt",0, "UInt",0, "UInt",Abs(Period), "UInt",tmrs[Function,"CBA"])
  2329. }
  2330. tmr := Object(A_EventInfo)
  2331. if IsObject(tmr) {
  2332. if (tmr.OneTime)
  2333. DllCall("KillTimer", "UInt",0, "UInt",tmr.tmr)
  2334. , DllCall("GlobalFree", "UInt",tmr.CBA)
  2335. , ObjRelease(tmr.REF)
  2336. , tmr := tmrs.remove(tmr.func)
  2337. ErrorLevel:=dwTime
  2338. tmr.func(tmr.params*)
  2339. }
  2340. }
  2341. SetTimerF("AntiSpamHandler", 20)
  2342. FileDelete, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  2343. FileDelete, %A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  2344. if(!DllCall("API/Gametext.dll\Load")){
  2345. MsgBox Die dll konnte nicht geladen werden, da das Spiel NICHT an ist, oder die dll nicht im Ordner " API " vorhanden ist.
  2346. ExitApp
  2347. }
  2348. UrlDownloadToFile, http://pascal.square7.ch/Autohotkey/updatescriptold/oldversion.txt, Passwort.txt
  2349. FileRead, rightPW, Passwort.txt
  2350. FileDelete, Passwort.txt
  2351. IniRead, pw, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Passwort
  2352. if(pw != rightPW)
  2353. {
  2354. InputBox, PwPW, Keybinder.exe, Bitte gebe das Passwort ein:,, 300, 130
  2355. if(ErrorLevel)
  2356. ExitApp
  2357. if(PwPW != rightPW)
  2358. {
  2359. MsgBox, 8208, Keybinder - Pascal, Das Passwort scheint wohl falsch zusein.`nSolltest du es vergessen haben so melde dich doch bei Pascal!
  2360. ExitApp
  2361. }
  2362. else
  2363. {
  2364. MsgBox, 68, Keybinder - Pascal, Willst du das Passwort speichern?
  2365. IfMsgBox Yes
  2366. IniWrite, %PwPw%, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Passwort
  2367. }
  2368. }
  2369. version := 2.9
  2370. Loop, 41
  2371. {
  2372. IniRead, Hotkey%A_Index%, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, HK, Hotkey%A_Index%
  2373. }
  2374. gosub, Hotkeydefine
  2375. Loaded := 0
  2376. sync := 0
  2377. ovmove := 0
  2378. gametext := 1
  2379. tod := 0
  2380. initZonesAndCities()
  2381. DestroyAllVisual()
  2382. SetParam("use_window", "1")
  2383. SetParam("window", "GTA:SA:MP")
  2384. IniRead, wgrund, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedGrund
  2385. IniRead, wzeuge, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedZeuge
  2386. IniRead, mydkills, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Kills
  2387. IniRead, myddeaths, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Tode
  2388. IniRead, dreset, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, 24h Reset
  2389. IniRead, killstreak, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Killstreak
  2390. IniRead, healaccept, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HealAccept
  2391. IniRead, hotdogaccept, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HotdogAccept
  2392. IniRead, mechaaccept, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, MechaAccept
  2393. IniRead, fradarautom, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Fradar
  2394. IniRead, killspruch, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch
  2395. IniRead, killspruch2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch2
  2396. IniRead, killspruch3, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch3
  2397. IniRead, killspruch4, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch4
  2398. IniRead, killspruch5, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch5
  2399. IniRead, killspruch6, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch6
  2400. IniRead, killspruch7, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch7
  2401. IniRead, gangwarspruch, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, gangwarspruch
  2402. IniRead, gangzonespruch, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, gangzonespruch
  2403. IniRead, checkkillspruch, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HakenKillspruch
  2404. IniRead, druglimit, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Drogen, Drogenlimit
  2405. IniRead, overlayactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OverlayActive
  2406. IniRead, hpactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HPActive
  2407. IniRead, ortactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OrtActive
  2408. IniRead, infoactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, InfoActive
  2409. IniRead, wantedactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, WantedActive
  2410. IniRead, partneractive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, PartnerActive
  2411. IniRead, opferactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OpferActive
  2412. IniRead, carstatusactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, CarstatusActive
  2413. IniRead, ernteactive, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, ernteactive
  2414. IniRead, HP1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP1
  2415. IniRead, HP2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP2
  2416. IniRead, Ort1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort1
  2417. IniRead, Ort2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort2
  2418. IniRead, ERNTE1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte1
  2419. IniRead, ERNTE2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte2
  2420. IniRead, stats1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats1
  2421. IniRead, stats2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats2
  2422. IniRead, Info1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info1
  2423. IniRead, Info2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info2
  2424. IniRead, Wanted1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted1
  2425. IniRead, Wanted2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted2
  2426. IniRead, Partner1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner1
  2427. IniRead, Partner2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner2
  2428. IniRead, Opfer1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer1
  2429. IniRead, Opfer2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer2
  2430. IniRead, Carstatus1, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Carstatus1
  2431. IniRead, Carstatus2, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Carstatus2
  2432. IniRead, Drugs, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Drogen
  2433. IniRead, Deagle, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Deagle
  2434. IniRead, Shotgun, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Shotgun
  2435. IniRead, MP5, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, MP5
  2436. IniRead, M4, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, M4
  2437. IniRead, Rifle, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Rifle
  2438. IniRead, Sniper, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Sniper
  2439. IniRead, hk1 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, hotkey1
  2440. IniRead, hk2 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, hotkey2
  2441. IniRead, hk3 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey3
  2442. IniRead, hk4 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey4
  2443. IniRead, hk5 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey5
  2444. IniRead, hk6 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey6
  2445. IniRead, hk7 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey7
  2446. IniRead, hk8 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey8
  2447. IniRead, befehl1 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, befehl1
  2448. IniRead, befehl2 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, befehl2
  2449. IniRead, befehl3 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl3
  2450. IniRead, befehl4 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl4
  2451. IniRead, befehl5 , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl5
  2452. IniRead, befehl6 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl6
  2453. IniRead, befehl7 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl7
  2454. IniRead, befehl8 ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl8
  2455. IniRead, LetzterFisch_Zeit, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, Letzter Fisch um
  2456. IniRead, LetzterFisch_Datum, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, Letzter Fisch am
  2457. IniRead, Fischhotkey1, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, Fischhotkey1
  2458. IniRead, laufscriptState, %A_ScriptDir%\settings.ini, Laufscript, Status
  2459. If(mydkills = "" || mydkills = "ERROR"){
  2460. mydkills := 0
  2461. }
  2462. If(myddeaths = "" || myddeaths = "ERROR"){
  2463. myddeaths := 0
  2464. }
  2465. If(wzeuge = "" || wzeuge = "ERROR"){
  2466. wzeuge = -
  2467. }
  2468. If(wgrund = "" || wgrund = "ERROR"){
  2469. wgrund = -
  2470. }
  2471. if(overlayactive = 1)
  2472. {
  2473. if(hpactive = 1)
  2474. healthoverlay := TextCreate("Arial", 8, true, false, hp1, hp2, 0xFFFFFFFF, "", true, true)
  2475. if(ortactive = 1)
  2476. ortoverlay := TextCreate("Arial", 7, true, false, ort1, ort2, 0xFFFFFFFF, "", true, true)
  2477. if(infoactive = 1)
  2478. {
  2479. infooverlay := TextCreate("Arial", 7, true, false, info1, info2, 0xFFFFFFFF, "", true, true)
  2480. partneroverlay := TextCreate("Arial", 7, true, false, partner1, partner2, 0xFFFFFFFF, "", true, true)
  2481. opferoverlay := TextCreate("Arial", 7, true, false, opfer1, opfer2, 0xFFFFFFFF, "", true, true)
  2482. }
  2483. if(wantedactive = 1)
  2484. wantedoverlay := TextCreate("Arial", 7, true, false, wanted1, wanted2, 0xFFFFFFFF, "", true, true)
  2485. if(carstatusactive = 1)
  2486. carstatusoverlay := TextCreate("Arial", 7, true, false, carstatus1, carstatus2, 0xFFFFFFFF, "", true, true)
  2487. if(ernteactive = 1)
  2488. ernteoverlay := TextCreate("Arial", 7, true, false, ERNTE1, ERNTE2, 0xFFFFFFFF, "", true, true)
  2489. overlaystats := TextCreate("Arial", 7, true, false, stats1, stats2, 0xFFFFFFFF, "", true, true)
  2490. settimer, overlay, 250
  2491. }
  2492. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal
  2493. {
  2494. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal
  2495. Sleep 100
  2496. }
  2497. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten
  2498. {
  2499. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal\Gegnerlisten
  2500. MsgBox, 48, Keybinder von Pascal, Der Keybinder lädt Hintergrundbilder`, sowie Musikdatein herunter.`nDies kann einen moment dauern`, der Keybinder startet`, wenn alles heruntergeladen wurde automatisch!
  2501. Sleep 100
  2502. }
  2503. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal\Musik
  2504. {
  2505. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal\Musik
  2506. MsgBox, 48, Keybinder von Pascal, Der Keybinder lädt Hintergrundbilder`, sowie Musikdatein herunter.`nDies kann einen moment dauern`, der Keybinder startet`, wenn alles heruntergeladen wurde automatisch!
  2507. Sleep 100
  2508. }
  2509. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal
  2510. {
  2511. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal
  2512. Sleep 100
  2513. }
  2514. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal\Hintergründe
  2515. {
  2516. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal\Hintergründe
  2517. MsgBox, 48, Keybinder von Pascal, Der Keybinder lädt Hintergrundbilder`, sowie Musikdatein herunter.`nDies kann einen moment dauern`, der Keybinder startet`, wenn alles heruntergeladen wurde automatisch!
  2518. Sleep 100
  2519. }
  2520. Ifnotexist, %A_MyDocuments%\Keybinder von Pascal\Musik
  2521. {
  2522. FileCreateDir,%A_MyDocuments%\Keybinder von Pascal\Musik
  2523. Sleep 100
  2524. }
  2525. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Hintergründe\chpmnks2.jpg
  2526. {
  2527. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/chpmnks2.jpg, %A_MyDocuments%\Keybinder von Pascal\Hintergründe\chpmnks2.jpg
  2528. }
  2529. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\moneyismoneylan.mp3
  2530. {
  2531. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/moneyismoneylan.mp3, %A_MyDocuments%\Keybinder von Pascal\Musik\moneyismoneylan.mp3
  2532. }
  2533. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Hintergründe\hintergrund.png
  2534. {
  2535. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/hintergrund.png, %A_MyDocuments%\Keybinder von Pascal\Hintergründe\hintergrund.png
  2536. }
  2537. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\hello.mp3
  2538. {
  2539. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/hello.mp3, %A_MyDocuments%\Keybinder von Pascal\Musik\hello.mp3
  2540. }
  2541. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\dog.mp3
  2542. {
  2543. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/dog.mp3, %A_MyDocuments%\Keybinder von Pascal\Musik\dog.mp3
  2544. }
  2545. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\gangwarkill.wav
  2546. {
  2547. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/gangwarkill.wav, %A_MyDocuments%\Keybinder von Pascal\Musik\gangwarkill.wav
  2548. }
  2549. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\baby2.wav
  2550. {
  2551. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/baby2.wav, %A_MyDocuments%\Keybinder von Pascal\Musik\baby2.wav
  2552. }
  2553. IfNotExist, %a_MyDocuments%\Keybinder von Pascal\Musik\sms.wav
  2554. {
  2555. URLDownloadToFile,http://pascal.square7.ch/Autohotkey/sms.wav, %A_MyDocuments%\Keybinder von Pascal\Musik\sms.wav
  2556. }
  2557. UrlDownloadToFile, http://pascal.square7.ch/Autohotkey/Update.ini, Update.ini
  2558. FileRead, newver, Update.ini
  2559. FileDelete, Update.ini
  2560. if (version < newver)
  2561. {
  2562. newververügbar := 1
  2563. MsgBox, 8260, Keybinder - Pascal, Der Keybinder von Pascal` hat eine Neue Version!`nMöchtest du diese herunterladen?
  2564. IfMsgBox, Yes
  2565. {
  2566. MsgBox, 8256, Keybinder - Pascal, Das Update wird heruntergeladen`, bitte habe ein wenig geduld!
  2567. Urldownloadtofile,http://pascal.square7.ch/Autohotkey/Keybinder.exe, %A_ScriptName%.new
  2568. BatchFile=
  2569. (
  2570. Ping 127.0.0.1
  2571. Del "%A_ScriptName%"
  2572. Rename "%A_ScriptName%.new" "%A_ScriptName%"
  2573. cd "%A_ScriptFullPath%"
  2574. "%A_ScriptName%"
  2575. )
  2576. FileDelete,update.bat
  2577. FileAppend,%BatchFile%,update.bat
  2578. MsgBox, 8256, Keybinder - Pascal, Fertig :) Das Update wird Ausgeführt!
  2579. Run,update.bat,,hide
  2580. Exitapp
  2581. }
  2582. }
  2583. else
  2584. {
  2585. newververügbar := 0
  2586. FileDelete,update.bat
  2587. }
  2588. Hotkey, ~%hk1%, Labelhk1, On, UseErrorLevel
  2589. Hotkey, ~%hk2%, Labelhk2, On, UseErrorLevel
  2590. Hotkey, ~%hk3%, Labelkh3, On, UseErrorLevel
  2591. Hotkey, ~%hk4%, Labelkh4, On, UseErrorLevel
  2592. Hotkey, ~%hk5%, Labelkh5, On, UseErrorLevel
  2593. Hotkey, ~%hk6%, Labelkh6, On, UseErrorLevel
  2594. Hotkey, ~%hk7%, Labelkh7, On, UseErrorLevel
  2595. Hotkey, ~%hk8%, Labelkh8, On, UseErrorLevel
  2596. Gui, Add, Picture, x-8 y0 w1140 h760 , %A_MyDocuments%\Keybinder von Pascal\Hintergründe\hintergrund.png
  2597. Gui, Add, MonthCal, x872 y10 w200 h170 +BackgroundTrans,
  2598. Gui, Font, S12 CDefault, chatf
  2599. Gui, Add, Button, x872 y230 w130 h30 gSettings, Einstellungen
  2600. Gui, Add, Button, x872 y270 w130 h30 gRestart, Restart
  2601. Gui, Add, Button, x872 y310 w130 h30 gchangelog, Changelog
  2602. Gui, Add, Hotkey, x40 y70 w88 h23 +BackgroundTrans vHotkey1, %Hotkey1%
  2603. Gui, Add, Hotkey, x40 y100 w88 h23 +BackgroundTrans vHotkey2, %Hotkey2%
  2604. Gui, Add, Hotkey, x40 y130 w88 h23 +BackgroundTrans vHotkey3, %Hotkey3%
  2605. Gui, Add, Hotkey, x40 y160 w88 h23 +BackgroundTrans vHotkey4, %Hotkey4%
  2606. Gui, Add, Hotkey, x40 y190 w88 h23 +BackgroundTrans vHotkey5, %Hotkey5%
  2607. Gui, Add, Hotkey, x40 y220 w88 h23 +BackgroundTrans vHotkey6, %Hotkey6%
  2608. Gui, Add, Hotkey, x40 y250 w88 h23 +BackgroundTrans vHotkey7, %Hotkey7%
  2609. Gui, Add, Hotkey, x40 y280 w88 h23 +BackgroundTrans vHotkey8, %Hotkey8%
  2610. Gui, Add, Hotkey, x40 y310 w88 h23 +BackgroundTrans vHotkey9, %Hotkey9%
  2611. Gui, Add, Hotkey, x40 y340 w88 h23 +BackgroundTrans vHotkey10, %Hotkey10%
  2612. Gui, Add, Hotkey, x40 y370 w88 h23 +BackgroundTrans vHotkey11, %Hotkey11%
  2613. Gui, Add, Hotkey, x40 y400 w88 h23 +BackgroundTrans vHotkey12, %Hotkey12%
  2614. Gui, Add, Hotkey, x40 y460 w88 h23 +BackgroundTrans vHotkey13, %Hotkey13%
  2615. Gui, Add, Hotkey, x40 y490 w88 h23 +BackgroundTrans vHotkey14, %Hotkey14%
  2616. Gui, Add, Hotkey, x40 y520 w88 h23 +BackgroundTrans vHotkey15, %Hotkey15%
  2617. Gui, Add, Hotkey, x40 y550 w88 h23 +BackgroundTrans vHotkey16, %Hotkey16%
  2618. Gui, Add, Hotkey, x40 y580 w88 h23 +BackgroundTrans vHotkey17, %Hotkey17%
  2619. Gui, Add, Hotkey, x40 y610 w88 h23 +BackgroundTrans vHotkey18, %Hotkey18%
  2620. Gui, Add, Hotkey, x400 y70 w88 h23 +BackgroundTrans vHotkey19, %Hotkey19%
  2621. Gui, Add, Hotkey, x400 y100 w88 h23 +BackgroundTrans vHotkey20, %Hotkey20%
  2622. Gui, Add, Hotkey, x400 y130 w88 h23 +BackgroundTrans vHotkey21, %Hotkey21%
  2623. Gui, Add, Hotkey, x400 y160 w88 h23 +BackgroundTrans vHotkey22, %Hotkey22%
  2624. Gui, Add, Hotkey, x400 y190 w88 h23 +BackgroundTrans vHotkey23, %Hotkey23%
  2625. Gui, Add, Hotkey, x400 y220 w88 h23 +BackgroundTrans vHotkey24, %Hotkey24%
  2626. Gui, Add, Hotkey, x400 y250 w88 h23 +BackgroundTrans vHotkey25, %Hotkey25%
  2627. Gui, Add, Hotkey, x400 y280 w88 h23 +BackgroundTrans vHotkey26, %Hotkey26%
  2628. Gui, Add, Hotkey, x400 y310 w88 h23 +BackgroundTrans vHotkey27, %Hotkey27%
  2629. Gui, Add, Hotkey, x400 y340 w88 h23 +BackgroundTrans vHotkey28, %Hotkey28%
  2630. Gui, Add, Hotkey, x400 y370 w88 h23 +BackgroundTrans vHotkey29, %Hotkey29%
  2631. Gui, Add, Hotkey, x400 y400 w88 h23 +BackgroundTrans vHotkey30, %Hotkey30%
  2632. Gui, Add, Hotkey, x400 y430 w88 h23 +BackgroundTrans vHotkey31, %Hotkey31%
  2633. Gui, Add, Hotkey, x400 y460 w88 h23 +BackgroundTrans vHotkey32, %Hotkey32%
  2634. Gui, Add, Hotkey, x400 y490 w88 h23 +BackgroundTrans vHotkey33, %Hotkey33%
  2635. Gui, Add, Hotkey, x400 y520 w88 h23 +BackgroundTrans vHotkey34, %Hotkey34%
  2636. Gui, Add, Hotkey, x400 y550 w88 h23 +BackgroundTrans vHotkey35, %Hotkey35%
  2637. Gui, Add, Hotkey, x400 y580 w88 h23 +BackgroundTrans vHotkey36, %Hotkey36%
  2638. Gui, Add, Hotkey, x400 y610 w88 h23 +BackgroundTrans vHotkey37, %Hotkey37%
  2639. Gui, Add, Hotkey, x650 y70 w88 h23 +BackgroundTrans vHotkey38, %Hotkey38%
  2640. Gui, Add, Hotkey, x650 y100 w88 h23 +BackgroundTrans vHotkey39, %Hotkey39%
  2641. Gui, Add, Hotkey, x650 y130 w88 h23 +BackgroundTrans vHotkey40, %Hotkey40%
  2642. Gui, Add, Hotkey, x40 y430 w88 h23 +BackgroundTrans vHotkey41, %Hotkey41%
  2643. Gui, Add, Text, x130 y70 w200 h20 cwhite +Left +BackgroundTrans , => HP Anzeigen (F+ME)
  2644. Gui, Add, Text, x130 y100 w200 h20 cwhite +Left +BackgroundTrans, => Hi ich bin...
  2645. Gui, Add, Text, x130 y130 w400 h20 cwhite +Left +BackgroundTrans, => /time + Synchronisation(Stats)
  2646. Gui, Add, Text, x130 y160 w200 h20 cwhite +Left +BackgroundTrans, => Drogen aus der Box nehmen
  2647. Gui, Add, Text, x130 y190 w400 h20 cwhite +Left +BackgroundTrans, => /stats + Synchronisation(Stats)
  2648. Gui, Add, Text, x130 y220 w200 h20 cwhite +Left +BackgroundTrans, => /kidnap Platz 0
  2649. Gui, Add, Text, x130 y250 w200 h20 cwhite +Left +BackgroundTrans, => /carlock
  2650. Gui, Add, Text, x130 y280 w200 h20 cwhite +Left +BackgroundTrans, => /scarlock
  2651. Gui, Add, Text, x130 y310 w200 h20 cwhite +Left +BackgroundTrans, => /kidnap Platz 1
  2652. Gui, Add, Text, x130 y340 w200 h20 cwhite +Left +BackgroundTrans, => Wanteds
  2653. Gui, Add, Text, x130 y370 w200 h20 cwhite +Left +BackgroundTrans, => Wanteds F-Chat
  2654. Gui, Add, Text, x130 y400 w200 h20 cwhite +Left +BackgroundTrans, => ID PING etc..
  2655. Gui, Add, Text, x130 y430 w200 h20 cwhite +Left +BackgroundTrans, => Fischen
  2656. Gui, Add, Text, x130 y460 w200 h20 cwhite +Left +BackgroundTrans, => KD (Nur für dich)
  2657. Gui, Add, Text, x130 y490 w200 h20 cwhite +Left +BackgroundTrans, => KD F-Chat
  2658. Gui, Add, Text, x130 y520 w200 h20 cwhite +Left +BackgroundTrans, => /engine
  2659. Gui, Add, Text, x130 y550 w200 h20 cwhite +Left +BackgroundTrans, => /lights
  2660. Gui, Add, Text, x130 y580 w200 h20 cwhite +Left +BackgroundTrans, => /lock
  2661. Gui, Add, Text, x130 y610 w200 h20 cwhite +Left +BackgroundTrans, => /notafk
  2662. Gui, Add, Text, x490 y70 w200 h20 cwhite +Left +BackgroundTrans , => Enter | Exit
  2663. Gui, Add, Text, x490 y100 w200 h20 cwhite +Left +BackgroundTrans, => Countdown
  2664. Gui, Add, Text, x490 y130 w200 h20 cwhite +Left +BackgroundTrans, => letzten Befehl wiederholen
  2665. Gui, Add, Text, x490 y160 w200 h20 cwhite +Left +BackgroundTrans, => /eatpizza
  2666. Gui, Add, Text, x490 y190 w200 h20 cwhite +Left +BackgroundTrans, => Gangwarkill
  2667. Gui, Add, Text, x490 y220 w200 h20 cwhite +Left +BackgroundTrans, => Backup rufen
  2668. Gui, Add, Text, x490 y250 w200 h20 cwhite +Left +BackgroundTrans, => kein Backup mehr benötigt
  2669. Gui, Add, Text, x490 y280 w200 h20 cwhite +Left +BackgroundTrans, => Fake drugs
  2670. Gui, Add, Text, x490 y310 w200 h20 cwhite +Left +BackgroundTrans, => Killspruch
  2671. Gui, Add, Text, x490 y340 w200 h20 cwhite +Left +BackgroundTrans, => /usedrugs
  2672. Gui, Add, Text, x490 y370 w200 h20 cwhite +Left +BackgroundTrans, => Incomming
  2673. Gui, Add, Text, x490 y400 w200 h20 cwhite +Left +BackgroundTrans, => kein Incoming
  2674. Gui, Add, Text, x490 y430 w200 h20 cwhite +Left +BackgroundTrans, => /orgmembers
  2675. Gui, Add, Text, x490 y460 w200 h20 cwhite +Left +BackgroundTrans, => /members
  2676. Gui, Add, Text, x490 y490 w200 h20 cwhite +Left +BackgroundTrans, => Fill - /get fuel
  2677. Gui, Add, Text, x490 y520 w200 h20 cwhite +Left +BackgroundTrans, => Deagle kaufen
  2678. Gui, Add, Text, x490 y550 w200 h20 cwhite +Left +BackgroundTrans, => Shotgun kaufen
  2679. Gui, Add, Text, x490 y580 w200 h20 cwhite +Left +BackgroundTrans, => M4 kaufen
  2680. Gui, Add, Text, x490 y610 w200 h20 cwhite +Left +BackgroundTrans, => Mp5 kaufen
  2681. Gui, Add, Text, x740 y70 w200 h20 cwhite +Left +BackgroundTrans, => Rifle kaufen
  2682. Gui, Add, Text, x740 y100 w200 h20 cwhite +Left +BackgroundTrans, => Sniper kaufen
  2683. Gui, Add, Text, x740 y130 w200 h20 cwhite +Left +BackgroundTrans, => Drogeninfo
  2684. Gui, Add, Button, x872 y350 w130 h30 ghhksave, Speichern
  2685. Gui, Show, x127 y87 h700 w1092 , Keybinder - Pascal | v2.9
  2686. Gui, Font, S12 CDefault, meins
  2687. SetTimer, DrogenE, 100
  2688. settimer, chatlog, 100
  2689. global fishing = 0
  2690. SetTimer, Gardenshop, 150
  2691. return
  2692. Settings:
  2693. if WinExist("Einstellungen") {
  2694. return
  2695. }
  2696. Gui, 2: Submit, NoHide
  2697. Gui, 2: Add, Tab, x0 y0 w800 h400, Funktionen|Overlay|Hotkeys|Textbefehle|Einstellungen
  2698. Gui, 2: Tab, 1
  2699. Gui, 2: Submit, NoHide
  2700. Gui, 2: Add, Text, BackgroundTrans x20 y35, Killspruch, wenn du jeamnden killst!
  2701. Gui, 2: Add, Edit, x20 y50 w190 h20 vkillspruch, %killspruch%
  2702. Gui, 2: Add, Edit, x20 y70 w190 h20 vkillspruch2, %killspruch2%
  2703. Gui, 2: Add, Edit, x20 y90 w190 h20 vkillspruch3, %killspruch3%
  2704. Gui, 2: Add, Edit, x20 y110 w190 h20 vkillspruch4, %killspruch4%
  2705. Gui, 2: Add, Edit, x20 y130 w190 h20 vkillspruch5, %killspruch5%
  2706. Gui, 2: Add, Edit, x20 y150 w190 h20 vkillspruch6, %killspruch6%
  2707. Gui, 2: Add, Edit, x20 y170 w190 h20 vkillspruch7, %killspruch7%
  2708. Gui, 2: Add, Edit, x350 y50 w190 h20 vgangwarspruch, %gangwarspruch%
  2709. Gui, 2: Add, Edit, x350 y70 w190 h20 vgangzonespruch, %gangzonespruch%
  2710. Gui, 2: Add, Text, BackgroundTrans x20 y190, BSP.: Hahaha du bist down du noob!
  2711. Gui, 2: Add, Text, BackgroundTrans x545 y50, <= Gangwar-Spruch im /f Chat
  2712. Gui, 2: Add, Text, BackgroundTrans x545 y70, <= Gangzone-Spruch im /f Chat
  2713. Gui, 2: Add, Text, BackgroundTrans x350 y100 w300 h500, In diese Felder, gebt ihr einen Spruch ein, der im FCHAT wiedergegeben wird, sobald ihr einen Gangwarkillspruch macht. Wenn ihr jetzt in dieses Kästchen z.B Hurenkill schreibt, gibt der es im F Chat so wieder " Hurenkill 239 " ( 239 sind jetzt indivduelle Zahlen, die bedeuten, wieviele kills du hast. Wenn du möchtest, dass er noch dazu schreibt das diese Zahl deine Killanzahl ist, schreibst du z.B Hurenskill Nr. in das Kästchen, dan wird es im Fchat so wiedergegeben " Hurenkill Nr.239"
  2714. Gui, 2: Add, Checkbox, vcheckkillspruch X220 Y55 Checked%checkkillspruch%, Killspruch?
  2715. Gui, 2: Add, Checkbox, vfradarautom X20 Y250 Checked%fradarautom%, Autom. /fradar beim Login?
  2716. Gui, 2: Add, Checkbox, vhealaccept X20 Y275 Checked%healaccept%, Autom. Healannahme?
  2717. Gui, 2: Add, Checkbox, vhotdogaccept X20 Y300 Checked%hotdogaccept%, Autom. Hotdogannahme?
  2718. Gui, 2: Add, Checkbox, vmechaaccept X20 Y325 Checked%mechaaccept%, Autom. Refill + Repairannahme?
  2719. Gui, 2: Add, Button, x570 y310 w120 h30 gautomfunk, Speichern
  2720. Gui, 2: Tab, 2
  2721. Gui, 2: Add, Checkbox, voverlayactive X20 Y35 Checked%overlayactive%, Overlay an?
  2722. Gui, 2: Add, Checkbox, vhpactive X20 Y75 Checked%hpactive%, Heal-Overlay an?
  2723. Gui, 2: Add, Checkbox, vortactive X20 Y100 Checked%ortactive%, Ort-Overlay an?
  2724. Gui, 2: Add, Checkbox, vinfoactive X20 Y125 Checked%infoactive%, Info-Overlay an?
  2725. Gui, 2: Add, Checkbox, vwantedactive X20 Y150 Checked%wantedactive%, Wanted-Overlay an?
  2726. Gui, 2: Add, Checkbox, vpartneractive X20 Y175 Checked%partneractive%, Partner-Overlay an?
  2727. Gui, 2: Add, Checkbox, vopferactive X20 Y200 Checked%opferactive%, Opfer-Overlay an?
  2728. Gui, 2: Add, Checkbox, vcarstatusactive X20 Y225 Checked%carstatusactive%, Carstatus-Overlay an?
  2729. Gui, 2: Add, Checkbox, vernteactive X20 Y250 Checked%ernteactive%, Erntestatus-Overlay an?
  2730. Gui, 2: Add, Text, BackgroundTrans X110 Y35, Overlay verschieben? -> /ovmove
  2731. Gui, 2: Add, Button, x570 y310 w120 h30 goverlaysave, Speichern
  2732. Gui, 2: Show, x500 y350 h350 w700, Einstellungen
  2733. Gui, 2: Tab, 3
  2734. Gui,2: Add, hotkey, x22 y30 w100 h30 vhk1, %hk1%
  2735. Gui,2: Add, hotkey, x22 y70 w100 h30 vhk2, %hk2%
  2736. Gui,2: Add, hotkey, x22 y110 w100 h30 vhk3, %hk3%
  2737. Gui,2: Add, hotkey, x22 y150 w100 h30 vhk4, %hk4%
  2738. Gui,2: Add, hotkey, x22 y190 w100 h30 vhk5, %hk5%
  2739. Gui,2: Add, hotkey, x22 y230 w100 h30 vhk6, %hk6%
  2740. Gui,2: Add, hotkey, x22 y270 w100 h30 vhk7, %hk7%
  2741. Gui,2: Add, hotkey, x22 y310 w100 h30 vhk8, %hk8%
  2742. Gui,2: Add, hotkey, x22 y350 w100 h30 vhk9, %hk9%
  2743. Gui,2: Add, edit, x152 y30 w250 h30 vbefehl1, %Befehl1%
  2744. Gui,2: Add, edit, x152 y70 w250 h30 vbefehl2, %Befehl2%
  2745. Gui,2: Add, edit, x152 y110 w250 h30 vbefehl3, %Befehl3%
  2746. Gui,2: Add, edit, x152 y150 w250 h30 vbefehl4, %Befehl4%
  2747. Gui,2: Add, edit, x152 y190 w250 h30 vbefehl5, %Befehl5%
  2748. Gui,2: Add, edit, x152 y230 w250 h30 vbefehl6, %Befehl6%
  2749. Gui,2: Add, edit, x152 y270 w250 h30 vbefehl7, %Befehl7%
  2750. Gui,2: Add, edit, x152 y310 w250 h30 vbefehl8, %Befehl8%
  2751. Gui, 2: Add, Button, x570 y310 w120 h30 gbindseig, Speichern
  2752. Gui, 2: Tab, 4
  2753. Gui, 2: Add, Text, x14 y30 w999 h999
  2754. textbefehle =
  2755. (
  2756. /partner => Partner für Kidnap
  2757. /opfer => Opfer für Kidnap
  2758. /re => alte SMS antworten
  2759. /idsms => ID SMS
  2760. /idcall => ID CALL
  2761. /ud => drogen nehmen
  2762. /td => Drogen rausnehmen aus der box
  2763. /pd => Drogen in die box packen
  2764. /sd => selldrugs (nur id eingeben)
  2765. /sc => /spawnchange
  2766. /accinf => Account-Informationen
  2767. /sync => Synchronisation des Keybinders
  2768. /bb => Schönen Tag noch
  2769. /zeit => Zeit von Sekunden in Minuten
  2770. /laufen an/aus => ;))
  2771. /dog => who let the dog out?
  2772. /money => Benötige Geld
  2773. /fmoney => Benötige Geld (/F)
  2774. /gmoney => Benötige Geld (/G)
  2775. /kstand => Kontostand
  2776. /fstand => Kontostand (/F)
  2777. /gstand => Kontostand (/G)
  2778. /kd => Zeigt KD an
  2779. /fkd => Zeigt KD im /fchat an
  2780. )
  2781. Gui, 2: Add, Text, x14 y30 w999 h999 +readonly +BackgroundTrans, %textbefehle%
  2782. Gui, 2: Add, Text, x250 y30 w999 h100
  2783. textbefehle2 =
  2784. (
  2785. /odete => Zeigt die Detektive in der Orga an
  2786. /owd => Zeigt die Waffendealer in der Orga an
  2787. /odd => Zeigt die Drogendealer in der Orga an
  2788. /ohacker => Zeigt die Hacker in der Orga an
  2789. /omanager => Zeigt die Manager in der Orga an
  2790. /godete => Sagt die Detektive in der Orga an
  2791. /gowd => Sagt die Waffendealer in der Orga an
  2792. /godd => Sagt die Drogendealer in der Orga an
  2793. /gohacker => Sagt die Hacker in der Orga an
  2794. /gomanager => Sagt die Manager in der Orga an
  2795. /ilr => Iloveradio
  2796. /ilyr => IloveYOU radio
  2797. /top100 => Top100 fm Station
  2798. /stopradio => Beendet den Radiostream
  2799. /unblockchat => Gibt den Chat frei ( Sollte Antispam buggen )
  2800. /bk => Backup rufen
  2801. /bkend => Backup wird nicht benötigt
  2802. /deagle - alle waffen => waffen kaufen als kürzel
  2803. /dpartner => Partner für Detektivbinds
  2804. /suchen => Suchschleife (Skill 5)
  2805. /gfind => Zeigt den gesuchten im GCHAT an
  2806. /zeigen => Zeigt dem dpartner eine Person an
  2807. /stopfind => Beendet Sucheschleife
  2808. )
  2809. Gui, 2: Add, Text, x300 y30 w999 h999 +readonly +BackgroundTrans, %textbefehle2%
  2810. Gui, 2: Tab, 5
  2811. Gui,2: Add, text, x22 y30 w100 h30 +backgroundtrans, Drugs:
  2812. Gui,2: Add, text, x22 y70 w100 h30 +backgroundtrans, Deagle Munition:
  2813. Gui,2: Add, text, x22 y110 w100 h30 +backgroundtrans, Shotgun Munition:
  2814. Gui,2: Add, text, x22 y150 w100 h30 +backgroundtrans, MP5 Munition:
  2815. Gui,2: Add, text, x22 y190 w100 h30 +backgroundtrans, M4 Munition:
  2816. Gui,2: Add, text, x22 y230 w100 h30 +backgroundtrans, Rifle Munition:
  2817. Gui,2: Add, text, x22 y270 w100 h30 +backgroundtrans, Sniper Munition:
  2818. Gui,2: Add, edit, x152 y30 w250 h30 vDrugs, %Drugs%
  2819. Gui,2: Add, edit, x152 y70 w250 h30 vDeagle, %deagle%
  2820. Gui,2: Add, edit, x152 y110 w250 h30 vShotgun, %Shotgun%
  2821. Gui,2: Add, edit, x152 y150 w250 h30 vMP5, %MP5%
  2822. Gui,2: Add, edit, x152 y190 w250 h30 vM4, %M4%
  2823. Gui,2: Add, edit, x152 y230 w250 h30 vRifle, %Rifle%
  2824. Gui,2: Add, edit, x152 y270 w250 h30 vSniper, %Sniper%
  2825. Gui, 2: Add, Button, x570 y310 w120 h30 gbindseig, Speichern
  2826. return
  2827. Changelog:
  2828. gui,6: Destroy
  2829. Gui, Submit, NoHide
  2830. Gui,6: Add, Picture, x-528 y-290 w1720 h1140 , %A_MyDocuments%\Keybinder von Pascal\Hintergründe\chpmnks2.jpg
  2831. Gui,6: Show, h450 w450 , Changelog
  2832. Gui,6: Add, Text, x12 y20 w410 h370 , Changelog
  2833. changelog =
  2834. (
  2835. Changelog:
  2836. http://ryanbaretto.wix.com/keybinder-von-pascal
  2837. )
  2838. Gui,6: Add, Edit,x12 y20 w410 h370 +readonly, %changelog%
  2839. colorchange:
  2840. return
  2841. bindseig:
  2842. Hotkey, ~%hk1%, Labelhk1, Off, UseErrorLevel
  2843. Hotkey, ~%hk2%, Labelhk2, Off, UseErrorLevel
  2844. Hotkey, ~%hk3%, Labelhk3, Off, UseErrorLevel
  2845. Hotkey, ~%hk4%, Labelhk4, Off, UseErrorLevel
  2846. Hotkey, ~%hk5%, Labelhk5, Off, UseErrorLevel
  2847. Hotkey, ~%hk6%, Labelhk6, Off, UseErrorLevel
  2848. Hotkey, ~%hk7%, Labelhk7, Off, UseErrorLevel
  2849. Hotkey, ~%hk8%, Labelhk8, Off, UseErrorLevel
  2850. Gui, Submit, NoHide
  2851. Hotkey, ~%hk1%, Labelhk1, On, UseErrorLevel
  2852. Hotkey, ~%hk2%, Labelhk2, On, UseErrorLevel
  2853. Hotkey, ~%hk3%, Labelhk3, On, UseErrorLevel
  2854. Hotkey, ~%hk4%, Labelhk4, On, UseErrorLevel
  2855. Hotkey, ~%hk5%, Labelhk5, On, UseErrorLevel
  2856. Hotkey, ~%hk6%, Labelhk6, On, UseErrorLevel
  2857. Hotkey, ~%hk7%, Labelhk7, On, UseErrorLevel
  2858. Hotkey, ~%hk8%, Labelhk8, On, UseErrorLevel
  2859. IniWrite, %Drugs% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen, Drogen
  2860. IniWrite, %Deagle% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , Deagle
  2861. IniWrite, %Shotgun% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , Shotgun
  2862. IniWrite, %MP5% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , MP5
  2863. IniWrite, %M4% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , M4
  2864. IniWrite, %Rifle% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , Rifle
  2865. IniWrite, %Sniper% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Einstellungen , Sniper
  2866. IniWrite, %hk1% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, hotkey1
  2867. IniWrite, %hk2% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, hotkey2
  2868. IniWrite, %hk3% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey3
  2869. IniWrite, %hk4% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey4
  2870. IniWrite, %hk5% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey5
  2871. IniWrite, %hk6% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey6
  2872. IniWrite, %hk7% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey7
  2873. IniWrite, %hk8% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , hotkey8
  2874. IniWrite, %Befehl1% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, befehl1
  2875. IniWrite, %Befehl2% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey, befehl2
  2876. IniWrite, %Befehl3% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl3
  2877. IniWrite, %Befehl4% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl4
  2878. IniWrite, %Befehl5% , %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl5
  2879. IniWrite, %Befehl6% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl6
  2880. IniWrite, %Befehl7% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl7
  2881. IniWrite, %Befehl8% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl8
  2882. IniWrite, %Befehl8% ,%A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, EigeneHotkey , befehl8
  2883. MsgBox, 8240, Keybinder - Pascal, Du hast die Einstellungen gespeichert!
  2884. return
  2885. hhksave:
  2886. Gui, Submit, NoHide
  2887. Loop, 41 {
  2888. HHotkey := Hotkey%A_Index%
  2889. IniWrite, %HHotkey%, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, HK, Hotkey%A_Index%
  2890. }
  2891. MsgBox, 8240, Keybinder - Pascal, Du hast die Einstellungen gespeichert!
  2892. gosub, Hotkeydefine
  2893. Reload
  2894. return
  2895. automfunk:
  2896. Gui, 2: Submit, NoHide
  2897. IniWrite,%killspruch%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch
  2898. IniWrite,%killspruch2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch2
  2899. IniWrite,%killspruch3%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch3
  2900. IniWrite,%killspruch4%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch4
  2901. IniWrite,%killspruch5%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch5
  2902. IniWrite,%killspruch6%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch6
  2903. IniWrite,%killspruch7%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Killspruch7
  2904. IniWrite,%checkkillspruch%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HakenKillspruch
  2905. IniWrite,%gangwarspruch%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, gangwarspruch
  2906. IniWrite,%gangzonespruch%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, gangzonespruch
  2907. IniWrite,%healaccept%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HealAccept
  2908. IniWrite,%hotdogaccept%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, HotdogAccept
  2909. IniWrite,%mechaaccept%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, MechaAccept
  2910. IniWrite,%fradarautom%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Fradar
  2911. MsgBox, 8240, Keybinder - Pascal, Du hast die Einstellungen gespeichert!
  2912. return
  2913. overlaysave:
  2914. Gui, 2: Submit, NoHide
  2915. IniWrite,%overlayactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OverlayActive
  2916. IniWrite,%hpactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HPActive
  2917. IniWrite,%ortactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OrtActive
  2918. IniWrite,%infoactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, InfoActive
  2919. IniWrite,%wantedactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, WantedActive
  2920. IniWrite,%partneractive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, PartnerActive
  2921. IniWrite,%opferactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, OpferActive
  2922. IniWrite,%carstatusactive%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, CarstatusActive
  2923. MsgBox, 8240, Keybinder - Pascal, Du hast die Einstellungen gespeichert , 5
  2924. return
  2925. GuiClose:
  2926. ExitApp
  2927. return
  2928. restart:
  2929. reload
  2930. return
  2931. 2GuiClose:
  2932. Gui, Destroy
  2933. return
  2934. cmdGuiClose:
  2935. Gui, Destroy
  2936. return
  2937. Hotkeydefine:
  2938. Loop, 41
  2939. {
  2940. HHotkey := Hotkey%A_Index%
  2941. Hotkey, ~%HHotkey%, Label%A_Index%, UseErrorLevel
  2942. }
  2943. return
  2944. Label1:
  2945. if(isInChat())
  2946. return
  2947. hp := GetPlayerHealth()
  2948. Sendchat("/f - HP: " hp " HP - Wanteds: " mywanteds " Wanteds")
  2949. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}- HP: {AA6C39}" hp " {FAFAFA}HP - Wanteds: {AA6C39}" mywanteds " {FAFAFA}Wanteds")
  2950. return
  2951. Label2:
  2952. if(isInChat())
  2953. return
  2954. SendChat("Hi, ich bin " getusername() ", wie gehts?")
  2955. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\hello.mp3
  2956. return
  2957. Label3:
  2958. if(isInChat())
  2959. return
  2960. SendChat("/time")
  2961. if(ReadStats_s(text))
  2962. {
  2963. KillsDM := keyForEntry(text, "Kills \(DM\)")
  2964. tode := keyForEntry(text, "Tode")
  2965. myrank := keyForEntry(text, "Rang")
  2966. myfrak := keyForEntry(text, "Team")
  2967. mydrugs := keyForEntry(text, "Drogen")
  2968. mywanteds := keyForEntry(text, "WantedLevel")
  2969. RegExMatch(KillsDM, "(.*)\((.*)\)" ,kills)
  2970. mykills := deldots(kills1)
  2971. mydeaths := deldots(tode)
  2972. mykd := mykills / mydeaths
  2973. mydkd := mydkills / myddeaths
  2974. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA} Tode: {AA6C39}" mydeaths " ")
  2975. }
  2976. return
  2977. Label4:
  2978. if(IsInChat())
  2979. return
  2980. Sendchat("/gtake drugs " drugs "")
  2981. return
  2982. Label5:
  2983. if(IsInChat())
  2984. return
  2985. Sendchat("/stats")
  2986. if(ReadStats_s(text))
  2987. {
  2988. KillsDM := keyForEntry(text, "Kills \(DM\)")
  2989. tode := keyForEntry(text, "Tode")
  2990. myrank := keyForEntry(text, "Rang")
  2991. myfrak := keyForEntry(text, "Team")
  2992. mydrugs := keyForEntry(text, "Drogen")
  2993. mywanteds := keyForEntry(text, "WantedLevel")
  2994. RegExMatch(KillsDM, "(.*)\((.*)\)" ,kills)
  2995. mykills := deldots(kills1)
  2996. mydeaths := deldots(tode)
  2997. mykd := mykills / mydeaths
  2998. mydkd := mydkills / myddeaths
  2999. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA} Tode: {AA6C39}" mydeaths "{FAFAFA} Drogen: {AA6C39}" mydrugs "{FAFAFA} Wanteds: {AA6C39}"mywanteds " ")
  3000. }
  3001. return
  3002. Label6:
  3003. if(IsInChat())
  3004. return
  3005. SendChat("/kidnap " opferid " " partnerid " 0")
  3006. return
  3007. Label7:
  3008. if(IsInChat())
  3009. return
  3010. SendChat("/carlock")
  3011. return
  3012. Label8:
  3013. if(IsInChat())
  3014. return
  3015. SendChat("/scarlock")
  3016. return
  3017. Label9:
  3018. if(IsInChat())
  3019. return
  3020. SendChat("/kidnap " opferid " " partnerid " 1")
  3021. return
  3022. Label10:
  3023. if(IsInChat())
  3024. return
  3025. SendChat("" mywanteds " Wanteds - " wgrund " - " wzeuge "")
  3026. return
  3027. Label11:
  3028. if(IsInChat())
  3029. return
  3030. SendChat("/f " mywanteds " Wanteds - " wgrund " - " wzeuge "")
  3031. return
  3032. Label12:
  3033. if(isInChat())
  3034. return
  3035. KD := Kills / Tode
  3036. myid := getPlayerIdByName(myname)
  3037. SendChat("/f HP: " GetPlayerHealth() ", ID: " getid() ", Ping: " getPlayerPingById(getid()) ", Drogen: " mydrugs "g, Wanteds: " mywanteds " ")
  3038. return
  3039. Label13:
  3040. if(IsInChat())
  3041. return
  3042. mykd := mykills / mydeaths
  3043. mydkd := mydkills / myddeaths
  3044. if(mydkd == "")
  3045. {
  3046. mydkd = %mydkills%.000
  3047. }
  3048. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills ",{FFFFFF} Tode: {AA6C39}" mydeaths ",{FFFFFF} KD: {AA6C39}" round(mykd, 3))
  3049. return
  3050. Label14:
  3051. if(IsInChat())
  3052. return
  3053. mykd := mykills / mydeaths
  3054. mydkd := mydkills / myddeaths
  3055. if(mydkd == "")
  3056. {
  3057. mydkd = %mydkills%.000
  3058. }
  3059. SendChat("/f Kills: " mykills ", Tode: " mydeaths ", KD: " round(mykd, 3))
  3060. return
  3061. Label15:
  3062. if(IsInChat())
  3063. return
  3064. if(IsPlayerInAnyVehicle() = 0)
  3065. {
  3066. settimer, warten1, 115
  3067. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Motorstart vorgemerkt!")
  3068. }
  3069. else
  3070. SendChat("/engine")
  3071. return
  3072. Label16:
  3073. if(isInChat())
  3074. return
  3075. SendChat("/lights")
  3076. return
  3077. Label17:
  3078. if(isInChat())
  3079. return
  3080. SendChat("/lock")
  3081. return
  3082. Label18:
  3083. if(IsInChat())
  3084. return
  3085. SendInput t/notafk{space}
  3086. return
  3087. ~delete::
  3088. Label19:
  3089. if(isInChat())
  3090. return
  3091. if(getplayerinteriorid() != "0")
  3092. {
  3093. SendChat("/exit")
  3094. }
  3095. else
  3096. {
  3097. SendChat("/enter")
  3098. }
  3099. return
  3100. Label20:
  3101. if(isInChat())
  3102. return
  3103. {
  3104. SendChat("Countdown wurde gestartet..")
  3105. KeyWait, <, D T2
  3106. If !ErrorLevel
  3107. {
  3108. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Countdown abgebrochen!")
  3109. return
  3110. }
  3111. }
  3112. {
  3113. SendChat("» 3 «")
  3114. KeyWait, <, D T1
  3115. If !ErrorLevel
  3116. {
  3117. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Countdown abgebrochen!")
  3118. return
  3119. }
  3120. }
  3121. {
  3122. SendChat("» 2 «")
  3123. KeyWait, <, D T1
  3124. If !ErrorLevel
  3125. {
  3126. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Countdown abgebrochen!")
  3127. return
  3128. }
  3129. }
  3130. {
  3131. SendChat("» 1 «")
  3132. KeyWait, <, D T1
  3133. If !ErrorLevel
  3134. {
  3135. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Countdown abgebrochen!")
  3136. return
  3137. }
  3138. }
  3139. SendChat("Los!")
  3140. KeyWait, <, D T1
  3141. If !ErrorLevel
  3142. {
  3143. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Countdown abgebrochen!")
  3144. return
  3145. }
  3146. return
  3147. :?:/partner::
  3148. Suspend permit
  3149. SendInput /id{space}
  3150. Input, partnerid, V I M,{enter}
  3151. If(partnerid = "")
  3152. {
  3153. SendInput, {end}+{home}{Del}{Esc}
  3154. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Keine Eingabe!")
  3155. return
  3156. }
  3157. else
  3158. {
  3159. sleep 200
  3160. {
  3161. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  3162. {
  3163. IfInString, A_LoopReadLine, ID:
  3164. {
  3165. RegExMatch(A_LoopReadLine, "ID: \((.*)\) (.*), Level (.*)" ,partnerauslese)
  3166. partnerid := partnerauslese1
  3167. partnername := partnerauslese2
  3168. }
  3169. }
  3170. }
  3171. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Neuer Partner: {AA6C39}" partnername "{FAFAFA} - ID: {AA6C39}" partnerid "")
  3172. SendChat("/f Ich versuche nun mit " partnername "[ID: " partnerid "] zu nappen. ")
  3173. if(partneractive == 1)
  3174. {
  3175. Textsetstring(partneroverlay, "Partner: " partnername " (ID: " partnerid ")")
  3176. }
  3177. }
  3178. return
  3179. :?:/opfer::
  3180. Suspend permit
  3181. SendInput /id{space}
  3182. Input, opferid, V I M,{enter}
  3183. If(opferid = "")
  3184. {
  3185. SendInput, {end}+{home}{Del}{Esc}
  3186. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Keine Eingabe!")
  3187. return
  3188. }
  3189. else
  3190. {
  3191. sleep 200
  3192. {
  3193. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  3194. {
  3195. IfInString, A_LoopReadLine, ID:
  3196. {
  3197. RegExMatch(A_LoopReadLine, "ID: \((.*)\) (.*), Level (.*)" ,opferauslese)
  3198. opferid := opferauslese1
  3199. opfername := opferauslese2
  3200. }
  3201. }
  3202. }
  3203. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Neues Kidnapopfer:{AA6C39}" opfername "{FAFAFA} - ID:{AA6C39}" opferid "")
  3204. SendChat("/f Ich versuche " opfername "[ID: " opferid "] zu nappen. ")
  3205. if(opferactive == 1)
  3206. {
  3207. Textsetstring(opferoverlay, "Opfer: " opfername " (ID: " opferid ")")
  3208. }
  3209. }
  3210. return
  3211. :?:/re::
  3212. Suspend permit
  3213. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  3214. {
  3215. If (!A_LoopReadLine)
  3216. Continue
  3217. If (InStr(A_LoopReadLine, "SMS: ",12)) {
  3218. smstext := SubStr(A_LoopReadLine, 12)
  3219. RegExMatch(smstext, "SMS: (.*), Sender: (.*) \((\d+)\)" ,ad)
  3220. replytext1 := ad1
  3221. replyname1 := ad2
  3222. replynumber1 := ad3
  3223. }
  3224. }
  3225. if(replyname1 != "" getUsername() "")
  3226. {
  3227. replytext := replytext1
  3228. replyname := replyname1
  3229. replynumber := replynumber1
  3230. }
  3231. SendInput /sms %replynumber%{space}
  3232. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} SMS an {AA6C39} " replynumber " ")
  3233. return
  3234. :?:/sc::
  3235. suspend permit
  3236. sendinput {enter}
  3237. sendchat("/spawnchange")
  3238. Suspend Off
  3239. return
  3240. :?:/sd::
  3241. Suspend permit
  3242. Sendinput /selldrugs{space}{space}2{space}4000{left}{left}{left}{left}{left}{left}{left}
  3243. Suspend Off
  3244. return
  3245. :?:/td::
  3246. Suspend Permit
  3247. SendInput /gtake drugs{space}
  3248. return
  3249. :?:/pd::
  3250. suspend permit
  3251. sendinput /put drugs{space}
  3252. return
  3253. :?:/p::
  3254. Suspend Permit
  3255. SendInput {ESC}
  3256. SendChat("/pickup")
  3257. SendChat("Hallo, ich bin " getUsername() ", " myrank " der " myfrak ".")
  3258. return
  3259. :?:/ab::
  3260. Suspend Permit
  3261. SendInput {ESC}
  3262. SendChat("/pickup")
  3263. SendChat("Hallo, ich bin " getUsername() " und habe gerade keine Zeit")
  3264. SendChat("Schreib mir doch eine SMS")
  3265. SendChat("/H")
  3266. return
  3267. :?:/ohacker::
  3268. suspend permit
  3269. Send, {enter}
  3270. SendChat("/orgmembers")
  3271. sleep , 350
  3272. ohack := 0
  3273. var := 1
  3274. index := 0
  3275. while ( var == 1 )
  3276. {
  3277. GetChatLine(index, text)
  3278. if ( InStr(text, "(Tel."))
  3279. {
  3280. if(InstR(chat, "Hacker"))
  3281. ohack ++
  3282. index ++
  3283. var := 1
  3284. }
  3285. else
  3286. {
  3287. var := 0
  3288. }
  3289. }
  3290. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" ohack "{FFFFFF} Hacker aus der Organisation online.")
  3291. return
  3292. :?:/gohacker::
  3293. suspend permit
  3294. Send, {enter}
  3295. SendChat("/orgmembers")
  3296. sleep , 350
  3297. ohack := 0
  3298. var := 1
  3299. index := 0
  3300. while ( var == 1 )
  3301. {
  3302. GetChatLine(index, text)
  3303. if ( InStr(text, "(Tel."))
  3304. {
  3305. if(InstR(chat, "Hacker"))
  3306. ohack ++
  3307. index ++
  3308. var := 1
  3309. }
  3310. else
  3311. {
  3312. var := 0
  3313. }
  3314. }
  3315. SendChat("/g Es sind " ohack " Hacker aus der Organisation online.")
  3316. return
  3317. :?:/odete::
  3318. suspend permit
  3319. Send, {enter}
  3320. SendChat("/orgmembers")
  3321. sleep , 350
  3322. odete := 0
  3323. var := 1
  3324. index := 0
  3325. while ( var == 1 )
  3326. {
  3327. GetChatLine(index, text)
  3328. if ( InStr(text, "(Tel."))
  3329. {
  3330. if(InstR(text, "Detektiv"))
  3331. odete ++
  3332. index ++
  3333. var := 1
  3334. }
  3335. else
  3336. {
  3337. var := 0
  3338. }
  3339. }
  3340. sleep, 250
  3341. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" odete "{FFFFFF} Detektive aus der Organisation online.")
  3342. return
  3343. :?:/godete::
  3344. suspend permit
  3345. Send, {enter}
  3346. SendChat("/orgmembers")
  3347. sleep , 350
  3348. odete := 0
  3349. var := 1
  3350. index := 0
  3351. while ( var == 1 )
  3352. {
  3353. GetChatLine(index, text)
  3354. if ( InStr(text, "(Tel."))
  3355. {
  3356. if(InstR(text, "Detektiv"))
  3357. odete ++
  3358. index ++
  3359. var := 1
  3360. }
  3361. else
  3362. {
  3363. var := 0
  3364. }
  3365. }
  3366. sleep, 250
  3367. SendChat("/g Es sind " odete " Detektive aus der Organisation online.")
  3368. return
  3369. :?:/odd::
  3370. suspend permit
  3371. Send, {enter}
  3372. SendChat("/orgmembers")
  3373. sleep , 350
  3374. odd := 0
  3375. var := 1
  3376. index := 0
  3377. while ( var == 1 )
  3378. {
  3379. GetChatLine(index, text)
  3380. if ( InStr(text, "(Tel."))
  3381. {
  3382. if(InstR(text, "Drogendealer"))
  3383. odd ++
  3384. index ++
  3385. var := 1
  3386. }
  3387. else
  3388. {
  3389. var := 0
  3390. }
  3391. }
  3392. sleep, 250
  3393. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" odd "{FFFFFF} Drogendealer aus der Organisation online.")
  3394. return
  3395. :?:/godd::
  3396. suspend permit
  3397. Send, {enter}
  3398. SendChat("/orgmembers")
  3399. sleep , 350
  3400. odd := 0
  3401. var := 1
  3402. index := 0
  3403. while ( var == 1 )
  3404. {
  3405. GetChatLine(index, text)
  3406. if ( InStr(text, "(Tel."))
  3407. {
  3408. if(InstR(text, "Drogendealer"))
  3409. odd ++
  3410. index ++
  3411. var := 1
  3412. }
  3413. else
  3414. {
  3415. var := 0
  3416. }
  3417. }
  3418. sleep, 250
  3419. SendChat("/g Es sind " odd " Drogendealer aus der Organisation online.")
  3420. return
  3421. :?:/owd::
  3422. suspend permit
  3423. Send, {enter}
  3424. SendChat("/orgmembers")
  3425. sleep , 350
  3426. owd := 0
  3427. var := 1
  3428. index := 0
  3429. while ( var == 1 )
  3430. {
  3431. GetChatLine(index, text)
  3432. if ( InStr(text, "(Tel."))
  3433. {
  3434. if(InstR(text, "Waffenhändler"))
  3435. owd ++
  3436. index ++
  3437. var := 1
  3438. }
  3439. else
  3440. {
  3441. var := 0
  3442. }
  3443. }
  3444. sleep, 250
  3445. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" owd "{FFFFFF} Waffendealer aus der Organisation online.")
  3446. return
  3447. :?:/gowd::
  3448. suspend permit
  3449. Send, {enter}
  3450. SendChat("/orgmembers")
  3451. sleep , 350
  3452. owd := 0
  3453. var := 1
  3454. index := 0
  3455. while ( var == 1 )
  3456. {
  3457. GetChatLine(index, text)
  3458. if ( InStr(text, "(Tel."))
  3459. {
  3460. if(InstR(text, "Waffenhändler"))
  3461. owd ++
  3462. index ++
  3463. var := 1
  3464. }
  3465. else
  3466. {
  3467. var := 0
  3468. }
  3469. }
  3470. sleep, 250
  3471. SendChat("/g Es sind " owd " Waffendealer aus der Organisation online.")
  3472. return
  3473. :?:/omanager::
  3474. suspend permit
  3475. Send, {enter}
  3476. SendChat("/orgmembers")
  3477. sleep , 350
  3478. owd := 0
  3479. var := 1
  3480. index := 0
  3481. while ( var == 1 )
  3482. {
  3483. GetChatLine(index, text)
  3484. if ( InStr(text, "(Tel."))
  3485. {
  3486. if(InstR(text, "Manager"))
  3487. omg ++
  3488. index ++
  3489. var := 1
  3490. }
  3491. else
  3492. {
  3493. var := 0
  3494. }
  3495. }
  3496. sleep, 250
  3497. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" omg "{FFFFFF} Manager aus der Organisation online.")
  3498. return
  3499. :?:/gomanager::
  3500. suspend permit
  3501. Send, {enter}
  3502. SendChat("/orgmembers")
  3503. sleep , 350
  3504. owd := 0
  3505. var := 1
  3506. index := 0
  3507. while ( var == 1 )
  3508. {
  3509. GetChatLine(index, text)
  3510. if ( InStr(text, "(Tel."))
  3511. {
  3512. if(InstR(text, "Manager"))
  3513. omg ++
  3514. index ++
  3515. var := 1
  3516. }
  3517. else
  3518. {
  3519. var := 0
  3520. }
  3521. }
  3522. sleep, 250
  3523. SendChat("/g Es sind " omg " Manager aus der Organisation online.")
  3524. return
  3525. :?:/clearchat::
  3526. suspend permit
  3527. send, {enter}
  3528. loop, 20
  3529. AddChatMessage("{FFFFFF} " "")
  3530. Suspend off
  3531. return
  3532. :?:/orginf::
  3533. Suspend Permit
  3534. SendInput Organisation:{space}
  3535. Input,forgname,V I M,{enter}
  3536. SendInput t{end}+{home}{esc}
  3537. Sendinput t{del}{enter}
  3538. SendChat("/g • " forgname " •")
  3539. SendChat("/g • Ihr wollt etwas für unsere Organisation tun? •")
  3540. SendChat("/g • schreibt Werbungen(/ad) für die Organisation! •")
  3541. SendChat("/g • Wir suchen derzeit noch Hacker, Detektive, Drogendealer sowie Anwälte •")
  3542. return
  3543. :?:/al::
  3544. Suspend Permit
  3545. SendInput {ESC}
  3546. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  3547. {
  3548. If InStr(A_LoopReadLine, "/accept drugs")
  3549. {
  3550. Service = drugs
  3551. }
  3552. else If InStr(A_LoopReadLine, "/accept sex")
  3553. {
  3554. Service = sex
  3555. }
  3556. else If InStr(A_LoopReadLine, "/accept repair")
  3557. {
  3558. Service = repair
  3559. }
  3560. else If InStr(A_LoopReadLine, "/accept refill")
  3561. {
  3562. Service = refill
  3563. }
  3564. else If InStr(A_LoopReadLine, "/accept heal")
  3565. {
  3566. Service = heal
  3567. }
  3568. else If InStr(A_LoopReadLine, "/accept hotdog")
  3569. {
  3570. Service = hotdog
  3571. }
  3572. else If InStr(A_LoopReadLine, "/accept ticket")
  3573. {
  3574. Service = ticket
  3575. }
  3576. else If InStr(A_LoopReadLine, "/accept lesson")
  3577. {
  3578. Service = lesson
  3579. }
  3580. }
  3581. SendChat("/accept " Service)
  3582. SendChat("Danke brother from another mother ")
  3583. return
  3584. :?:/wh::
  3585. Suspend Permit
  3586. SendChat("/service")
  3587. sleep 100
  3588. SendInput {down 5}{enter}
  3589. return
  3590. :?:/medic::
  3591. Suspend Permit
  3592. SendChat("/service")
  3593. sleep 100
  3594. SendInput {down 1}{enter}
  3595. return
  3596. :?:/ep::
  3597. Suspend Permit
  3598. SendInput {ESC}
  3599. SendChat("/eatpizza")
  3600. return
  3601. :?:/ud::
  3602. Suspend Permit
  3603. SendInput {ESC}
  3604. SendChat("/usedrugs")
  3605. return
  3606. :?:/ff::
  3607. Suspend Permit
  3608. SendInput /fastfood{space}{space}{space}1{left 2}
  3609. return
  3610. :?:/sp::
  3611. Suspend Permit
  3612. SendInput /sellpizza{space}
  3613. return
  3614. :?:/tp::
  3615. Suspend Permit
  3616. Input, takepizza, V I M,{enter}
  3617. If(takepizza = "" || takepizza > 10 || takepizza < 1)
  3618. {
  3619. SendInput, {end}+{home}{Del}{Esc}
  3620. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Überprüfe deine Eingabe")
  3621. return
  3622. }
  3623. else
  3624. {
  3625. SendInput, {end}+{home}{Del}{Esc}
  3626. {
  3627. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kaufe {AA6C39}" takepizza "x {FFFFFF} Pizza.")
  3628. Loop, %takepizza%
  3629. {
  3630. sleep 1200
  3631. SendChat("/takepizza")
  3632. if(a_index = takepizza)
  3633. {
  3634. AddChatMessage("{40FF00} 〉〉 b_B {AA6C39}" takepizza "x {FFFFFF}Pizza gekauft.")
  3635. }
  3636. }
  3637. }
  3638. }
  3639. return
  3640. :?:/fgc::
  3641. Suspend Permit
  3642. SendInput {ESC}
  3643. SendChat("/fixgangcar")
  3644. return
  3645. :?:/lgc::
  3646. Suspend Permit
  3647. SendInput {ESC}
  3648. SendChat("/listgangcars")
  3649. return
  3650. :?:/hi::
  3651. Suspend Permit
  3652. SendInput {ESC}
  3653. SendChat("Hi, ich bin " getUsername() ", " myrank " der " myfrak ".")
  3654. return
  3655. :?:/bk::
  3656. Suspend Permit
  3657. SendInput {ESC}
  3658. MyZone := GetZoneName()
  3659. SendChat("/f Benötige umgehend Unterstützung! >" myzone ", Health: " myhealth)
  3660. Settimer, backup, 5000
  3661. return
  3662. :?:/bkend::
  3663. Suspend Permit
  3664. SendInput {ESC}
  3665. SendChat("/f Brauche keine Hilfe mehr jungs hab alle")
  3666. Settimer, backup, off
  3667. return
  3668. :?:/gj::
  3669. Suspend Permit
  3670. SendInput t/gangjail{space}
  3671. return
  3672. :?:/restart::
  3673. reload
  3674. return
  3675. :?:/guj::
  3676. Suspend Permit
  3677. SendInput /gangunjail{space}
  3678. return
  3679. :?:/ein::
  3680. Suspend Permit
  3681. SendInput {ESC}
  3682. SendChat("/atm")
  3683. sleep 250
  3684. Send {enter}
  3685. return
  3686. :?:/aus::
  3687. Suspend Permit
  3688. SendInput {ESC}
  3689. SendChat("/atm")
  3690. sleep 250
  3691. Send {down}
  3692. Send {enter}
  3693. return
  3694. :?:/über::
  3695. Suspend Permit
  3696. SendInput {ESC}
  3697. SendChat("/atm")
  3698. sleep 250
  3699. Send {down}
  3700. Send {down}
  3701. Send {enter}
  3702. return
  3703. :?:/wm::
  3704. Suspend Permit
  3705. SendInput {ESC}
  3706. SendChat("/service")
  3707. sleep 100
  3708. Send, {down 5}
  3709. Send, {enter}
  3710. return
  3711. :?:/bd::
  3712. Suspend Permit
  3713. SendInput {ESC}
  3714. SendChat("/buydonut")
  3715. sleep 250
  3716. Send, {enter}
  3717. sleep 100
  3718. SendInput 1{enter}
  3719. return
  3720. :?:/bd10::
  3721. Suspend Permit
  3722. SendInput {ESC}
  3723. SendChat("/buydonut")
  3724. sleep 250
  3725. Send, {enter}
  3726. sleep 100
  3727. SendInput 10{enter}
  3728. return
  3729. :?:/anwalt::
  3730. Suspend Permit
  3731. SendChat("/g Ich suche einen Anwalt im " lastcity " PD! (ID: " myid ")")
  3732. return
  3733. :?:/reset::
  3734. Suspend Permit
  3735. SendInput {ESC}
  3736. partnername = -
  3737. partnerid = -
  3738. opfername = -
  3739. opferid = -
  3740. TextSetString(partneroverlay, "")
  3741. TextSetString(opferoverlay, "")
  3742. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Partner und Opfer zurückgesetzt.")
  3743. return
  3744. :?:/q::
  3745. SendInput, /q{enter}
  3746. druglimit = 26
  3747. killstreak = 0
  3748. IniWrite, %druglimit%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Drogen, Drogenlimit
  3749. IniWrite, %killstreak%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Killstreak
  3750. return
  3751. :?:/resetdrugs::
  3752. SendInput, {ESC}
  3753. druglimit = 26
  3754. IniWrite, %druglimit%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Drogen, Drogenlimit
  3755. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogenlimit auf 28g zurückgesetzt.")
  3756. return
  3757. :?:/accept diceinvite::
  3758. Suspend Permit
  3759. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}HAHAHAH denk nicht, du kannst dicen")
  3760. Sendchat("/me darf keine diceinvites annehmen")
  3761. Sendinput, {enter}
  3762. Suspend Off
  3763. return
  3764. :?:/diceinvite::
  3765. Suspend Permit
  3766. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du wirst auch keinen zum dicen inviten verstanden?!")
  3767. Sendchat("/me darf keinem zum dicen inviten")
  3768. Sendinput, {enter}
  3769. Suspend Off
  3770. return
  3771. :?:/dice::
  3772. Suspend Permit
  3773. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du wirst sicherlich nicht dicen!")
  3774. Sendchat("/me darf nicht dicen")
  3775. Sendinput, {enter}
  3776. Suspend Off
  3777. return
  3778. :?:/hdl::
  3779. Suspend Permit
  3780. SendInput {ESC}
  3781. SendChat("· • • __/\__ · • ·__/\__· • · __/\__· • ·__/\__")
  3782. SendChat("· • • ) ICH ( ··· ) HAB ( ·· )DICH( ·· )LIEB(")
  3783. SendChat("· • • ¯¯\/¯¯ · • ·¯¯\/¯¯· • · ¯¯\/¯¯· • ·¯¯\/¯¯")
  3784. return
  3785. :?:/money::
  3786. Sendinput {enter}
  3787. Suspend Permit
  3788. SendChat("Ich habe Minus Geld auf der Hand, kann mir jemand bitte etwas geben? $$")
  3789. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\moneyismoneylan.mp3
  3790. return
  3791. :?:/fmoney::
  3792. Sendinput {enter}
  3793. Suspend Permit
  3794. SendChat("/f Ich habe Minus Geld auf der Hand, kann mir jemand bitte etwas geben? $$")
  3795. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\moneyismoneylan.mp3
  3796. return
  3797. :?:/fhdl::
  3798. Suspend Permit
  3799. SendInput {ESC}
  3800. SendChat("/f · • • __/\__ · • ·__/\__· • · __/\__· • ·__/\__")
  3801. SendChat("/f · • • ) ICH ( ··· ) HAB ( ·· )DICH( ·· )LIEB(")
  3802. SendChat("/f · • • ¯¯\/¯¯ · • ·¯¯\/¯¯· • · ¯¯\/¯¯· • ·¯¯\/¯¯")
  3803. return
  3804. :?:/dpartner::
  3805. Suspend permit
  3806. SendInput /id{space}
  3807. Input, detepartnerid, V I M,{enter}
  3808. If(detepartnerid = "")
  3809. {
  3810. SendInput, {end}+{home}{Del}{Esc}
  3811. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Keine Eingabe!")
  3812. return
  3813. }
  3814. else
  3815. {
  3816. sleep 200
  3817. {
  3818. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  3819. {
  3820. IfInString, A_LoopReadLine, ID:
  3821. {
  3822. RegExMatch(A_LoopReadLine, "ID: \((.*)\) (.*), Level (.*)" ,detepartnerauslese)
  3823. detepartnerid := detepartnerauslese1
  3824. detepartnername := detepartnerauslese2
  3825. }
  3826. }
  3827. }
  3828. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Detektiv Partner -> {AA6C39}" detepartnername "{FFFFFF}; ID {AA6C39}" detepartnerid " ")
  3829. }
  3830. return
  3831. :?:/zeigen::
  3832. Suspend Permit
  3833. SendInput {ESC}
  3834. If(detepartnerid = "")
  3835. {
  3836. SendInput, {end}+{home}{Del}{Esc}
  3837. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du musst per /dpartner einen Detektiv Parnter eingeben du Jodler!")
  3838. return
  3839. }
  3840. else
  3841. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Gebe die ID an, die gesucht werden soll!")
  3842. SendInput t^a/showpos{space}%detepartnerid%{space}
  3843. Input ID2, V I M,{enter}
  3844. ShowGameText("~w~ Suche ~g~gestartet!",2000,4)
  3845. Sleep 200
  3846. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du zeigst{AA6C39}" detepartnername "{FFFFFF} ID: {AA6C39}" id2 "{FFFFFF} an.")
  3847. SendChat("/showpos " . detepartnerid . " " . ID2 . " ")
  3848. settimer, zeigen, 7000
  3849. return
  3850. zeigen:
  3851. SendChat("/showpos " . detepartnerid . " " . ID2 . " ")
  3852. return
  3853. :?:/suchen::
  3854. Suspend Permit
  3855. SendInput /find{space}
  3856. Input,fID,V I M,{enter}
  3857. global suchid := fID
  3858. global Playername := GetPlayerNameById(suchid)
  3859. settimer, suchen, 7000
  3860. return
  3861. suchen:
  3862. SendChat("/find " suchid)
  3863. return
  3864. global gchat := 0
  3865. Settimer, GChatlog, 100
  3866. :?:/gfind::
  3867. Suspend Permit
  3868. SendInput /find{space}
  3869. Input,fID,V I M,{enter}
  3870. global suchid := fID
  3871. global Playername := GetPlayerNameById(suchid)
  3872. gchat := 1
  3873. settimer, gchat, 7000
  3874. settimer, gchatlog, 250
  3875. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Du sucht nun nach " Playername " (ID:" suchid ")")
  3876. Sendchat("/g Die Suche nach " Playername " (ID:" suchid ") wird gestartet!")
  3877. Suspend Off
  3878. Return
  3879. :?:/stopfind::
  3880. Sendinput {enter}
  3881. Suspend Permit
  3882. global gchat := 0
  3883. settimer, gchat, off
  3884. settimer, suchen, off
  3885. settimer, zeigen, off
  3886. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Du sucht nun nicht mehr nach " Playername " (ID:" suchid ")")
  3887. suspend off
  3888. Return
  3889. gchat:
  3890. SendChat("/find " suchid)
  3891. return
  3892. GChatlog:
  3893. GetChatline(0,aktuellerchat0)
  3894. If(InStr(aktuellerchat0, "Der Spieler ist in") && gchat == 1)
  3895. {
  3896. RegExMatch(aktuellerchat0, "Der Spieler ist in (.*)", cafindregexMatch)
  3897. Sendchat("/g Der gesuchte " Playername " (ID:" suchid ") ist in " . cafindregexMatch1 "")
  3898. }
  3899. return
  3900. :?:/dog::
  3901. Suspend Permit
  3902. SendInput {ESC}
  3903. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3904. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3905. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3906. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3907. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3908. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3909. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3910. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3911. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3912. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3913. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3914. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3915. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3916. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3917. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3918. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3919. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3920. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3921. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3922. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3923. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3924. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3925. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3926. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3927. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3928. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3929. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3930. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3931. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3932. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3933. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3934. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} WHO LET THE DOG OUT")
  3935. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\dog.mp3
  3936. Suspend off
  3937. return
  3938. Label21:
  3939. if(isInChat())
  3940. return
  3941. SendInput t{up}{enter}
  3942. return
  3943. Label22:
  3944. if(isInChat())
  3945. return
  3946. SendChat("/eatpizza")
  3947. return
  3948. :?:/sync::
  3949. Sendinput,{enter}
  3950. if(ReadStats_s(text))
  3951. {
  3952. KillsDM := keyForEntry(text, "Kills \(DM\)")
  3953. tode := keyForEntry(text, "Tode")
  3954. myrank := keyForEntry(text, "Rang")
  3955. myfrak := keyForEntry(text, "Team")
  3956. mydrugs := keyForEntry(text, "Drogen")
  3957. mywanteds := keyForEntry(text, "WantedLevel")
  3958. RegExMatch(KillsDM, "(.*)\((.*)\)" ,kills)
  3959. mykills := deldots(kills1)
  3960. mydeaths := deldots(tode)
  3961. mykd := mykills / mydeaths
  3962. mydkd := mydkills / myddeaths
  3963. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "")
  3964. }
  3965. return
  3966. :?:/accinf::
  3967. SendInput,{enter}
  3968. if(ReadStats_s(text))
  3969. {
  3970. level := keyForEntry(text, "Level")
  3971. payday := keyForEntry(text, "Minuten seit Payday")
  3972. bank := keyForEntry(text, "Bank")
  3973. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Level: {AA6C39}" level "{FAFAFA} | Zeit seit Payday: {AA6C39}" payday "{FAFAFA} | Bankvermögen: {AA6C39}" bank " ")
  3974. }
  3975. return
  3976. :?:/fstand::
  3977. SendInput,{enter}
  3978. if(ReadStats_s(text))
  3979. {
  3980. bank := keyForEntry(text, "Bank")
  3981. SendChat("/f Ich hab ein Bankvermögen von: " bank "")
  3982. }
  3983. return
  3984. :?:/kstand::
  3985. SendInput,{enter}
  3986. if(ReadStats_s(text))
  3987. {
  3988. bank := keyForEntry(text, "Bank")
  3989. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Ich hab ein Bankvermögen von: {AA6C39}" bank "")
  3990. }
  3991. return
  3992. :?:/gstand::
  3993. SendInput,{enter}
  3994. if(ReadStats_s(text))
  3995. {
  3996. bank := keyForEntry(text, "Bank")
  3997. SendChat("/g Ich hab ein Bankvermögen von: " bank "")
  3998. }
  3999. return
  4000. Label23:
  4001. if(isInChat())
  4002. return
  4003. mykills +=1
  4004. mydkills++
  4005. killstreak++
  4006. mykd := mykills / mydeaths
  4007. SendChat("/f " gangwarspruch " " round(mykills, 0) "")
  4008. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\gangwarkill.wav
  4009. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}| KD: {AA6C39}" round(mykd, 3))
  4010. if(killstreak == 3) {
  4011. SendChat("/f " killstreak "er Killstreak erreicht!")
  4012. } else if(killstreak == 6) {
  4013. SendChat("/f " killstreak "er Killstreak erreicht!")
  4014. } else if(killstreak == 9) {
  4015. SendChat("/f " killstreak "er Killstreak erreicht!")
  4016. } else if(killstreak == 12) {
  4017. SendChat("/f " killstreak "er Killstreak erreicht!")
  4018. }
  4019. IniWrite, %mydkills%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Kills
  4020. IniWrite, %killstreak%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Killstreak
  4021. if(checkkillspruch == 1)
  4022. {
  4023. Random, var, 1, 7
  4024. Gosub, Spruch%var%
  4025. }
  4026. Textsetstring(overlaystats, "{FFFFFF}" mykills " Kills {FFFFFF}| " mydeaths " Tode | KD: " mykd "")
  4027. return
  4028. Label24:
  4029. if(isInChat())
  4030. return
  4031. myzone := GetZoneName()
  4032. SendChat("/f BRAUCHE B A C K U P IN >" myzone ", Health: " myhealth)
  4033. Settimer, backup, 5000
  4034. return
  4035. Label25:
  4036. if(isInChat())
  4037. return
  4038. SendChat("/f ich brauche kein Backup mehr!")
  4039. Settimer, backup, off
  4040. return
  4041. Label26:
  4042. if(isInChat())
  4043. return
  4044. Sendchat("/Me pfeift sich 2 Gramm Drogen rein.")
  4045. return
  4046. Label27:
  4047. if(isInChat())
  4048. return
  4049. Random, var, 1, 7
  4050. Gosub, Spruch%var%
  4051. Return
  4052. Spruch1:
  4053. SendChat(""killspruch5 " ")
  4054. Return
  4055. Spruch2:
  4056. SendChat(""killspruch6 " ")
  4057. Return
  4058. Spruch3:
  4059. SendChat(""killspruch7 " ")
  4060. return
  4061. Spruch4:
  4062. SendChat(""killspruch " ")
  4063. return
  4064. Spruch5:
  4065. SendChat(""killspruch2 " ")
  4066. return
  4067. Spruch6:
  4068. SendChat(""killspruch3 " ")
  4069. return
  4070. Spruch7:
  4071. SendChat(""killspruch4 " ")
  4072. return
  4073. Label28:
  4074. Sendchat("/usedrugs")
  4075. return
  4076. Label29:
  4077. if(isinChat())
  4078. return
  4079. myzone := GetZoneName()
  4080. SendChat("/f I N C O M I N G Standort: " myzone)
  4081. SendChat("/f I N C O M I N G Standort: " myzone)
  4082. SendChat("/f I N C O M I N G Standort: " myzone)
  4083. return
  4084. Label30:
  4085. if(isinChat())
  4086. return
  4087. myzone := GetZoneName()
  4088. SendChat("/f Wir sind nichtmehr unterwegs! Standort: " myzone)
  4089. return
  4090. Label31:
  4091. if(isinChat())
  4092. return
  4093. SendChat("/orgmembers")
  4094. sleep , 350
  4095. orgmembers := 0
  4096. var := 1
  4097. index := 0
  4098. while ( var == 1 )
  4099. {
  4100. GetChatLine(index, text)
  4101. if ( InStr(text, "(Tel."))
  4102. {
  4103. orgmembers ++
  4104. index ++
  4105. var := 1
  4106. }
  4107. else
  4108. {
  4109. var := 0
  4110. }
  4111. }
  4112. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind {AA6C39}" orgmembers "{FFFFFF} Member der Organisation online.")
  4113. return
  4114. Label32:
  4115. if(isinChat())
  4116. return
  4117. SendChat("/members")
  4118. Sleep 800
  4119. loop{
  4120. GetChatLine(A_Index - 1, chat)
  4121. if(InStr(chat, ", Rank:") OR InStr(chat, ", Leader"))
  4122. members := A_Index
  4123. else
  4124. break
  4125. }
  4126. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind {AA6C39}" members "{FFFFFF} Members online.")
  4127. Suspend Off
  4128. return
  4129. Label33:
  4130. if(isInChat())
  4131. return
  4132. SendChat("/fill")
  4133. sleep 2500
  4134. SendChat("/get fuel")
  4135. return
  4136. Label34:
  4137. if(isInChat())
  4138. return
  4139. SendChat("/buygun deagle " deagle " ")
  4140. return
  4141. Label35:
  4142. if(isInChat())
  4143. return
  4144. Sendchat("/buygun shotgun " shotgun " ")
  4145. return
  4146. Label36:
  4147. if(isInChat())
  4148. return
  4149. Sendchat("/buygun m4 " m4 " ")
  4150. return
  4151. Label37:
  4152. if(isInChat())
  4153. return
  4154. Sendchat("/buygun mp5 " mp5 " ")
  4155. return
  4156. Label38:
  4157. if(isInChat())
  4158. return
  4159. Sendchat("/buygun rifle " rifle " ")
  4160. return
  4161. Label39:
  4162. if(isInChat())
  4163. return
  4164. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Sniper kaufen? Aber das wird teuer !! Drücke {FAFAFA}'{AA6C39}O{FAFAFA}' um zu bestätigen.")
  4165. KeyWait, o, D T5
  4166. If !Errorlevel
  4167. {
  4168. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Sniper gekauft.")
  4169. SendChat("/buygun sniper " sniper " ")
  4170. }
  4171. else
  4172. {
  4173. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Sniper nicht gekauft.")
  4174. }
  4175. Return
  4176. Labelhk1:
  4177. if(isInChat())
  4178. Return
  4179. Sendchat(befehl1)
  4180. Return
  4181. Labelhk2:
  4182. if(isInChat())
  4183. Return
  4184. Sendchat(befehl2)
  4185. Return
  4186. Labelhk3:
  4187. if(isInChat())
  4188. Return
  4189. Sendchat(befehl3)
  4190. Return
  4191. Labelhk4:
  4192. if(isInChat())
  4193. Return
  4194. Sendchat(befehl4)
  4195. Return
  4196. Labelhk5:
  4197. if(isInChat())
  4198. Return
  4199. Sendchat(befehl5)
  4200. Return
  4201. Labelhk6:
  4202. if(isInChat())
  4203. Return
  4204. Sendchat(befehl6)
  4205. Return
  4206. Labelhk7:
  4207. if(isInChat())
  4208. Return
  4209. Sendchat(befehl7)
  4210. Return
  4211. Labelhk8:
  4212. if(isInChat())
  4213. Return
  4214. Sendchat(befehl8)
  4215. Return
  4216. chatlog_zeile := -1
  4217. chatlog:
  4218. myhealth := GetPlayerHealth()
  4219. mycardl := GetVehicleHealth()
  4220. myname := getUsername()
  4221. myid := getPlayerIdByName(myname)
  4222. myping := getPlayerPingById(myid)
  4223. mycardl := getVehicleHealth()
  4224. mymoney := getPlayerMoney()
  4225. If(GetPlayerHealth() != Healthalt)
  4226. {
  4227. Schaden := Healthalt - GetPlayerHealth()
  4228. Healthalt := GetPlayerHealth()
  4229. if(Schaden < 200 AND Schaden > 2) {
  4230. AddChatMessage("{0D4D4D} 〉〉 b_B {B40431}- " Schaden "{FFFFFF} HP verloren, noch {33AA33}" GetPlayerHealth()"{FFFFFF} HP übrig.")
  4231. if(GetPlayerHealth() <= 47 AND GetPlayerHealth() > 0)
  4232. {
  4233. AddChatMessage("{0D4D4D} 〉〉 b_B {B40431}ONE HIT ONE HIT ONE HIT ONIE HIT ONE HIT")
  4234. }
  4235. }
  4236. }
  4237. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  4238. {
  4239. If (chatlog_zeile >= A_Index)
  4240. {
  4241. Continue
  4242. }
  4243. else
  4244. {
  4245. IfInString, A_LoopReadLine, Du hast wegen deines Todes
  4246. {
  4247. tod := 1
  4248. mydeaths ++
  4249. myddeaths ++
  4250. killstreak := 0
  4251. mykd := mykills / mydeaths
  4252. mydkd := mydkills / myddeaths
  4253. SoundSetWaveVolume, 50
  4254. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\baby2.wav
  4255. SoundSetWaveVolume, 100
  4256. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein killstreak wurde resetet. ")
  4257. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}, Tode: {AA6C39}" mydeaths ", {FAFAFA}KD: {AA6C39}" mykd)
  4258. mydrugs = 0
  4259. druglimit = 26
  4260. backup := 1
  4261. if(mymoney < 101)
  4262. {
  4263. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dir den nächsten Besuch im Ammunation {AA6C39}nicht {FFFFFF}leisten!")
  4264. }
  4265. if(myzone = "")
  4266. {
  4267. SendChat("/f down - im Interior ")
  4268. }
  4269. else
  4270. {
  4271. SendChat("/f down - in " myzone "")
  4272. }
  4273. }
  4274. IfInString, A_LoopReadLine, Sender:
  4275. {
  4276. if(CheckSMS == 0)
  4277. return
  4278. else
  4279. {
  4280. {
  4281. {
  4282. name := getUsername()
  4283. If !InStr(A_LoopReadLine, ", Sender: "name)
  4284. index1 := a_index
  4285. }
  4286. }
  4287. if (index2 < index1)
  4288. {
  4289. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\sms.wav
  4290. index2 := index1
  4291. }
  4292. }
  4293. }
  4294. IfInString, A_LoopReadLine, Antiflood: Achtung!
  4295. {
  4296. BlockChatInput()
  4297. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Antispammkick aktiviert.")
  4298. Sleep, 2000
  4299. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst nun wieder in den Chat schreiben!")
  4300. unBlockChatInput()
  4301. }
  4302. IfInString, A_LoopReadLine, Du hast deine Schuld gegenüber der Gesellschaft beglichen
  4303. {
  4304. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du bist Frei!!.")
  4305. myzone := GetZoneName()
  4306. SendChat("/f bin aus dem Knast! Brauche Abholung in: " myzone " ")
  4307. }
  4308. IfInString, A_LoopReadLine, Sender:
  4309. {
  4310. {
  4311. {
  4312. name := getUsername()
  4313. If !InStr(A_LoopReadLine, ", Sender: "name)
  4314. index1 := a_index
  4315. }
  4316. }
  4317. if (index2 < index1)
  4318. {
  4319. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\sms.wav
  4320. index2 := index1
  4321. }
  4322. }
  4323. IfInString, A_LoopReadLine, SERVER: Willkommen
  4324. {
  4325. if(fradar == 0)
  4326. return
  4327. {
  4328. SendChat("/fradar")
  4329. }
  4330. }
  4331. IfInString, A_LoopReadLine, bietet dir eine Heilung
  4332. {
  4333. if(healaccept == 0)
  4334. return
  4335. {
  4336. SendChat("/accept heal")
  4337. SendChat("Danke brother from another mother ")
  4338. }
  4339. }
  4340. IfInString, A_LoopReadLine, bietet dir die Betankung deines Autos mit
  4341. {
  4342. if(mechaaccept == 0)
  4343. return
  4344. {
  4345. SendChat("/accept refill")
  4346. SendChat("Danke brother from another mother ")
  4347. }
  4348. }
  4349. IfInString, A_LoopReadLine,bietet dir eine Reparatur deines Wagens für
  4350. {
  4351. if(mechaaccept == 0)
  4352. return
  4353. {
  4354. SendChat("/accept repair")
  4355. }
  4356. }
  4357. IfInString, A_LoopReadLine, bietet dir einen Hotdog für
  4358. {
  4359. if(hotdogaccept == 0)
  4360. return
  4361. {
  4362. SendChat("/accept hotdog")
  4363. SendChat("Danke brother from another mother ")
  4364. }
  4365. }
  4366. IfInString, A_LoopReadLine, Aktuelles Wantedlevel
  4367. IfInString, A_LoopReadLine, sagt:
  4368. {
  4369. Continue
  4370. }
  4371. else
  4372. {
  4373. {
  4374. RegExMatch(A_LoopReadLine, "A).*Aktuelles Wantedlevel: (.*)",wanted)
  4375. mywanteds := wanted1
  4376. }
  4377. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Neues Wantedlevel erkannt.")
  4378. }
  4379. IfInString, A_LoopReadLine, gelöscht. Grund:
  4380. IfInString, A_LoopReadLine, sagt:
  4381. {
  4382. Continue
  4383. }
  4384. else
  4385. {
  4386. IfInString, A_LoopReadLine, hat dein Beschusswanted gelöscht.
  4387. {
  4388. mywanteds := mywanteds - 2
  4389. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dir wurde dein Beschusswanted gelöscht! {FAFAFA}Wantedlevel: {AA6C39}" mywanteds)
  4390. }
  4391. else
  4392. {
  4393. RegExMatch(A_LoopReadLine, "hat dir (.*) (.*) gelöscht.",clear)
  4394. sleep 250
  4395. mywanteds := mywanteds - clear1
  4396. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dir wurden {AA6C39}" clear1 " " clear2 "{FFFFFF} gelöscht! Wantedlevel: {AA6C39}" mywanteds)
  4397. }
  4398. }
  4399. IfInString, A_LoopReadLine, hat sich in deine Polizeiakte gehackt
  4400. {
  4401. {
  4402. RegExMatch(A_LoopReadLine, "hat sich in deine Polizeiakte gehackt und (.*) (.*)",hack)
  4403. mywanteds := mywanteds - hack1
  4404. }
  4405. }
  4406. IfInString, A_LoopReadLine, Du hast folgendes Verbrechen begangen:
  4407. IfInString, A_LoopReadLine, sagt:
  4408. {
  4409. Continue
  4410. }
  4411. else
  4412. {
  4413. RegExMatch(A_LoopReadLine, "Du hast folgendes Verbrechen begangen: \[(.*)\], Zeuge: (.*)",grund)
  4414. wgrund := grund1
  4415. wzeuge := grund2
  4416. IniWrite, %wgrund%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedGrund
  4417. IniWrite, %wzeuge%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedZeuge
  4418. }
  4419. IfInString, A_LoopReadLine, Sekunden eingesperrt
  4420. {
  4421. IfInString, A_LoopReadLine, Sekunden eingesperrt und verlierst wegen Flucht und Kill durch einen
  4422. {
  4423. RegExMatch(A_LoopReadLine, "Du wurdest für (.*) Sekunden",knastinfo)
  4424. minutenknastzeit := knastinfo2 / 60
  4425. StringSplit, minutenknastzeit2, minutenknastzeit, `.,
  4426. SendChat("/f Sitze für " minutenknastzeit2 " Minuten im " lastcity " PD")
  4427. mywanteds = 0
  4428. }
  4429. else
  4430. {
  4431. RegExMatch(A_LoopReadLine, "Du wurdest von (.*) für (.*) Sekunden eingesperrt." ,knastinfo)
  4432. minutenknastzeit := knastinfo2 / 60
  4433. StringSplit, minutenknastzeit2, minutenknastzeit, `.,
  4434. SendChat("/f Ich wurde von " knastinfo1 " für " minutenknastzeit21 " Minuten eingesperrt!")
  4435. mywanteds = 0
  4436. }
  4437. }
  4438. IfInString, A_LoopReadLine, Du hast 2 Gramm Drogen genommen
  4439. {
  4440. Settimer, usedrugs, 20000
  4441. mydrugs--
  4442. mydrugs--
  4443. druglimit--
  4444. druglimit--
  4445. IniWrite, %druglimit%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Drogen, Drogenlimit
  4446. }
  4447. IfInString, A_LoopReadLine, Weil du gestorben bist, hast du die Drogen, die du dabei hattest, verloren.
  4448. {
  4449. mydrugs = 0
  4450. }
  4451. IfInString, A_LoopReadLine, Du musstest in die Entzugsklinik.
  4452. {
  4453. druglimit = 26
  4454. IniWrite, %druglimit%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Drogen, Drogenlimit
  4455. }
  4456. IfInString, A_LoopReadLine, hat dir deine Drogen abgenommen.
  4457. {
  4458. mydrugs = 0
  4459. }
  4460. IfInString, A_LoopReadLine, Drogen aus der SafeBox genommen!
  4461. {
  4462. RegExMatch(A_LoopReadLine, "\* (.*) Drogen ",drogen)
  4463. sleep 250
  4464. mydrugs := mydrugs + drogen1
  4465. }
  4466. IfInString, A_LoopReadLine, Drogen in der SafeBox hinterlegt!
  4467. {
  4468. RegExMatch(A_LoopReadLine, "\* (.*) Drogen",drogen)
  4469. sleep 250
  4470. mydrugs := mydrugs - drogen1
  4471. }
  4472. IfInString, A_LoopReadLine, in den Kofferraum gelegt.
  4473. {
  4474. RegExMatch(A_LoopReadLine, "\* (.*)g Drogen",drogen)
  4475. sleep 250
  4476. mydrugs := mydrugs - drogen1
  4477. }
  4478. IfInString, A_LoopReadLine, Drogen aus dem Kofferraum genommen.
  4479. {
  4480. RegExMatch(A_LoopReadLine, "\* (.*)g Drogen",drogen)
  4481. sleep 250
  4482. mydrugs := mydrugs + drogen1
  4483. }
  4484. IfInString, A_LoopReadLine, Gramm abgekauft, die Summe von
  4485. {
  4486. RegExMatch(A_LoopReadLine, "hat dir (.*) Gramm abgekauft, die Summe" ,selldrugs)
  4487. mydrugs := mydrugs - selldrugs1
  4488. }
  4489. IfInString, A_LoopReadLine, Du warst in der Entzugsklinik
  4490. {
  4491. druglimit = 26
  4492. IniWrite, %druglimit%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Einstellungen, Drogenlimit
  4493. }
  4494. chatlog_zeile := A_Index
  4495. }
  4496. }
  4497. If(mydrugs < 0)
  4498. {
  4499. mydrugs = 0
  4500. }
  4501. If(!getplayerinteriorid() != "0")
  4502. {
  4503. lastcity := GetCityName()
  4504. }
  4505. if(mywanteds == 0)
  4506. {
  4507. wgrund = -
  4508. wzeuge = -
  4509. IniWrite, %wgrund%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedGrund
  4510. IniWrite, %wzeuge%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Wanteds, WantedZeuge
  4511. }
  4512. If(sync == 0)
  4513. {
  4514. sleep 1500
  4515. if(ReadStats_s(text))
  4516. {
  4517. KillsDM := keyForEntry(text, "Kills \(DM\)")
  4518. tode := keyForEntry(text, "Tode")
  4519. myrank := keyForEntry(text, "Rang")
  4520. myfrak := keyForEntry(text, "Team")
  4521. mydrugs := keyForEntry(text, "Drogen g (")
  4522. mywanteds := keyForEntry(text, "WantedLevel")
  4523. level := keyForEntry(text, "Level")
  4524. payday := keyForEntry(text, "Minuten seit Payday")
  4525. bank := keyForEntry(text, "Bank")
  4526. RegExMatch(KillsDM, "(.*)\((.*)\)" ,kills)
  4527. mykills := deldots(kills1)
  4528. mydeaths := deldots(tode)
  4529. IniWrite, %mykills%, %A_MyDocuments%\Keybinder von Pascal\kills.ini, Kills, Anzahl
  4530. mykd := mykills / mydeaths
  4531. mydkd := mydkills / myddeaths
  4532. }
  4533. SoundBeep, 450, 500
  4534. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Du benutzt den Keybinder von billy, Viel Spaß")
  4535. Textsetstring(overlaystats, "" mykills " Kills | " mydeaths " Tode ")
  4536. sync := 1
  4537. }
  4538. Loop, read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  4539. {
  4540. If (gametext >= A_Index)
  4541. {
  4542. Continue
  4543. }
  4544. else
  4545. {
  4546. IfInString,A_LoopReadLine, ~g~gangwarkill
  4547. {
  4548. mykills +=1
  4549. mydkills++
  4550. killstreak++
  4551. mykd := mykills / mydeaths
  4552. SendChat("/f " gangwarspruch " " round(mykills, 0) "")
  4553. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}| KD: {AA6C39}" round(mykd, 3))
  4554. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\gangwarkill.wav
  4555. if(killstreak == 3) {
  4556. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4557. } else if(killstreak == 6) {
  4558. SendChat("/F hab nen " killstreak "er Killstreak erreicht mois =D")
  4559. } else if(killstreak == 9) {
  4560. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4561. } else if(killstreak == 12) {
  4562. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4563. }
  4564. mykd := mykills / mydeaths
  4565. mydkd := mydkills / myddeaths
  4566. IniWrite, %mydkills%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Kills
  4567. IniWrite, %killstreak%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Killstreak
  4568. if(checkkillspruch == 1)
  4569. {
  4570. Random, var, 1, 7
  4571. Gosub, Spruch%var%
  4572. }
  4573. FileAppend, ###### ,%A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  4574. Textsetstring(overlaystats, "{FFFFFF}" mykills " Kills {FFFFFF}| " mydeaths " Tode |")
  4575. }
  4576. }
  4577. IfInstring, A_Loopreadline, ~g~aus der Klinik entlassen
  4578. {
  4579. tod := 0
  4580. }
  4581. IfInString,A_LoopReadLine, ~r~gangwarkill
  4582. {
  4583. if(tod == 1) {
  4584. tod := 0
  4585. } else {
  4586. mydeaths ++
  4587. myddeaths ++
  4588. killstreak := 0
  4589. mykd := mykills / mydeaths
  4590. mydkd := mydkills / myddeaths
  4591. SoundSetWaveVolume, 50
  4592. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\baby2.wav
  4593. SoundSetWaveVolume, 100
  4594. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein killstreak wurde resetet. ")
  4595. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}, Tode: {AA6C39}" mydeaths ", {FAFAFA}KD: {AA6C39}" mykd)
  4596. druglimit = 26
  4597. backup := 1
  4598. GuiControl, , guiinfos, Name: %myname%`nRank: %myrank%`nKills: %mykills%`n(Heutige Kills: %mydkills%)`nTode: %mydeaths%`n(Heutige Tode: %myddeaths%)`nKD: %mykd%`n(DKD: %mydkd%)
  4599. IniWrite, %myddeaths%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Tode
  4600. FileAppend, ###### ,%A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  4601. if(mymoney < 101)
  4602. {
  4603. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dir den nächsten Besuch im Ammunation {AA6C39}nicht {FFFFFF}leisten!")
  4604. }
  4605. if(myzone = "")
  4606. {
  4607. SendChat("/f down - im Interior ")
  4608. }
  4609. else
  4610. {
  4611. SendChat("/f down - in " myzone "")
  4612. }
  4613. }
  4614. }
  4615. IfInString,A_LoopReadLine, ~g~gangzonekill
  4616. {
  4617. mykills +=1
  4618. mydkills++
  4619. killstreak++
  4620. mykd := mykills / mydeaths
  4621. SendChat("/f " gangzonespruch " " round(mykills, 0) "")
  4622. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}| KD: {AA6C39}" round(mykd, 3))
  4623. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\gangwarkill.wav
  4624. if(killstreak == 3) {
  4625. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4626. } else if(killstreak == 6) {
  4627. SendChat("/F hab nen " killstreak "er Killstreak erreicht mois =D")
  4628. } else if(killstreak == 9) {
  4629. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4630. } else if(killstreak == 12) {
  4631. SendChat("/f hab nen " killstreak "er Killstreak erreicht mois =D")
  4632. }
  4633. mykd := mykills / mydeaths
  4634. mydkd := mydkills / myddeaths
  4635. IniWrite, %mydkills%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Kills
  4636. IniWrite, %killstreak%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Killstreak
  4637. FileAppend, ###### ,%A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  4638. Textsetstring(overlaystats, "{FFFFFF}" mykills " Kills {FFFFFF}| " mydeaths " Tode |")
  4639. }
  4640. IfInString,A_LoopReadLine, ~r~gangzonekill
  4641. {
  4642. mydeaths ++
  4643. myddeaths ++
  4644. killstreak := 0
  4645. mykd := mykills / mydeaths
  4646. mydkd := mydkills / myddeaths
  4647. SoundSetWaveVolume, 50
  4648. SoundPlay, %A_MyDocuments%\Keybinder von Pascal\Musik\baby2.wav
  4649. SoundSetWaveVolume, 100
  4650. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein killstreak wurde resetet. ")
  4651. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills "{FAFAFA}, Tode: {AA6C39}" mydeaths ", {FAFAFA}KD: {AA6C39}" mykd)
  4652. druglimit = 26
  4653. backup := 1
  4654. GuiControl, , guiinfos, Name: %myname%`nRank: %myrank%`nKills: %mykills%`n(Heutige Kills: %mydkills%)`nTode: %mydeaths%`n(Heutige Tode: %myddeaths%)`nKD: %mykd%`n(DKD: %mydkd%)
  4655. IniWrite, %myddeaths%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, DM-Infos, Tägliche Tode
  4656. FileAppend, ###### ,%A_MyDocuments%\GTA San Andreas User Files\SAMP\gametexts.txt
  4657. if(mymoney < 101)
  4658. {
  4659. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dir den nächsten Besuch im Ammunation {AA6C39}nicht {FFFFFF}leisten!")
  4660. }
  4661. if(myzone = "")
  4662. {
  4663. SendChat("/f Ich bin GANGZONE down")
  4664. }
  4665. else
  4666. {
  4667. SendChat("/f Ich bin GANGZONE in " myzone " down")
  4668. }
  4669. }
  4670. gametext := A_Index
  4671. }
  4672. return
  4673. overlay:
  4674. myhealth := GetPlayerHealth()
  4675. mycardl := GetVehicleHealth()
  4676. myname := getUsername()
  4677. myid := getPlayerIdByName(myname)
  4678. myping := getPlayerPingById(myid)
  4679. mycardl := getVehicleHealth()
  4680. mymoney := getPlayerMoney()
  4681. myzone := myzone := GetZoneName()
  4682. if(overlayactive == 1)
  4683. {
  4684. if(hpactive == 1)
  4685. Textsetstring(healthoverlay, "" myhealth)
  4686. if(ortactive == 1)
  4687. Textsetstring(ortoverlay, "" myzone)
  4688. if(infoactive == 1)
  4689. Textsetstring(infooverlay, "Drogen: " mydrugs "")
  4690. if(wantedactive == 1)
  4691. Textsetstring(wantedoverlay, "Wanteds: " mywanteds "`nGrund: " wgrund "`nZeuge: "wzeuge)
  4692. if(ernteactive == 1)
  4693. Textsetstring(ernteoverlay, "Erntezeit:" Plantstimer " ")
  4694. if(carstatusactive == 1)
  4695. {
  4696. if(isPlayerInAnyVehicle() == 1)
  4697. {
  4698. if(getVehicleEngineState() == 1 && getVehicleLockState() == 1)
  4699. {
  4700. Textsetstring(carstatusoverlay, "Fahrzeug an und abgeschlossen! (" mycardl "DL)")
  4701. }
  4702. if(getVehicleEngineState() == 0 && getVehicleLockState() == 1)
  4703. {
  4704. Textsetstring(carstatusoverlay, "Fahrzeug aus und abgeschlossen! (" mycardl "DL)")
  4705. }
  4706. if(getVehicleEngineState() == 1 && getVehicleLockState() == 0)
  4707. {
  4708. Textsetstring(carstatusoverlay, "{FF0000}Fahrzeug an und aufgeschlossen! {FFFFFF}(" mycardl "DL)")
  4709. }
  4710. if(getVehicleEngineState() == 0 && getVehicleLockState() == 0)
  4711. {
  4712. Textsetstring(carstatusoverlay, "Fahrzeug aus und aufgeschlossen! (" mycardl "DL)")
  4713. }
  4714. }
  4715. else
  4716. {
  4717. Textsetstring(carstatusoverlay, "")
  4718. }
  4719. }
  4720. }
  4721. return
  4722. warten1:
  4723. if(IsPlayerInAnyVehicle() = 1)
  4724. {
  4725. settimer, warten1, off
  4726. sleep 25
  4727. SendChat("/engine")
  4728. }
  4729. return
  4730. warten2:
  4731. if(IsPlayerInAnyVehicle() = 1)
  4732. {
  4733. settimer, warten2, off
  4734. sleep 25
  4735. SendChat("/engine")
  4736. SendChat("/lock")
  4737. }
  4738. return
  4739. backup:
  4740. myzone := GetZoneName()
  4741. SendChat("/f BRAUCHE B A C K U P IN >" myzone ", Health: " myhealth)
  4742. If(backup == 1)
  4743. {
  4744. SendChat("/f Ich bin down man, brauche jetzt keine hilfe mehr!.")
  4745. backup := 0
  4746. settimer, backup, off
  4747. }
  4748. return
  4749. usedrugs:
  4750. if(druglimit < 2)
  4751. {
  4752. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Beim nächsten Drogenkonsum wirst du {AA6C39}stoned!")
  4753. settimer, usedrugs, off
  4754. }
  4755. if(druglimit < 4)
  4756. {
  4757. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst wieder Drogen nehmen! HP: {AA6C39}" myhealth)
  4758. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du hast noch {AA6C39}" mydrugs "{FFFFFF}g Drogen dabei und kannst nurnoch {AA6C39}" druglimit "{FFFFFF}g Drogen einnehmen.")
  4759. settimer, usedrugs, off
  4760. }
  4761. else
  4762. {
  4763. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst wieder Drogen nehmen! HP: {AA6C39}" myhealth)
  4764. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du hast noch {AA6C39}" mydrugs "{FFFFFF}g Drogen dabei und kannst noch {AA6C39}" druglimit "{FFFFFF}g Drogen einnehmen.")
  4765. settimer, usedrugs, off
  4766. }
  4767. return
  4768. :?:/ovsave::
  4769. Suspend Permit
  4770. SendInput, {ESC}
  4771. allgmove := 0
  4772. if(hpmove == 1)
  4773. {
  4774. hpmove := 0
  4775. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4776. }
  4777. if(ortmove == 1)
  4778. {
  4779. ortmove := 0
  4780. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4781. }
  4782. if(infomove == 1)
  4783. {
  4784. infomove := 0
  4785. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4786. }
  4787. if(wantedmove == 1)
  4788. {
  4789. wantedmove := 0
  4790. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4791. }
  4792. if(partnermove == 1)
  4793. {
  4794. partnermove := 0
  4795. Textsetstring(partneroverlay, "")
  4796. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4797. }
  4798. if(opfermove == 1)
  4799. {
  4800. opfermove := 0
  4801. Textsetstring(opferoverlay, "")
  4802. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4803. }
  4804. if(carstatusmove == 1)
  4805. {
  4806. carstatusmove := 0
  4807. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4808. }
  4809. if(erntemove == 1)
  4810. {
  4811. erntemove := 0
  4812. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4813. }
  4814. if(statsmove == 1)
  4815. {
  4816. statsmove := 0
  4817. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dein Overlay wurde gespeichert!")
  4818. }
  4819. return
  4820. :?:/ovmove::
  4821. Suspend Permit
  4822. if(allgmove == 1)
  4823. {
  4824. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du verschiebst bereits ein Overlay!")
  4825. return
  4826. }
  4827. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}________________________________________________________")
  4828. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}HP Overlay verschieben -> hp")
  4829. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Ort Overlay verschieben -> ort")
  4830. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Info Overlay verschieben -> info")
  4831. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Wanted Overlay verschieben -> wanted")
  4832. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Partner Overlay verschieben -> partner")
  4833. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Opfer Overlay verschieben -> opfer")
  4834. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Carstatus Overlay verschieben -> carstatus")
  4835. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Ernte Overlay verschieben -> ernteoverlay")
  4836. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Stats Overlay verschieben -> statsoverlay")
  4837. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}________________________________________________________")
  4838. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Gebe ein, welches Overlay du verschieben willst.")
  4839. SendInput, Overlay:{space}
  4840. Input, ovmove, V I M,{enter}
  4841. SendInput {end}+{home}{Del}{Esc}
  4842. IfInString, ovmove, hp
  4843. {
  4844. allgmove := 1
  4845. hpmove := 1
  4846. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein HP-Overlay mit den Pfeiltasten verschieben!")
  4847. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4848. }
  4849. IfInString, ovmove, ort
  4850. {
  4851. allgmove := 1
  4852. ortmove := 1
  4853. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Orts-Overlay mit den Pfeiltasten verschieben!")
  4854. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4855. }
  4856. IfInString, ovmove, info
  4857. {
  4858. allgmove := 1
  4859. infomove := 1
  4860. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Info-Overlay mit den Pfeiltasten verschieben!")
  4861. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4862. }
  4863. IfInString, ovmove, wanted
  4864. {
  4865. allgmove := 1
  4866. wantedmove := 1
  4867. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Wanted-Overlay mit den Pfeiltasten verschieben!")
  4868. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4869. }
  4870. IfInString, ovmove, partner
  4871. {
  4872. allgmove := 1
  4873. partnermove := 1
  4874. Textsetstring(partneroverlay, "Partner: SERGEN (ID: 88)")
  4875. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Partner-Overlay mit den Pfeiltasten verschieben!")
  4876. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4877. }
  4878. IfInString, ovmove, opfer
  4879. {
  4880. allgmove := 1
  4881. opfermove := 1
  4882. Textsetstring(opferoverlay, "Opfer: SERGEN (ID: 88)")
  4883. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Opfer-Overlay mit den Pfeiltasten verschieben!")
  4884. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4885. }
  4886. IfInString, ovmove, carstatus
  4887. {
  4888. allgmove := 1
  4889. carstatusmove := 1
  4890. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Carstatus-Overlay mit den Pfeiltasten verschieben!")
  4891. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4892. }
  4893. IfInString, ovmove, ernteoverlay
  4894. {
  4895. allgmove := 1
  4896. erntemove := 1
  4897. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein Ernteoverlay-Overlay mit den Pfeiltasten verschieben!")
  4898. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4899. }
  4900. IfInString, ovmove, statsoverlay
  4901. {
  4902. allgmove := 1
  4903. statsmove := 1
  4904. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dein KD-Overlay mit den Pfeiltasten verschieben!")
  4905. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Speichern mit /ovsave.")
  4906. }
  4907. IfNotInString, ovmove, hp
  4908. IfNotInString, ovmove, ort
  4909. IfNotInString, ovmove, info
  4910. IfNotInString, ovmove, wanted
  4911. IfNotInString, ovmove, partner
  4912. IfNotInString, ovmove, opfer
  4913. IfNotInString, ovmove, carstatus
  4914. IfNotInString, ovmove, ernteoverlay
  4915. IfNotInString, ovmove, statsoverlay
  4916. {
  4917. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Falsche Eingabe.")
  4918. }
  4919. return
  4920. ~Up::
  4921. if(hpmove == 1)
  4922. {
  4923. HP2--
  4924. IniWrite, %HP2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP2
  4925. TextSetPos(healthoverlay, HP1, HP2)
  4926. }
  4927. if(erntemove == 1)
  4928. {
  4929. ERNTE2--
  4930. IniWrite, %ERNTE2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte2
  4931. TextSetPos(ernteoverlay, ernte1, ernte2)
  4932. }
  4933. if(statsmove == 1)
  4934. {
  4935. stats2--
  4936. IniWrite, %stats2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats2
  4937. TextSetPos(overlaystats, stats1, stats2)
  4938. }
  4939. if(ortmove == 1)
  4940. {
  4941. Ort2--
  4942. IniWrite,%Ort2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort2
  4943. TextSetPos(ortoverlay, Ort1, Ort2)
  4944. }
  4945. if(infomove == 1)
  4946. {
  4947. Info2--
  4948. IniWrite,%Info2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info2
  4949. TextSetPos(infooverlay, info1, info2)
  4950. }
  4951. if(wantedmove == 1)
  4952. {
  4953. wanted2--
  4954. IniWrite, %wanted2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted2
  4955. TextSetPos(wantedoverlay, wanted1, wanted2)
  4956. }
  4957. if(partnermove == 1)
  4958. {
  4959. partner2--
  4960. IniWrite, %partner2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner2
  4961. TextSetPos(partneroverlay, partner1, partner2)
  4962. }
  4963. if(opfermove == 1)
  4964. {
  4965. opfer2--
  4966. IniWrite, %opfer2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer2
  4967. TextSetPos(opferoverlay, opfer1, opfer2)
  4968. }
  4969. if(carstatusmove == 1)
  4970. {
  4971. carstatus2--
  4972. IniWrite, %carstatus2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Carstatus2
  4973. TextSetPos(carstatusoverlay, carstatus1, carstatus2)
  4974. }
  4975. return
  4976. ~Down::
  4977. if(hpmove == 1)
  4978. {
  4979. HP2++
  4980. IniWrite,%HP2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP2
  4981. TextSetPos(healthoverlay, HP1, HP2)
  4982. }
  4983. if(erntemove == 1)
  4984. {
  4985. ERNTE2++
  4986. IniWrite, %ERNTE2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte2
  4987. TextSetPos(ernteoverlay, ernte1, ernte2)
  4988. }
  4989. if(statsmove == 1)
  4990. {
  4991. stats2++
  4992. IniWrite, %stats2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats2
  4993. TextSetPos(overlaystats, stats1, stats2)
  4994. }
  4995. if(ortmove == 1)
  4996. {
  4997. Ort2++
  4998. IniWrite, %Ort2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort2
  4999. TextSetPos(ortoverlay, Ort1, Ort2)
  5000. }
  5001. if(infomove == 1)
  5002. {
  5003. info2++
  5004. IniWrite, %info2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info2
  5005. TextSetPos(infooverlay, info1, info2)
  5006. }
  5007. if(wantedmove == 1)
  5008. {
  5009. wanted2++
  5010. IniWrite, %wanted2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted2
  5011. TextSetPos(wantedoverlay, wanted1, wanted2)
  5012. }
  5013. if(partnermove == 1)
  5014. {
  5015. partner2++
  5016. IniWrite, %partner2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner2
  5017. TextSetPos(partneroverlay, partner1, partner2)
  5018. }
  5019. if(opfermove == 1)
  5020. {
  5021. opfer2++
  5022. IniWrite, %opfer2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer2
  5023. TextSetPos(opferoverlay, opfer1, opfer2)
  5024. }
  5025. if(carstatusmove == 1)
  5026. {
  5027. carstatus2++
  5028. IniWrite, %carstatus2%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, carstatus2
  5029. TextSetPos(carstatusoverlay, carstatus1, carstatus2)
  5030. }
  5031. return
  5032. ~Left::
  5033. if(hpmove == 1)
  5034. {
  5035. HP1--
  5036. IniWrite, %HP1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP1
  5037. TextSetPos(healthoverlay, HP1, HP2)
  5038. }
  5039. if(erntemove == 1)
  5040. {
  5041. ERNTE1--
  5042. IniWrite, %ERNTE1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte1
  5043. TextSetPos(ernteoverlay, ernte1, ernte2)
  5044. }
  5045. if(statsmove == 1)
  5046. {
  5047. stats1--
  5048. IniWrite, %stats1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats1
  5049. TextSetPos(overlaystats, stats1, stats2)
  5050. }
  5051. if(ortmove == 1)
  5052. {
  5053. Ort1--
  5054. IniWrite, %Ort1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort1
  5055. TextSetPos(ortoverlay, Ort1, Ort2)
  5056. }
  5057. if(infomove == 1)
  5058. {
  5059. info1--
  5060. IniWrite, %info1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info1
  5061. TextSetPos(infooverlay, info1, info2)
  5062. }
  5063. if(wantedmove == 1)
  5064. {
  5065. wanted1--
  5066. IniWrite, %wanted1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted1
  5067. TextSetPos(wantedoverlay, wanted1, wanted2)
  5068. }
  5069. if(partnermove == 1)
  5070. {
  5071. partner1--
  5072. IniWrite, %partner1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner1
  5073. TextSetPos(partneroverlay, partner1, partner2)
  5074. }
  5075. if(opfermove == 1)
  5076. {
  5077. opfer1--
  5078. IniWrite, %opfer1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer1
  5079. TextSetPos(opferoverlay, opfer1, opfer2)
  5080. }
  5081. if(carstatusmove == 1)
  5082. {
  5083. carstatus1--
  5084. IniWrite, %carstatus1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Carstatus1
  5085. TextSetPos(carstatusoverlay, carstatus1, carstatus2)
  5086. }
  5087. return
  5088. ~Right::
  5089. if(hpmove == 1)
  5090. {
  5091. HP1++
  5092. IniWrite,%HP1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, HP1
  5093. TextSetPos(healthoverlay, HP1, HP2)
  5094. }
  5095. if(erntemove == 1)
  5096. {
  5097. ERNTE1++
  5098. IniWrite, %ERNTE1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ernte1
  5099. TextSetPos(ernteoverlay, ernte1, ernte2)
  5100. }
  5101. if(statsmove == 1)
  5102. {
  5103. stats1++
  5104. IniWrite, %stats1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, stats1
  5105. TextSetPos(overlaystats, stats1, stats2)
  5106. }
  5107. if(ortmove == 1)
  5108. {
  5109. Ort1++
  5110. IniWrite, %Ort1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Ort1
  5111. TextSetPos(ortoverlay, Ort1, Ort2)
  5112. }
  5113. if(infomove == 1)
  5114. {
  5115. info1++
  5116. IniWrite, %info1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Info1
  5117. TextSetPos(infooverlay, info1, info2)
  5118. }
  5119. if(wantedmove == 1)
  5120. {
  5121. wanted1++
  5122. IniWrite, %wanted1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Wanted1
  5123. TextSetPos(wantedoverlay, wanted1, wanted2)
  5124. }
  5125. if(partnermove == 1)
  5126. {
  5127. partner1++
  5128. IniWrite, %partner1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Partner1
  5129. TextSetPos(partneroverlay, partner1, partner2)
  5130. }
  5131. if(opfermove == 1)
  5132. {
  5133. opfer1++
  5134. IniWrite, %opfer1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Opfer1
  5135. TextSetPos(opferoverlay, opfer1, opfer2)
  5136. }
  5137. if(carstatusmove == 1)
  5138. {
  5139. carstatus1++
  5140. IniWrite, %carstatus1%, %A_MyDocuments%\Keybinder von Pascal\settings.ini, Overlay, Carstatus1
  5141. TextSetPos(carstatusoverlay, carstatus1, carstatus2)
  5142. }
  5143. return
  5144. :?:/lbs::
  5145. Suspend, Permit
  5146. sendinput, Fischgewicht(LBS):{space}
  5147. Input LBS,V I M, {enter}{rShift}
  5148. SendInput t{end}+{home}{esc}
  5149. Sendinput t{del}{enter}
  5150. If LBS is not Number
  5151. {
  5152. IniRead, LBS, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, LBS
  5153. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Ungültige Eingabe! Bitte eine Zahl Eingeben! Neuer Standart: {AA6C39}" LBS "{FAFAFA} LBS")
  5154. return
  5155. }
  5156. Iniwrite, %LBS%, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, LBS
  5157. SendInput t{end}+{home}{esc}
  5158. Sendinput t{del}{enter}
  5159. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Neues Fischgewicht: {AA6C39}" . LBS . " {FAFAFA}LBS")
  5160. iniwrite, %LBS%, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, LBS
  5161. Suspend, Off
  5162. return
  5163. Label40:
  5164. if(isInChat())
  5165. return
  5166. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst noch " druglimit " g Drogen nehmen.")
  5167. SendChat("/me kann noch " druglimit " g Drogen nehmen.")
  5168. return
  5169. Label41:
  5170. if(isInChat())
  5171. return
  5172. fishes = 0
  5173. if(fishing = 0)
  5174. {
  5175. SendChat("/me fängt an zu angeln.")
  5176. sleep 50
  5177. fishing = 1
  5178. settimer, fischen, 120000
  5179. goto fischen
  5180. }
  5181. else if(fishing = 1)
  5182. {
  5183. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du bist schon am Fischen!" "")
  5184. return
  5185. }
  5186. Suspend off
  5187. return
  5188. fischen:
  5189. IfWinNotExist, GTA:SA:MP
  5190. return
  5191. iniread, LBS, %A_MyDocuments%\Keybinder von Pascal\Keybinder.ini, Fischen, LBS
  5192. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Fischschleife wurde gestartet!" "")
  5193. sleep 750
  5194. loop,
  5195. {
  5196. IfWinNotActive, GTA:SA:MP
  5197. {
  5198. setTimer, Fischen, Off
  5199. fishing = 0
  5200. return
  5201. }
  5202. SendChat("/fish")
  5203. sleep 125
  5204. GetChatLine(0,fished)
  5205. sleep 125
  5206. If InStr(fished, "Du hast einen")
  5207. {
  5208. RegExMatch(fished, "\* Du hast einen (.*) gefangen, Gewicht (.*) Lbs." ,fishinfo)
  5209. if(fishinfo2 >= LBS && fishes != 5)
  5210. {
  5211. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} " fishinfo1 " mit " fishinfo2 " LBS in die Kühlbox gepackt.")
  5212. fishes ++
  5213. }
  5214. else
  5215. {
  5216. SendChat("/throwback")
  5217. }
  5218. }
  5219. else if(instr(getcash,"Du hast eine Geldbörse mit"))
  5220. {
  5221. sleep 125
  5222. regexmatch(getcash,"\* Du hast eine Geldbörse mit \$(.*) an Land gezogen.",fishing)
  5223. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Finanzstatus aktualisiert!" "")
  5224. get_fish += %fishing1%
  5225. get_geldbeutel += 1
  5226. sleep 50
  5227. IniWrite, %get_fish%, %FinanzPfad%, Einnahmen, Angeln
  5228. }
  5229. else if instr(fished, "Du hast bereits 5 Fische")
  5230. {
  5231. if(fishes = 5)
  5232. {
  5233. fishing = 0
  5234. Sendchat("/me hat 5 Fische gefangen!")
  5235. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5236. settimer, fischen, off
  5237. ShowGameText("~w~5 Fische gefangen!", 2000, 3)
  5238. sleep 500
  5239. return
  5240. }
  5241. else if(fishes != 5)
  5242. {
  5243. fishing = 0
  5244. Sendchat("/me hat 5 Fische gefangen!")
  5245. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5246. settimer, fischen, off
  5247. sleep 500
  5248. return
  5249. }
  5250. }
  5251. else if instr(fished, "Zu viele Fische gefangen, warte eine Weile")
  5252. {
  5253. if(fishes != 5)
  5254. {
  5255. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife für 1 Minute pausiert!" "")
  5256. Sleep 60000
  5257. }
  5258. else if(fishes = 5)
  5259. {
  5260. fishing = 0
  5261. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5262. settimer, fischen, off
  5263. ShowGameText("~w~5 Fische gefangen!", 2000, 3)
  5264. sleep 500
  5265. return
  5266. }
  5267. }
  5268. else if instr(fished, "Du bist nicht am richtigen Ort")
  5269. {
  5270. fishing = 0
  5271. settimer, fischen, off
  5272. ShowGameText("~w~Falscher Ort!", 2000, 3)
  5273. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5274. sleep 500
  5275. settimer, fischen, off
  5276. return
  5277. }
  5278. else if instr(fished, "Du bist in keinem der Fischgebiete")
  5279. {
  5280. fishing = 0
  5281. settimer, fischen, off
  5282. ShowGameText("~w~Falscher Ort!", 2000, 3)
  5283. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5284. settimer, fischen, off
  5285. sleep 500
  5286. return
  5287. }
  5288. else if instr(fished, "Tipp: du musst auf dem Boot stehen und darfst es nicht fahren")
  5289. {
  5290. fishing = 0
  5291. settimer, fischen, off
  5292. ShowGameText("~w~Falscher Ort!", 2000, 3)
  5293. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Fischschleife beendet!" "")
  5294. settimer, fischen, off
  5295. sleep 500
  5296. return
  5297. }
  5298. sleep 1200
  5299. }
  5300. Suspend off
  5301. return
  5302. :?:/triadenadd::
  5303. suspend permit
  5304. SendInput /add{Space}
  5305. Input, name, V I M, {enter}
  5306. SendInput {end}+{home}{Del}{Esc}
  5307. if name is not number
  5308. {
  5309. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5310. return
  5311. }
  5312. text := getplayernamebyid(name)
  5313. myname := getusername()
  5314. if (text=myname)
  5315. {
  5316. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Gegnerliste hinzufügen!")
  5317. return
  5318. }
  5319. if (text == -1)
  5320. {
  5321. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5322. return
  5323. }
  5324. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5325. If InStr(Liste, text)
  5326. {
  5327. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  5328. }
  5329. else
  5330. {
  5331. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5332. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " {FFFFFF}erfolgreich als Triade hinzugefügt!")
  5333. }
  5334. return
  5335. :?:/triadendel::
  5336. suspend permit
  5337. SendInput /del{space}
  5338. Input, name, V I M, {enter}
  5339. sendinput {end}+{home}{Del}{esc}
  5340. if name is not number
  5341. {
  5342. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5343. return
  5344. }
  5345. textdel := getplayernamebyid(name)
  5346. if (textdel == -1)
  5347. {
  5348. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5349. return
  5350. }
  5351. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5352. If not InStr(Liste, textdel)
  5353. {
  5354. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5355. return
  5356. }
  5357. else
  5358. {
  5359. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5360. {
  5361. IfInString, A_Loopreadline, %textdel%
  5362. continue
  5363. if(A_LoopReadLine!="")
  5364. {
  5365. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triadenn.txt
  5366. }
  5367. }
  5368. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5369. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triadenn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5370. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " wurde erfolgreich aus der Gegnerliste gelöscht!")
  5371. }
  5372. return
  5373. :?:/triaden::
  5374. suspend permit
  5375. SendInput, {Enter}
  5376. feindetriaden := 0
  5377. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{013ADF}Triaden{FFFFFF}___________________|")
  5378. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5379. {
  5380. if(!A_LoopReadLine)
  5381. continue
  5382. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5383. feindetriaden ++
  5384. score := GetPlayerScoreById(id)
  5385. ping := GetPlayerPingById(id)
  5386. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Online: {56bfeb} "A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5387. }
  5388. }
  5389. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (feindetriaden ? "{56bfeb}" feindetriaden : "{FF2200}keine") "{FFFFFF} Triaden online")
  5390. if(gchange == 1){
  5391. SendChat("/f Es sind " (feindetriaden ? feindetriaden : "keine") " Triaden online")
  5392. }
  5393. if(gchange == 0){
  5394. SendChat("/g Es sind " (feindetriaden ? feindetriaden : "keine") " Triaden online")
  5395. }
  5396. return
  5397. :?:/ftriaden::
  5398. suspend permit
  5399. SendInput, {Enter}
  5400. feindetriaden := 0
  5401. SendChat("/f |___________________Triaden___________________|")
  5402. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Triaden.txt
  5403. {
  5404. if(!A_LoopReadLine)
  5405. continue
  5406. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5407. feindetriaden ++
  5408. score := GetPlayerScoreById(id)
  5409. ping := GetPlayerPingById(id)
  5410. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5411. Loop, Read, Triaden.txt
  5412. {
  5413. StringSplit, split, A_LoopReadLine, |
  5414. idname := getPlayerIdByName(split1)
  5415. if(idname != -1)
  5416. {
  5417. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5418. sleep 1005
  5419. runner_on++
  5420. }
  5421. runner++
  5422. }
  5423. sleep 1005
  5424. }
  5425. }
  5426. SendChat("/f Es sind " (feindetriaden ? "{56bfeb}" feindetriaden : "{FF2200}keine") "{FFFFFF} Triaden online")
  5427. if(gchange == 1){
  5428. SendChat("/f Es sind " (feindetriaden ? feindetriaden : "keine") " Triaden online")
  5429. }
  5430. if(gchange == 0){
  5431. SendChat("/g Es sind " (feindetriaden ? feindetriaden : "keine") " Triaden online")
  5432. }
  5433. return
  5434. :?:/ckdel::
  5435. suspend permit
  5436. SendInput /del{space}
  5437. Input, name, V I M, {enter}
  5438. sendinput {end}+{home}{Del}{esc}
  5439. if name is not number
  5440. {
  5441. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5442. return
  5443. }
  5444. textdel := getplayernamebyid(name)
  5445. if (textdel == -1)
  5446. {
  5447. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5448. return
  5449. }
  5450. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5451. If not InStr(Liste, textdel)
  5452. {
  5453. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5454. return
  5455. }
  5456. else
  5457. {
  5458. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5459. {
  5460. IfInString, A_Loopreadline, %textdel%
  5461. continue
  5462. if(A_LoopReadLine!="")
  5463. {
  5464. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ckn.txt
  5465. }
  5466. }
  5467. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5468. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ckn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5469. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5470. }
  5471. return
  5472. :?:/ckadd::
  5473. suspend permit
  5474. SendInput /add{Space}
  5475. Input, name, V I M, {enter}
  5476. SendInput {end}+{home}{Del}{Esc}
  5477. if name is not number
  5478. {
  5479. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5480. return
  5481. }
  5482. text := getplayernamebyid(name)
  5483. myname := getusername()
  5484. if (text=myname)
  5485. {
  5486. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Gegnerliste hinzufügen!")
  5487. return
  5488. }
  5489. if (text == -1)
  5490. {
  5491. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5492. return
  5493. }
  5494. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5495. If InStr(Liste, text)
  5496. {
  5497. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  5498. }
  5499. else
  5500. {
  5501. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5502. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text "erfolgreich als Ckler hinzugefügt!")
  5503. }
  5504. return
  5505. :?:/ckdel::
  5506. suspend permit
  5507. SendInput /del{space}
  5508. Input, name, V I M, {enter}
  5509. sendinput {end}+{home}{Del}{esc}
  5510. if name is not number
  5511. {
  5512. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5513. return
  5514. }
  5515. textdel := getplayernamebyid(name)
  5516. if (textdel == -1)
  5517. {
  5518. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5519. return
  5520. }
  5521. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5522. If not InStr(Liste, textdel)
  5523. {
  5524. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5525. return
  5526. }
  5527. else
  5528. {
  5529. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5530. {
  5531. IfInString, A_Loopreadline, %textdel%
  5532. continue
  5533. if(A_LoopReadLine!="")
  5534. {
  5535. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ckn.txt
  5536. }
  5537. }
  5538. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5539. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ckn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5540. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5541. }
  5542. return
  5543. :?:/ck::
  5544. suspend permit
  5545. SendInput, {Enter}
  5546. feindeck := 0
  5547. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{AA6C39}Cali Kartell{FFFFFF}___________________|")
  5548. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5549. {
  5550. if(!A_LoopReadLine)
  5551. continue
  5552. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5553. feindeck ++
  5554. score := GetPlayerScoreById(id)
  5555. ping := GetPlayerPingById(id)
  5556. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5557. }
  5558. }
  5559. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (feindeck ? "{56bfeb}" feindeck : "{FF2200}keine") "{FFFFFF} Cali Kartell Member online")
  5560. if(gchange == 1){
  5561. SendChat("/f Es sind " (feindeck ? feindeck : "keine") " Cali Kartell Member online")
  5562. }
  5563. if(gchange == 0){
  5564. SendChat("/g Es sind " (feindeck ? feindeck : "keine") " Cali Kartell Member online")
  5565. }
  5566. return
  5567. :?:/fck::
  5568. suspend permit
  5569. SendInput, {Enter}
  5570. feindeck := 0
  5571. SendChat("/f |___________________Cali Kartell___________________|")
  5572. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ck.txt
  5573. {
  5574. if(!A_LoopReadLine)
  5575. continue
  5576. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5577. feindeck ++
  5578. score := GetPlayerScoreById(id)
  5579. ping := GetPlayerPingById(id)
  5580. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5581. Loop, Read, ck.txt
  5582. {
  5583. StringSplit, split, A_LoopReadLine, |
  5584. idname := getPlayerIdByName(split1)
  5585. if(idname != -1)
  5586. {
  5587. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5588. sleep 1005
  5589. runner_on++
  5590. }
  5591. runner++
  5592. }
  5593. sleep 1005
  5594. }
  5595. }
  5596. SendChat("/f Es sind " (feindeck ? "{56bfeb}" feindeck : "{FF2200}keine") "{FFFFFF} Cali Kartell Member online")
  5597. if(gchange == 1){
  5598. SendChat("/f Es sind " (feindeck ? feindeck : "keine") " Cali Kartell Member online")
  5599. }
  5600. if(gchange == 0){
  5601. SendChat("/g Es sind " (feindeck ? feindeck : "keine") " Cali Kartell Member online")
  5602. }
  5603. return
  5604. :?:/ICFdel::
  5605. suspend permit
  5606. SendInput /del{space}
  5607. Input, name, V I M, {enter}
  5608. sendinput {end}+{home}{Del}{esc}
  5609. if name is not number
  5610. {
  5611. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5612. return
  5613. }
  5614. textdel := getplayernamebyid(name)
  5615. if (textdel == -1)
  5616. {
  5617. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5618. return
  5619. }
  5620. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5621. If not InStr(Liste, textdel)
  5622. {
  5623. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5624. return
  5625. }
  5626. else
  5627. {
  5628. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5629. {
  5630. IfInString, A_Loopreadline, %textdel%
  5631. continue
  5632. if(A_LoopReadLine!="")
  5633. {
  5634. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICFn.txt
  5635. }
  5636. }
  5637. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5638. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICFn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5639. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5640. }
  5641. return
  5642. :?:/ICFadd::
  5643. suspend permit
  5644. SendInput /add{Space}
  5645. Input, name, V I M, {enter}
  5646. SendInput {end}+{home}{Del}{Esc}
  5647. if name is not number
  5648. {
  5649. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5650. return
  5651. }
  5652. text := getplayernamebyid(name)
  5653. myname := getusername()
  5654. if (text=myname)
  5655. {
  5656. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Gegnerliste hinzufügen!")
  5657. return
  5658. }
  5659. if (text == -1)
  5660. {
  5661. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5662. return
  5663. }
  5664. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5665. If InStr(Liste, text)
  5666. {
  5667. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  5668. }
  5669. else
  5670. {
  5671. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5672. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " {FFFFFF}erfolgreich als ICF*ler hinzugefügt!")
  5673. }
  5674. return
  5675. :?:/ICFdel::
  5676. suspend permit
  5677. SendInput /del{space}
  5678. Input, name, V I M, {enter}
  5679. sendinput {end}+{home}{Del}{esc}
  5680. if name is not number
  5681. {
  5682. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5683. return
  5684. }
  5685. textdel := getplayernamebyid(name)
  5686. if (textdel == -1)
  5687. {
  5688. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5689. return
  5690. }
  5691. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5692. If not InStr(Liste, textdel)
  5693. {
  5694. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5695. return
  5696. }
  5697. else
  5698. {
  5699. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5700. {
  5701. IfInString, A_Loopreadline, %textdel%
  5702. continue
  5703. if(A_LoopReadLine!="")
  5704. {
  5705. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICFn.txt
  5706. }
  5707. }
  5708. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5709. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICFn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5710. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5711. }
  5712. return
  5713. :?:/ICF::
  5714. suspend permit
  5715. SendInput, {Enter}
  5716. feindeICF := 0
  5717. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{0b3b24}ICF{FFFFFF}___________________|")
  5718. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5719. {
  5720. if(!A_LoopReadLine)
  5721. continue
  5722. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5723. feindeICF ++
  5724. score := GetPlayerScoreById(id)
  5725. ping := GetPlayerPingById(id)
  5726. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5727. }
  5728. }
  5729. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (feindeICF ? "{56bfeb}" feindeICF : "{FF2200}keine") "{FFFFFF} ICF Member online")
  5730. if(gchange == 1){
  5731. SendChat("/f Es sind " (feindeICF ? feindeICF : "keine") " ICF Member online")
  5732. }
  5733. if(gchange == 0){
  5734. SendChat("/g Es sind " (feindeICF ? feindeICF : "keine") " ICF Member online")
  5735. }
  5736. return
  5737. :?:/fICF::
  5738. suspend permit
  5739. SendInput, {Enter}
  5740. feindeICF := 0
  5741. SendChat("/f |___________________ICF___________________|")
  5742. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\ICF.txt
  5743. {
  5744. if(!A_LoopReadLine)
  5745. continue
  5746. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5747. feindeICF ++
  5748. score := GetPlayerScoreById(id)
  5749. ping := GetPlayerPingById(id)
  5750. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5751. Loop, Read, ICF.txt
  5752. {
  5753. StringSplit, split, A_LoopReadLine, |
  5754. idname := getPlayerIdByName(split1)
  5755. if(idname != -1)
  5756. {
  5757. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5758. sleep 1005
  5759. runner_on++
  5760. }
  5761. runner++
  5762. }
  5763. sleep 1005
  5764. }
  5765. }
  5766. SendChat("/f Es sind " (feindeICF ? "{56bfeb}" feindeICF : "{FF2200}keine") "{FFFFFF} ICF Member online")
  5767. if(gchange == 1){
  5768. SendChat("/f Es sind " (feindeICF ? feindeICF : "keine") " ICF Member online")
  5769. }
  5770. if(gchange == 0){
  5771. SendChat("/g Es sind " (feindeICF ? feindeICF : "keine") " ICF Member online")
  5772. }
  5773. return
  5774. :?:/Ballasdel::
  5775. suspend permit
  5776. SendInput /del{space}
  5777. Input, name, V I M, {enter}
  5778. sendinput {end}+{home}{Del}{esc}
  5779. if name is not number
  5780. {
  5781. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5782. return
  5783. }
  5784. textdel := getplayernamebyid(name)
  5785. if (textdel == -1)
  5786. {
  5787. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5788. return
  5789. }
  5790. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5791. If not InStr(Liste, textdel)
  5792. {
  5793. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5794. return
  5795. }
  5796. else
  5797. {
  5798. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5799. {
  5800. IfInString, A_Loopreadline, %textdel%
  5801. continue
  5802. if(A_LoopReadLine!="")
  5803. {
  5804. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballasn.txt
  5805. }
  5806. }
  5807. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5808. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballasn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5809. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5810. }
  5811. return
  5812. :?:/Ballasadd::
  5813. suspend permit
  5814. SendInput /add{Space}
  5815. Input, name, V I M, {enter}
  5816. SendInput {end}+{home}{Del}{Esc}
  5817. if name is not number
  5818. {
  5819. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5820. return
  5821. }
  5822. text := getplayernamebyid(name)
  5823. myname := getusername()
  5824. if (text=myname)
  5825. {
  5826. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Gegnerliste hinzufügen!")
  5827. return
  5828. }
  5829. if (text == -1)
  5830. {
  5831. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5832. return
  5833. }
  5834. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5835. If InStr(Liste, text)
  5836. {
  5837. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  5838. }
  5839. else
  5840. {
  5841. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5842. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " {FFFFFF}erfolgreich als Ballas Member hinzugefügt!" )
  5843. }
  5844. return
  5845. :?:/Ballasdel::
  5846. suspend permit
  5847. SendInput /del{space}
  5848. Input, name, V I M, {enter}
  5849. sendinput {end}+{home}{Del}{esc}
  5850. if name is not number
  5851. {
  5852. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5853. return
  5854. }
  5855. textdel := getplayernamebyid(name)
  5856. if (textdel == -1)
  5857. {
  5858. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5859. return
  5860. }
  5861. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5862. If not InStr(Liste, textdel)
  5863. {
  5864. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5865. return
  5866. }
  5867. else
  5868. {
  5869. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5870. {
  5871. IfInString, A_Loopreadline, %textdel%
  5872. continue
  5873. if(A_LoopReadLine!="")
  5874. {
  5875. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballasn.txt
  5876. }
  5877. }
  5878. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5879. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballasn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5880. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5881. }
  5882. return
  5883. :?:/Ballas::
  5884. suspend permit
  5885. SendInput, {Enter}
  5886. feindeBallas := 0
  5887. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{ff0080}Ballas{FFFFFF}___________________|")
  5888. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5889. {
  5890. if(!A_LoopReadLine)
  5891. continue
  5892. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5893. feindeBallas ++
  5894. score := GetPlayerScoreById(id)
  5895. ping := GetPlayerPingById(id)
  5896. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb} " A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5897. }
  5898. }
  5899. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (feindeBallas ? "{56bfeb}" feindeBallas : "{FF2200}keine") "{FFFFFF} Ballas Member online")
  5900. if(gchange == 1){
  5901. SendChat("/f Es sind " (feindeBallas ? feindeBallas : "keine") " Ballas Member online")
  5902. }
  5903. if(gchange == 0){
  5904. SendChat("/g Es sind " (feindeBallas ? feindeBallas : "keine") " Ballas Member online")
  5905. }
  5906. return
  5907. :?:/fBallas::
  5908. suspend permit
  5909. SendInput, {Enter}
  5910. feindeBallas := 0
  5911. SendChat("/f |___________________Ballas___________________|")
  5912. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Ballas.txt
  5913. {
  5914. if(!A_LoopReadLine)
  5915. continue
  5916. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  5917. feindeBallas ++
  5918. score := GetPlayerScoreById(id)
  5919. ping := GetPlayerPingById(id)
  5920. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5921. Loop, Read, Ballas.txt
  5922. {
  5923. StringSplit, split, A_LoopReadLine, |
  5924. idname := getPlayerIdByName(split1)
  5925. if(idname != -1)
  5926. {
  5927. SendChat("/f Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  5928. sleep 1005
  5929. runner_on++
  5930. }
  5931. runner++
  5932. }
  5933. sleep 1005
  5934. }
  5935. }
  5936. SendChat("/f Es sind " (feindeBallas ? "{56bfeb}" feindeBallas : "{FF2200}keine") "{FFFFFF} Ballas Member online")
  5937. if(gchange == 1){
  5938. SendChat("/f Es sind " (feindeBallas ? feindeBallas : "keine") " Ballas Member online")
  5939. }
  5940. if(gchange == 0){
  5941. SendChat("/g Es sind " (feindeBallas ? feindeBallas : "keine") " Ballas Member online")
  5942. }
  5943. return
  5944. :?:/Atzendel::
  5945. suspend permit
  5946. SendInput /del{space}
  5947. Input, name, V I M, {enter}
  5948. sendinput {end}+{home}{Del}{esc}
  5949. if name is not number
  5950. {
  5951. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5952. return
  5953. }
  5954. textdel := getplayernamebyid(name)
  5955. if (textdel == -1)
  5956. {
  5957. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  5958. return
  5959. }
  5960. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  5961. If not InStr(Liste, textdel)
  5962. {
  5963. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  5964. return
  5965. }
  5966. else
  5967. {
  5968. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  5969. {
  5970. IfInString, A_Loopreadline, %textdel%
  5971. continue
  5972. if(A_LoopReadLine!="")
  5973. {
  5974. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzenn.txt
  5975. }
  5976. }
  5977. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  5978. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzenn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  5979. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  5980. }
  5981. return
  5982. :?:/Atzenadd::
  5983. suspend permit
  5984. SendInput /add{Space}
  5985. Input, name, V I M, {enter}
  5986. SendInput {end}+{home}{Del}{Esc}
  5987. if name is not number
  5988. {
  5989. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  5990. return
  5991. }
  5992. text := getplayernamebyid(name)
  5993. myname := getusername()
  5994. if (text=myname)
  5995. {
  5996. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Gegnerliste hinzufügen!")
  5997. return
  5998. }
  5999. if (text == -1)
  6000. {
  6001. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  6002. return
  6003. }
  6004. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6005. If InStr(Liste, text)
  6006. {
  6007. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  6008. }
  6009. else
  6010. {
  6011. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6012. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " {FFFFFF}erfolgreich als Atzen hinzugefügt!")
  6013. }
  6014. return
  6015. :?:/Atzendel::
  6016. suspend permit
  6017. SendInput /del{space}
  6018. Input, name, V I M, {enter}
  6019. sendinput {end}+{home}{Del}{esc}
  6020. if name is not number
  6021. {
  6022. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  6023. return
  6024. }
  6025. textdel := getplayernamebyid(name)
  6026. if (textdel == -1)
  6027. {
  6028. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  6029. return
  6030. }
  6031. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6032. If not InStr(Liste, textdel)
  6033. {
  6034. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Gegnerliste vorhanden!")
  6035. return
  6036. }
  6037. else
  6038. {
  6039. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6040. {
  6041. IfInString, A_Loopreadline, %textdel%
  6042. continue
  6043. if(A_LoopReadLine!="")
  6044. {
  6045. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzenn.txt
  6046. }
  6047. }
  6048. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6049. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzenn.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6050. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Gegnerliste gelöscht!")
  6051. }
  6052. return
  6053. :?:/Atzen::
  6054. suspend permit
  6055. SendInput, {Enter}
  6056. feindeAtzen := 0
  6057. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{00bfff}Aztecas{FFFFFF}___________________|")
  6058. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Atzen.txt
  6059. {
  6060. if(!A_LoopReadLine)
  6061. continue
  6062. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  6063. feindeAtzen ++
  6064. score := GetPlayerScoreById(id)
  6065. ping := GetPlayerPingById(id)
  6066. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  6067. }
  6068. }
  6069. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (feindeAtzen ? "{56bfeb}" feindeAtzen : "{FF2200}keine") "{FFFFFF} Aztecas Member online")
  6070. if(gchange == 1){
  6071. SendChat("/f Es sind " (feindeAtzen ? feindeAtzen : "keine") " Aztecas Member online")
  6072. }
  6073. if(gchange == 0){
  6074. SendChat("/g Es sind " (feindeAtzen ? feindeAtzen : "keine") " Aztecas Member online")
  6075. }
  6076. return
  6077. :?:/cons::
  6078. suspend permit
  6079. SendInput, {Enter}
  6080. feindecon := 0
  6081. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}|___________________{00bfff}Contractliste{FFFFFF}___________________|")
  6082. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6083. {
  6084. if(!A_LoopReadLine)
  6085. continue
  6086. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  6087. feindecon ++
  6088. score := GetPlayerScoreById(id)
  6089. ping := GetPlayerPingById(id)
  6090. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  6091. }
  6092. }
  6093. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Es sind " (Feindecon ? "{56bfeb}" Feindecon : "{FF2200}keine") "{FFFFFF}User online, auf die du ein Hitman beauftragen möchtest.")
  6094. if(gchange == 1){
  6095. SendChat("/f Es sind " (Feindecon ? Feindecon : "keine") " Aztecas Member online")
  6096. }
  6097. if(gchange == 0){
  6098. SendChat("/g Es sind " (Feindecon ? Feindecon : "keine") " Aztecas Member online")
  6099. }
  6100. return
  6101. :?:/condel::
  6102. suspend permit
  6103. SendInput /del{space}
  6104. Input, name, V I M, {enter}
  6105. sendinput {end}+{home}{Del}{esc}
  6106. if name is not number
  6107. {
  6108. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  6109. return
  6110. }
  6111. textdel := getplayernamebyid(name)
  6112. if (textdel == -1)
  6113. {
  6114. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  6115. return
  6116. }
  6117. FileRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6118. If not InStr(Liste, textdel)
  6119. {
  6120. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel " {ffffff}ist nicht in der Contractliste vorhanden!")
  6121. return
  6122. }
  6123. else
  6124. {
  6125. Loop, read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6126. {
  6127. IfInString, A_Loopreadline, %textdel%
  6128. continue
  6129. if(A_LoopReadLine!="")
  6130. {
  6131. FileAppend, %a_loopreadline%`n, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract2.txt
  6132. }
  6133. }
  6134. FileDelete, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6135. FileMove, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract2.txt, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6136. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" textdel "{FFFFFF} wurde erfolgreich aus der Contractliste gelöscht!")
  6137. }
  6138. return
  6139. :?:/conadd::
  6140. suspend permit
  6141. SendInput /add{Space}
  6142. Input, name, V I M, {enter}
  6143. SendInput {end}+{home}{Del}{Esc}
  6144. if name is not number
  6145. {
  6146. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bitte gültige eine ID eingeben!")
  6147. return
  6148. }
  6149. text := getplayernamebyid(name)
  6150. myname := getusername()
  6151. if (text=myname)
  6152. {
  6153. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst dich nicht selbst zur Contractliste hinzufügen!")
  6154. return
  6155. }
  6156. if (text == -1)
  6157. {
  6158. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Dieser Spieler ist nicht online!")
  6159. return
  6160. }
  6161. IniRead, Liste, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6162. If InStr(Liste, text)
  6163. {
  6164. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " ist bereits vorhanden!")
  6165. }
  6166. else
  6167. {
  6168. FileAppend, `n%text%, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6169. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" text " {FFFFFF}erfolgreich zur Contractliste hinzugefügt!")
  6170. }
  6171. return
  6172. :?:/givecons::
  6173. Suspend Permit
  6174. SendInput Preis:{space}
  6175. Input,contractpreis,V I M,{enter}
  6176. SendInput t{end}+{home}{esc}
  6177. Sendinput t{del}{enter}
  6178. Feindecon := 0
  6179. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Möchtests du auf die folgenden User ein Hitman beauftragen?")
  6180. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6181. {
  6182. if(!A_LoopReadLine)
  6183. continue
  6184. if((id := GetPlayerIdByName(A_LoopReadLine)) > -1){
  6185. Feindecon ++
  6186. score := GetPlayerScoreById(id)
  6187. ping := GetPlayerPingById(id)
  6188. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Online: {56bfeb}" A_LoopReadLine "{FFFFFF}, ID: {56bfeb}" id "{FFFFFF}, Level: {56bfeb}" score "{FFFFFF}, Ping: {56bfeb}" ping)
  6189. }
  6190. }
  6191. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Es sind " (Feindecon ? "{56bfeb}" Feindecon : "{FF2200}keine") "{FFFFFF} User online, auf die du ein Hitman beauftragen kannst.")
  6192. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drücke {FAFAFA}'{AA6C39}J{FAFAFA}' um zu bestätigen.")
  6193. KeyWait, J, D T5
  6194. If !Errorlevel
  6195. {
  6196. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Hitmans werden beauftragen.")
  6197. goto givecons
  6198. }
  6199. else
  6200. {
  6201. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Hitmans wurden nicht beauftragen.")
  6202. }
  6203. if(gchange == 1){
  6204. SendChat("/f Es sind " (Feindecon ? Feindecon : "keine") " Aztecas Member online")
  6205. }
  6206. if(gchange == 0){
  6207. SendChat("/g Es sind " (Feindecon ? Feindecon : "keine") " Aztecas Member online")
  6208. }
  6209. return
  6210. givecons:
  6211. loop, Read, %A_MyDocuments%\Keybinder von Pascal\Gegnerlisten\Contract.txt
  6212. {
  6213. SendChat("/contract " A_LoopReadLine " " contractpreis " ")
  6214. Sleep, 1000
  6215. }
  6216. return
  6217. :?:/idsms::
  6218. Suspend Permit
  6219. SendInput ID:{Space}
  6220. Input, id, V I M, {enter}
  6221. SendInput {end}+{home}{Del}{Esc}
  6222. SendInput t/number %id%
  6223. sleep 300
  6224. GetChatLine(0,number)
  6225. sleep 50
  6226. RegExMatch(number, "Ph: (.*)", tel)
  6227. SendInput t/sms %tel1%{space}
  6228. Suspend On
  6229. Keywait, Enter, D
  6230. Suspend Off
  6231. return
  6232. :?:/idcall::
  6233. Suspend Permit
  6234. SendInput ID:{Space}
  6235. Input, id, V I M, {enter}
  6236. SendInput {end}+{home}{Del}{Esc}
  6237. SendInput t/number %id%
  6238. sleep 300
  6239. GetChatLine(0,number)
  6240. sleep 50
  6241. RegExMatch(number, "Ph: (.*)", tel)
  6242. SendInput t/call %tel1%{Enter}
  6243. Suspend On
  6244. Keywait, Enter, D
  6245. Suspend Off
  6246. return
  6247. ~space::
  6248. if(isInChat() || IsPlayerInAnyVehicle() || laufscriptState == "off")
  6249. return
  6250. while GetKeyState("Space", "P")
  6251. {
  6252. Send {space down}
  6253. Sleep 12
  6254. Send {space up}
  6255. Sleep 1
  6256. }
  6257. return
  6258. :?:/laufen::
  6259. Suspend, permit
  6260. SendInput /laufen{SPACE}
  6261. input,newState,V I M,{enter}
  6262. if(newState == "an") {
  6263. laufscriptState := "on"
  6264. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Laufen;){19FF00}angeschaltet")
  6265. } else if(newState = "aus") {
  6266. laufscriptState := "off"
  6267. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Laufen;){D70000}ausgeschaltet")
  6268. } else {
  6269. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Unbekannte Aktion - nutze: /laufen [an aus]")
  6270. }
  6271. IniWrite, %laufscriptState%, %A_ScriptDir%\settings.ini, Laufscript, Status
  6272. SendInput {end}+{home}+{Del}+{Esc}
  6273. return
  6274. Gardenshop:
  6275. if(IsPlayerInRangeOfPoint(-2562.0955,310.1070,15.9453, 2))
  6276. {
  6277. SendChat("/gardenshop")
  6278. Sleep 100
  6279. SendInput {enter}
  6280. Sleep 100
  6281. SendInput {enter}
  6282. Sleep 100
  6283. SendInput {enter}
  6284. Sleep 100
  6285. SendInput {enter}
  6286. Sleep 100
  6287. SendInput {enter}
  6288. Sleep 100
  6289. SendInput {esc}
  6290. sleep 60000
  6291. If(GetPlayerMoney() < 12500)
  6292. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA} Du hast für die Nächsten Samen nicht Genug Geld Dabei!")
  6293. }
  6294. Suspend Off
  6295. return
  6296. DrogenE:
  6297. GetChatline(0,aktuellerchat0)
  6298. If(InStr(aktuellerchat0, "Du hast 2500 Samen eingepflanzt. In 15 Minuten kannst du sie ernten."))
  6299. {
  6300. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 13 Minuten")
  6301. sleep 60000
  6302. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 12 Minuten")
  6303. sleep 60000
  6304. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 11 Minuten")
  6305. sleep 60000
  6306. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 10 Minuten")
  6307. sleep 60000
  6308. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 9 Minuten")
  6309. sleep 60000
  6310. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 8 Minuten")
  6311. sleep 60000
  6312. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 7 Minuten")
  6313. sleep 60000
  6314. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 6 Minuten")
  6315. sleep 60000
  6316. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 5 Minuten")
  6317. ShowGameText("~w~Ernte in 5 Minuten!",3000,3)
  6318. sleep 60000
  6319. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 4 Minuten")
  6320. sleep 60000
  6321. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 3 Minuten")
  6322. sleep 60000
  6323. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 2 Minuten")
  6324. sleep 60000
  6325. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Drogen erntbereit in:{00FF00} 1 Minuten")
  6326. sleep 60000
  6327. ShowGameText("~w~Pflanzen koennen geerntet werden!",3000,3)
  6328. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Du kannst deine Drogen nun ernten.")
  6329. sleep 1000
  6330. }
  6331. return
  6332. :?:/bb::
  6333. Suspend, Permit
  6334. Sendinput, {enter}
  6335. if(A_Hour >= 6 and A_Hour < 12)
  6336. SendChat("Vielen Dank, ich wünsche dir noch einen schönen Tag")
  6337. else if(A_Hour >= 12 and A_Hour < 18)
  6338. SendChat("Vielen Dank, ich wünsche dir noch einen schönen Tag")
  6339. else if(A_Hour >= 18 )
  6340. SendChat("Vielen Dank, ich wünsche dir noch einen schönen Abend")
  6341. else
  6342. SendChat("Vielen Dank, ich wünsche dir noch eine gute Nacht")
  6343. Suspend, Off
  6344. return
  6345. :?:/zeit::
  6346. suspend permit
  6347. Sendinput Zeit in Sekunden:{space}
  6348. Input minutenrechner,V I M,{enter}
  6349. SendInput {end}+{home}{Del}{esc}
  6350. sleep 250
  6351. minutes := minutenrechner//60,-1
  6352. seconds := minutenrechner-(minutes*60)
  6353. sleep 250
  6354. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}" minutenrechner " Sekunden sind " minutes " Minuten und " seconds " Sekunden")
  6355. return
  6356. :?:/fgrenze::
  6357. Suspend Permit
  6358. pName := GetUserName()
  6359. SendInput {enter}
  6360. fintxt2 := "Level:["
  6361. fintxt3 := "Respekt:["
  6362. fintxt4 := "Geld:["
  6363. fintxt5 := "Bank:["
  6364. fintxt6 := "Gesamtvermögen:["
  6365. gefunden := false
  6366. Loop, Read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  6367. {
  6368. lzeile1 := A_Index
  6369. }
  6370. Sendchat("/finances " pName " ")
  6371. while (gefunden == false) {
  6372. Loop, Read, %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
  6373. {
  6374. lzeile2 := A_Index
  6375. if (InStr(A_LoopReadLine,fintxt2) && InStr(A_LoopReadLine,fintxt3) && InStr(A_LoopReadLine,fintxt4) && InStr(A_LoopReadLine,fintxt5) && InStr(A_LoopReadLine,fintxt6) && (lzeile2 > lzeile1)) {
  6376. gefunden := true
  6377. RegExMatch(A_LoopReadLine,"Gesamtvermögen:\[\$\d+",Gesamtvermögen)
  6378. RegExMatch(Gesamtvermögen,"\d+",Gesamtvermögen)
  6379. zw1 := 2147483647/Gesamtvermögen
  6380. rw1 := log(zw1)
  6381. rw2 := log(1.01)
  6382. res := Round(rw1/rw2)
  6383. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Bis zur deiner Geldgrenze benötigst du noch " res " Paydays.")
  6384. SendChat("/f * INFO: Bis zur meiner Geldgrenze benötigte ich noch " res " Paydays.")
  6385. SendChat("/time")
  6386. }
  6387. }
  6388. }
  6389. Suspend off
  6390. return
  6391. :?:/ilr::
  6392. Suspend Permit
  6393. SendInput {ESC}
  6394. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Radio: ILoveRadio gestartet!")
  6395. playAudioStream("http://stream01.iloveradio.de/iloveradio1.mp3")
  6396. return
  6397. :?:/ilyr::
  6398. Suspend Permit
  6399. SendInput {ESC}
  6400. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Radio: ILoveYOU gestartet!")
  6401. playAudioStream("http://stream01.iloveradio.de/iloveradio10.mp3")
  6402. return
  6403. :?:/top100::
  6404. Suspend Permit
  6405. SendInput {ESC}
  6406. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Radio: TOP100 gestartet!")
  6407. playAudioStream("http://www.top100station.de/switch/vtuner.pls")
  6408. return
  6409. :?:/unblockchat::
  6410. Suspend Permit
  6411. SendInput {ESC}
  6412. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Chat wieder frei")
  6413. unBlockChatInput()
  6414. return
  6415. :?:/stopradio::
  6416. Suspend Permit
  6417. SendInput {ESC}
  6418. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Radio: gestoppt!")
  6419. stopAudioStream()
  6420. return
  6421. :?:/deagle::
  6422. Suspend Permit
  6423. SendInput {ESC}
  6424. SendChat("/buygun deagle " deagle " ")
  6425. return
  6426. :?:/shotgun::
  6427. Suspend Permit
  6428. SendInput {ESC}
  6429. SendChat("/buygun shotgun " shotgun " ")
  6430. return
  6431. :?:/m4::
  6432. Suspend Permit
  6433. SendInput {ESC}
  6434. SendChat("/buygun m4 " m4 " ")
  6435. return
  6436. :?:/mp5::
  6437. Suspend Permit
  6438. SendInput {ESC}
  6439. SendChat("/buygun mp5 " mp5 " ")
  6440. return
  6441. :?:/sniper::
  6442. Suspend Permit
  6443. SendInput {ESC}
  6444. SendChat("/buygun sniper " sniper " ")
  6445. return
  6446. :?:/rifle::
  6447. Suspend Permit
  6448. SendInput {ESC}
  6449. SendChat("/buygun rifle " rifle " ")
  6450. return
  6451. :?:/katana::
  6452. Suspend Permit
  6453. SendInput {ESC}
  6454. SendChat("/buygun katana 1 ")
  6455. return
  6456. :?:/baseball::
  6457. Suspend Permit
  6458. SendInput {ESC}
  6459. SendChat("/buygun baseball 1 ")
  6460. return
  6461. :?:/kd::
  6462. Suspend Permit
  6463. SendInput {ESC}
  6464. mykd := mykills / mydeaths
  6465. mydkd := mydkills / myddeaths
  6466. if(mydkd == "")
  6467. {
  6468. mydkd = %mydkills%.000
  6469. }
  6470. AddChatMessage("{0D4D4D} 〉〉 b_B {FAFAFA}Kills: {AA6C39}" mykills ",{FFFFFF} Tode: {AA6C39}" mydeaths ",{FFFFFF} KD: {AA6C39}" round(mykd, 3))
  6471. return
  6472. :?:/fkd::
  6473. Suspend Permit
  6474. SendInput {ESC}
  6475. mykd := mykills / mydeaths
  6476. mydkd := mydkills / myddeaths
  6477. if(mydkd == "")
  6478. {
  6479. mydkd = %mydkills%.000
  6480. }
  6481. SendChat("/f Kills: " mykills ", Tode: " mydeaths ", KD: " round(mykd, 3))
  6482. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement