MTA Vio AFK Teleporter

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • MTA Vio AFK Teleporter

    Hallo liebe Community
    Ich hoffe ich bin hier richtig.

    Und zwar möchte ich gerne wissen wie das geht.
    Das man nach 5 Minuten AFK ist und dann in ein Raum Teleportiert wird. !

    Das man nicht gleich AFK Gekickt wird nach 3 Minuten.

    Also wenn mir jemand dabei helfen kann.
    Kann mir gerne Privat nachricht schicken
    oder im TS reden.

    MFG Rene :P
    Hay
  • dieses Script würdest du wenn du im Rise Script guckst von Bonus finden.




    LUA-Quellcode

    1. -- Kann man verändern --
    2. local BarMarkerOut = createMarker ( -228.89999389648, 1401.1999511719, 26.799999237061, "cylinder", 1.2, 0, 0, 255, 255 ) -- Der Marker zum rausgehen
    3. local BarInterior = 18 -- Interior der Bar
    4. local BarDimension = 111 -- Dimension der Bar
    5. local afkBarSpawns = { -- Spawnpunkte in der Bar, damit die Leute sich nicht gegenseitig blockieren
    6. [1] = {x = -228.5, y = 1410.5999755859, z = 28.39999961853, rot = 0},
    7. [2] = {x = -228.69999694824, y = 1412.1999511719, z = 28.39999961853, rot = 180},
    8. [3] = {x = -228.69999694824, y = 1409.8000488281, z = 28.39999961853, rot = 180},
    9. [4] = {x = -228.69999694824, y = 1408.1999511719, z = 28.39999961853, rot = 0},
    10. [5] = {x = -228.69999694824, y = 1405.9000244141, z = 28.39999961853, rot = 0},
    11. [6] = {x = -228.69999694824, y = 1407.5, z = 27.799999237061, rot = 180},
    12. [7] = {x = -228.69999694824, y = 1403.5999755859, z = 27.799999237061, rot = 0},
    13. [8] = {x = -228.69999694824, y = 1405.0999755859, z = 27.799999237061, rot = 180},
    14. [9] = {x = -226, y = 1395, z = 28.39999961853, rot = 0},
    15. [10] = {x = -224.10000610352, y = 1395.9000244141, z = 28.39999961853, rot = 90},
    16. [11] = {x = -223.19999694824, y = 1405.5, z = 27.799999237061, rot = 90},
    17. [12] = {x = -224.80000305176, y = 1404.4000244141, z = 27.799999237061, rot = 90},
    18. [13] = {x = -220.10000610352, y = 1406.8000488281, z = 27.799999237061, rot = 0},
    19. [14] = {x = -218.80000305176, y = 1401.9000244141, z = 27.799999237061, rot = 180},
    20. [15] = {x = -218.10000610352, y = 1406.4000244141, z = 27.799999237061, rot = 0},
    21. [16] = {x = -223, y = 1409.5, z = 27.799999237061, rot = 180}
    22. }
    23. -- Nicht anfassen --
    24. local AFKDaten = {}
    25. local logoutTimer = {}
    26. local logoutRuns = {}
    27. local logoutX = {}
    28. local logoutY = {}
    29. local logoutZ = {}
    30. setElementInterior ( BarMarkerOut, BarInterior )
    31. setElementDimension ( BarMarkerOut, BarDimension )
    32. addEvent ( "onPlayerResourceStartAFK", true )
    33. -- Wichtige Funktionen --
    34. function onAFKBarMarkerHit ( hitElement, matchingDim )
    35. if hitElement and matchingDim then
    36. if getElementType ( hitElement ) == "player" then
    37. AFKDaten[hitElement]["isAFK"] = 0
    38. vioSetElementData ( hitElement, "isafk", 0 )
    39. if AFKDaten[hitElement]["olddim"] then
    40. setElementDimension ( hitElement, AFKDaten[hitElement]["olddim"] )
    41. setElementInterior ( hitElement, AFKDaten[hitElement]["oldint"] )
    42. setElementPosition ( hitElement, AFKDaten[hitElement]["oldX"], AFKDaten[hitElement]["oldY"], AFKDaten[hitElement]["oldZ"])
    43. setElementRotation ( hitElement, 0, 0, AFKDaten[hitElement]["oldrot"], "default", true )
    44. else
    45. setElementDimension ( hitElement, 0 )
    46. setElementInterior ( hitElement, 0 )
    47. setElementPosition ( hitElement, -1969.3399, 116.0128, 28)
    48. setElementRotation ( hitElement, 0, 0, 180, "default", true )
    49. end
    50. toggleControl ( hitElement, "fire", true )
    51. toggleControl ( hitElement, "next_weapon ", true )
    52. toggleControl ( hitElement, "previous_weapon", true )
    53. toggleControl ( hitElement, "action", true )
    54. toggleControl ( hitElement, "aim_weapon", true )
    55. toggleControl ( hitElement, "enter_exit", true )
    56. end
    57. end
    58. end
    59. addEventHandler ( "onMarkerHit", BarMarkerOut, onAFKBarMarkerHit )
    60. function searchAFK ()
    61. for index, player in pairs (getElementsByType("player")) do
    62. if vioGetElementData ( player, "loggedin" ) == 1 then
    63. local x, y, z = getElementPosition ( player )
    64. if AFKDaten[player] then -- Falls nicht Ressource restartet wurde
    65. if AFKDaten[player]["X"] ~= nil then
    66. if AFKDaten[player]["isAFK"] == 0 then -- 0 => nicht AFK, 1 => AFK
    67. if vioGetElementData ( player, "prison" ) == 0 and vioGetElementData ( player, "jailtime" ) == 0 then
    68. if vioGetElementData(player, "imGW") == 1 then
    69. AFKDaten[player]["Zeit"] = 0
    70. return
    71. end
    72. local distanzabgelegt = getDistanceBetweenPoints3D ( x, y, z, AFKDaten[player]["X"], AFKDaten[player]["Y"], AFKDaten[player]["Z"] )
    73. if ( distanzabgelegt < 5 ) then
    74. AFKDaten[player]["Zeit"] = AFKDaten[player]["Zeit"] + 1
    75. else
    76. if AFKDaten[player]["Zeit"] >= 10 then
    77. outputChatBox("Du bist nicht mehr AFK!", player, 0, 255, 0)
    78. end
    79. AFKDaten[player]["Zeit"] = 0
    80. end
    81. if AFKDaten[player]["Zeit"] == 10 then
    82. outputChatBox ( "Du wirst in 3 Minuten AFK gestellt, wenn du dich nicht bewegst!", player, 255, 0, 0 )
    83. elseif AFKDaten[player]["Zeit"] == 15 then
    84. if isPedInVehicle(player) then
    85. removePedFromVehicle(player)
    86. end
    87. local rnd = math.random ( 1, #afkBarSpawns )
    88. local koord = afkBarSpawns[rnd]
    89. local oldx, oldy, oldz = getElementPosition ( player )
    90. local xr, yr, zr = getElementRotation ( player )
    91. local olddim = getElementDimension ( player )
    92. local oldint = getElementInterior ( player )
    93. AFKDaten[player]["oldX"] = oldx
    94. AFKDaten[player]["oldY"] = oldy
    95. AFKDaten[player]["oldZ"] = oldz
    96. AFKDaten[player]["oldrot"] = zr
    97. AFKDaten[player]["olddim"] = olddim
    98. AFKDaten[player]["oldint"] = oldint
    99. setElementInterior ( player, BarInterior )
    100. setElementDimension ( player, BarDimension )
    101. setElementPosition ( player, koord.x, koord.y, koord.z )
    102. setElementRotation ( player, 0, 0, koord.rot, "default", true )
    103. AFKDaten[player]["isAFK"] = 1
    104. vioSetElementData ( player, "isafk", 1)
    105. AFKDaten[player]["Zeit"] = 0
    106. setPedWeaponSlot ( player, 0 )
    107. toggleControl ( player, "fire", false )
    108. toggleControl ( player, "next_weapon ", false )
    109. toggleControl ( player, "previous_weapon", false )
    110. toggleControl ( player, "action", false )
    111. toggleControl ( player, "aim_weapon", false )
    112. toggleControl ( player, "enter_exit", false )
    113. outputChatBox ("Du bist in der AFK Bar!", player, 255, 0, 0 )
    114. setElementData ( player, "hunger", 100, false ) -- Hunger füllen
    115. vioSetElementData ( player, "hunger", 100 ) -- Hunger füllen
    116. -- damit die Zeit nicht weitergeht, kann deaktiviert werden bei Bedarf --
    117. if vioGetElementData ( player, "playingtime" ) % 60 >= 0 then
    118. vioSetElementData ( player, "playingtime", vioGetElementData ( player, "playingtime" ) - 1 )
    119. end
    120. end
    121. AFKDaten[player]["X"] = x
    122. AFKDaten[player]["Y"] = y
    123. AFKDaten[player]["Z"] = z
    124. else
    125. AFKDaten[player]["Zeit"] = 0
    126. end
    127. else
    128. setElementData ( player, "hunger", 100, false ) -- Hunger füllen
    129. vioSetElementData ( player, "hunger", 100 ) -- Hunger füllen
    130. -- damit die Zeit nicht weitergeht, kann deaktiviert werden bei Bedarf --
    131. if vioGetElementData ( player, "playingtime" ) % 60 >= 0 then
    132. vioSetElementData ( player, "playingtime", vioGetElementData ( player, "playingtime" ) - 1 )
    133. end
    134. end
    135. else
    136. AFKDaten[player]["X"] = x
    137. AFKDaten[player]["Y"] = y
    138. AFKDaten[player]["Z"] = z
    139. end
    140. else
    141. triggerEvent ( "onPlayerResourceStartAFK", player ) -- Tabelle für Spiele neu erstellen
    142. end
    143. end
    144. end
    145. end
    146. local AFKtimer = setTimer ( searchAFK, 1000*60, -1 ) -- jede Minute
    147. function createPlayerAFK ( ) -- beim Joinen
    148. local x, y, z = getElementPosition ( source )
    149. AFKDaten[source] = {}
    150. AFKDaten[source]["X"] = x
    151. AFKDaten[source]["Y"] = y
    152. AFKDaten[source]["Z"] = z
    153. AFKDaten[source]["Zeit"] = 0
    154. AFKDaten[source]["isAFK"] = 0
    155. vioSetElementData ( source, "isafk", 0 )
    156. -- Deaktivierbare Funktionen, die AFK unterbrechen --
    157. addEventHandler ( "onPlayerChat", source, function() -- beim Chatten
    158. if AFKDaten[source]["Zeit"] >= 10 then
    159. outputChatBox("Du bist nicht mehr AFK!", source, 0, 255, 0)
    160. end
    161. AFKDaten[source]["Zeit"] = 0
    162. end)
    163. addEventHandler ( "onPlayerWasted", source, function( ammo, killer ) -- beim Sterben
    164. if AFKDaten[source]["Zeit"] >= 10 then
    165. outputChatBox("Du bist nicht mehr AFK!", source, 0, 255, 0)
    166. end
    167. AFKDaten[source]["Zeit"] = 0
    168. if killer then
    169. if getElementType ( killer ) == "player" then
    170. AFKDaten[killer]["Zeit"] = 0
    171. end
    172. end
    173. end)
    174. addEventHandler ( "onPlayerDamage", source, function ( attacker ) -- bei Damage
    175. if AFKDaten[source]["Zeit"] >= 10 then
    176. outputChatBox("Du bist nicht mehr AFK!", source, 0, 255, 0)
    177. end
    178. AFKDaten[source]["Zeit"] = 0
    179. if attacker then
    180. if getElementType ( attacker ) == "player" then
    181. AFKDaten[attacker]["Zeit"] = 0
    182. end
    183. end
    184. end)
    185. addEventHandler ( "onPlayerClick", source, function() -- beim Klicken
    186. if AFKDaten[source]["Zeit"] >= 10 then
    187. outputChatBox("Du bist nicht mehr AFK!", source, 0, 255, 0)
    188. end
    189. AFKDaten[source]["Zeit"] = 0
    190. end)
    191. addEventHandler ( "onPlayerCommand", source, function() -- bei Commands
    192. if AFKDaten[source]["Zeit"] >= 10 then
    193. outputChatBox("Du bist nicht mehr AFK!", source, 0, 255, 0)
    194. end
    195. AFKDaten[source]["Zeit"] = 0
    196. end)
    197. -- ENDE --
    198. end
    199. addEventHandler ( "onPlayerJoin", getRootElement(), createPlayerAFK )
    200. addEventHandler ( "onPlayerResourceStartAFK", getRootElement(), createPlayerAFK )
    201. addEventHandler ( "onPlayerQuit", getRootElement(), function() -- beim Quitten
    202. AFKDaten[source] = {}
    203. end)
    204. function save_func (player)
    205. if not AFKDaten[player] then
    206. triggerEvent ( "onPlayerResourceStartAFK", player ) -- Tabelle für Spiele neu erstellen
    207. end
    208. if not getPedOccupiedVehicle ( player ) and AFKDaten[player]["isAFK"] ~= 1 and not isTimer (logoutTimer[player]) then
    209. if getElementData ( player, "In_DMArena" ) == 1 then
    210. outputChatBox ( "Du kannst dich hier nicht ausloggen!", player, 125, 0, 0 )
    211. else
    212. outputChatBox ( "Du wirst in 30 Sekunden ausgeloggt, bitte bleibe an deiner jetzigen Position!", player, 0, 125, 0 )
    213. logoutTimer[player] = setTimer ( checkLogout, 500, -1, player )
    214. logoutRuns[player] = 0
    215. logoutX[player], logoutY[player], logoutZ[player] = getElementPosition ( player )
    216. end
    217. end
    218. end
    219. addCommandHandler ( "save", save_func )
    220. function checkLogout (player)
    221. if player and isElement ( player ) then
    222. local x, y, z = getElementPosition ( player )
    223. logoutRuns[player] = logoutRuns[player] + 1
    224. if x <= logoutX[player]+2 and x >= logoutX[player]-2 and y <= logoutY[player]+2 and y >= logoutY[player]-2 and z <= logoutZ[player]+2 and z >= logoutZ[player]-2 and not isPedDead ( player ) then
    225. if logoutRuns[player] == 60 then
    226. triggerEvent ("logoutPlayer", player, player, x, y, z, getElementInterior ( player ), getElementDimension ( player ))
    227. killTimer ( logoutTimer[player] )
    228. elseif logoutRuns[player]/10 == math.floor ( logoutRuns[player]/10+.01 ) then
    229. outputChatBox ( "Du wirst in "..((60-logoutRuns[player])/2).." Sekunden ausgeloggt!", player, 150, 150, 0 )
    230. end
    231. else
    232. outputChatBox ( "Logout abgebrochen!", player, 125, 0, 0 )
    233. killTimer ( logoutTimer[player] )
    234. end
    235. else
    236. killTimer ( logoutTimer[player] )
    237. end
    238. end
    Alles anzeigen
    Das habe ich jetzt gefunden keine 3 Sekunden hat es gedauert
    Mit freundlichen Grüßen
    Corny17

    Die zehn Gebote Gottes enthalten 279 Wörter, die amerikanische Unabhängigkeitserklärung 300 Wörter, die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons aber exakt 25911 Wörter.