el case es un teleport que en realidad busco un teleport de un mapa a otro pero no doy con nim una script si alguien sabe un mejor que ese sera bienvenido
Citar
[ENABLE]
{$lua}
-- Offsets
local FLAG_TEAM = 0x32C
local HEALTH = 0xF8
local NEXT_PLAYER = 0x4 -- The offset of the structure from one player to another
local COORDINATE_X = 0x34
local COORDINATE_Y = 0x38
local COORDINATE_Z = 0x3C
local ANGLE_X = 0x40
local ANGLE_Y = 0x44
local BASE_PLAYERS = getAddress('[ac_client.exe+0010F4F8]')
local BASE_MY_PLAYER = getAddress('[ac_client.exe+0010F4F4]')
-- Declaration of other variables
local player = {}-- Structure with all my data
local enemy = {}-- Structure with the enemy players, the targets.
local amount_players -- Number of players
local my_team -- Contains the necessary information to know who is on my team.
local MAX_ATTEMPTS = 1000 -- Help the "UpdatePlayersData" function not to enter an infinite loop.
-- To understand why this is necessary, you need to study how the player structures work in the Assalt Cube game.
-- Function that updates my player information
local function UpdateMyData()
player.x = BASE_MY_PLAYER + COORDINATE_X
player.y = BASE_MY_PLAYER + COORDINATE_Y
player.z = BASE_MY_PLAYER + COORDINATE_Z
my_team = readInteger(BASE_MY_PLAYER + FLAG_TEAM)
end
--Function that updates information about players
--And it's different from my team.
local function UpdatePlayersData()
amount_players = readInteger("ac_client.exe+10A22C")-1
local OFFSET = NEXT_PLAYER -- This variable contains the offset value of the current player being processed
local current_player = 0 -- Contains the player base in process
local counter = 0
local countPlayer = 0
while(countPlayer < amount_players) do
counter = counter + 1
if counter > MAX_ATTEMPTS then print(#enemy) return end
current_player = readInteger(BASE_PLAYERS + OFFSET)
if readInteger(current_player + HEALTH) then
countPlayer = countPlayer + 1
if readInteger(current_player + HEALTH) >= 1 and readInteger(current_player + HEALTH) <= 1000 then -- The player exists and is alive.
if readInteger(current_player + FLAG_TEAM) ~= my_team then -- If the player is my enemy
enemy.x = readFloat(current_player + COORDINATE_X)
enemy.y = readFloat(current_player + COORDINATE_Y)
enemy.z = readFloat(current_player + COORDINATE_Z)
t=true
return
end
end
end
OFFSET = OFFSET + NEXT_PLAYER
end
t = false
end
local function TeleportBotPosition()
if not t then return end
writeFloat(player.x, enemy.x)
writeFloat(player.y, enemy.y)
writeFloat(player.z, enemy.z)
end
local function CheckKeyTeleportBot()
if not readInteger('[ac_client.exe+0010F4F8]') then return end--The function returns if the address does not exist.
UpdateMyData()
UpdatePlayersData()
TeleportBotPosition()
end
if t4 then t4.destroy(); t4=nil end
t4 = createTimer()
t4.Interval = 1
t4.onTimer = CheckKeyTeleportBot
{$asm}
[DISABLE]
{$lua}
if t4 then t4.destroy(); t4=nil end
{$asm}
{$lua}
-- Offsets
local FLAG_TEAM = 0x32C
local HEALTH = 0xF8
local NEXT_PLAYER = 0x4 -- The offset of the structure from one player to another
local COORDINATE_X = 0x34
local COORDINATE_Y = 0x38
local COORDINATE_Z = 0x3C
local ANGLE_X = 0x40
local ANGLE_Y = 0x44
local BASE_PLAYERS = getAddress('[ac_client.exe+0010F4F8]')
local BASE_MY_PLAYER = getAddress('[ac_client.exe+0010F4F4]')
-- Declaration of other variables
local player = {}-- Structure with all my data
local enemy = {}-- Structure with the enemy players, the targets.
local amount_players -- Number of players
local my_team -- Contains the necessary information to know who is on my team.
local MAX_ATTEMPTS = 1000 -- Help the "UpdatePlayersData" function not to enter an infinite loop.
-- To understand why this is necessary, you need to study how the player structures work in the Assalt Cube game.
-- Function that updates my player information
local function UpdateMyData()
player.x = BASE_MY_PLAYER + COORDINATE_X
player.y = BASE_MY_PLAYER + COORDINATE_Y
player.z = BASE_MY_PLAYER + COORDINATE_Z
my_team = readInteger(BASE_MY_PLAYER + FLAG_TEAM)
end
--Function that updates information about players
--And it's different from my team.
local function UpdatePlayersData()
amount_players = readInteger("ac_client.exe+10A22C")-1
local OFFSET = NEXT_PLAYER -- This variable contains the offset value of the current player being processed
local current_player = 0 -- Contains the player base in process
local counter = 0
local countPlayer = 0
while(countPlayer < amount_players) do
counter = counter + 1
if counter > MAX_ATTEMPTS then print(#enemy) return end
current_player = readInteger(BASE_PLAYERS + OFFSET)
if readInteger(current_player + HEALTH) then
countPlayer = countPlayer + 1
if readInteger(current_player + HEALTH) >= 1 and readInteger(current_player + HEALTH) <= 1000 then -- The player exists and is alive.
if readInteger(current_player + FLAG_TEAM) ~= my_team then -- If the player is my enemy
enemy.x = readFloat(current_player + COORDINATE_X)
enemy.y = readFloat(current_player + COORDINATE_Y)
enemy.z = readFloat(current_player + COORDINATE_Z)
t=true
return
end
end
end
OFFSET = OFFSET + NEXT_PLAYER
end
t = false
end
local function TeleportBotPosition()
if not t then return end
writeFloat(player.x, enemy.x)
writeFloat(player.y, enemy.y)
writeFloat(player.z, enemy.z)
end
local function CheckKeyTeleportBot()
if not readInteger('[ac_client.exe+0010F4F8]') then return end--The function returns if the address does not exist.
UpdateMyData()
UpdatePlayersData()
TeleportBotPosition()
end
if t4 then t4.destroy(); t4=nil end
t4 = createTimer()
t4.Interval = 1
t4.onTimer = CheckKeyTeleportBot
{$asm}
[DISABLE]
{$lua}
if t4 then t4.destroy(); t4=nil end
{$asm}
yo tengo un teleporte que salva las posiciones y carga la posiciones con CE
que el
pointer es
"PlayGame.DLL"+00FFAAFC = offset Y 2A0 , X 2A1 ,Z 2A2
que me hace falta para completar ese rompecabezas
y conseguir el teleporte map y un teleporte player traer un amigo junto a ti
ademas tengo ese script tambien que teleporta los bixos junto a ti
Citar
[ENABLE]
{$lua}
-- Offsets
local FLAG_TEAM = 0x32C
local HEALTH = 0xF8
local NEXT_PLAYER = 0x4 -- The offset of the structure from one player to another
local COORDINATE_X = 0x34
local COORDINATE_Y = 0x38
local COORDINATE_Z = 0x3C
local ANGLE_X = 0x40
local ANGLE_Y = 0x44
local BASE_PLAYERS = getAddress('[ac_client.exe+0010F4F8]')
local BASE_MY_PLAYER = getAddress('[ac_client.exe+0010F4F4]')
-- Declaration of other variables
local player -- Structure with all my data
local enemy = {}-- Structure with the enemy players, the targets.
local amount_players -- Number of players
local my_team -- Contains the necessary information to know who is on my team.
local MAX_ATTEMPTS = 1000 -- Help the "UpdatePlayersData" function not to enter an infinite loop.
-- To understand why this is necessary, you need to study how the player structures work in the Assalt Cube game.
-- Function that updates my player information
local function UpdateMyData()
player = {x = readFloat(BASE_MY_PLAYER + COORDINATE_X),
y = readFloat(BASE_MY_PLAYER + COORDINATE_Y),
z = readFloat(BASE_MY_PLAYER + COORDINATE_Z),
viewMatrix = {x = readFloat(BASE_MY_PLAYER + ANGLE_X)-90,
y = readFloat(BASE_MY_PLAYER + ANGLE_Y)
}
}
my_team = readInteger(BASE_MY_PLAYER + FLAG_TEAM)
end
--Function that updates information about players
--And it's different from my team.
local function UpdatePlayersData()
amount_players = readInteger("ac_client.exe+10A22C")-1
enemy = {}
local OFFSET = NEXT_PLAYER -- This variable contains the offset value of the current player being processed
local current_player = 0 -- Contains the player base in process
local counter = 0
local countPlayer = 0
while(countPlayer < amount_players) do
counter = counter + 1
if counter > MAX_ATTEMPTS then print(#enemy) return end
current_player = readInteger(BASE_PLAYERS + OFFSET)
if readInteger(current_player + HEALTH) then
countPlayer = countPlayer + 1
if readInteger(current_player + HEALTH) >= 1 and readInteger(current_player + HEALTH) <= 1000 then -- The player exists and is alive.
if readInteger(current_player + FLAG_TEAM) ~= my_team then -- If the player is my enemy
enemy[#enemy+1] = {}
enemy[#enemy].x = current_player + COORDINATE_X
enemy[#enemy].y = current_player + COORDINATE_Y
enemy[#enemy].z = current_player + COORDINATE_Z
end
end
end
OFFSET = OFFSET + NEXT_PLAYER
end
end
local function TeleportBot()
local destinyX
local destinyY
local destinyZ
local max_lenght
local lenght = 10
destinyZ = math.sin(math.rad(player.viewMatrix.y)) * lenght
max_lenght = math.cos(math.rad(player.viewMatrix.y)) * lenght
destinyY = math.sin(math.rad(player.viewMatrix.x)) * max_lenght
destinyX = math.cos(math.rad(player.viewMatrix.x)) * max_lenght
for i=1, #enemy do
writeFloat(enemy.x, player.x + destinyX)
writeFloat(enemy.y, player.y + destinyY)
writeFloat(enemy.z, player.z + destinyZ)
end
end
local function CheckKeyTeleportBot()
if isKeyPressed( VK_Q ) then
if not readInteger('[ac_client.exe+0010F4F8]') then return end--The function returns if the address does not exist.
UpdateMyData()
UpdatePlayersData()
TeleportBot()
end
end
showMessage("Press Key 'Q'")
if t2 then t2.destroy(); t2=nil end
t2 = createTimer()
t2.Interval = 1
t2.onTimer = CheckKeyTeleportBot
{$asm}
[DISABLE]
{$lua}
if t2 then t2.destroy(); t2=nil end
{$asm}
{$lua}
-- Offsets
local FLAG_TEAM = 0x32C
local HEALTH = 0xF8
local NEXT_PLAYER = 0x4 -- The offset of the structure from one player to another
local COORDINATE_X = 0x34
local COORDINATE_Y = 0x38
local COORDINATE_Z = 0x3C
local ANGLE_X = 0x40
local ANGLE_Y = 0x44
local BASE_PLAYERS = getAddress('[ac_client.exe+0010F4F8]')
local BASE_MY_PLAYER = getAddress('[ac_client.exe+0010F4F4]')
-- Declaration of other variables
local player -- Structure with all my data
local enemy = {}-- Structure with the enemy players, the targets.
local amount_players -- Number of players
local my_team -- Contains the necessary information to know who is on my team.
local MAX_ATTEMPTS = 1000 -- Help the "UpdatePlayersData" function not to enter an infinite loop.
-- To understand why this is necessary, you need to study how the player structures work in the Assalt Cube game.
-- Function that updates my player information
local function UpdateMyData()
player = {x = readFloat(BASE_MY_PLAYER + COORDINATE_X),
y = readFloat(BASE_MY_PLAYER + COORDINATE_Y),
z = readFloat(BASE_MY_PLAYER + COORDINATE_Z),
viewMatrix = {x = readFloat(BASE_MY_PLAYER + ANGLE_X)-90,
y = readFloat(BASE_MY_PLAYER + ANGLE_Y)
}
}
my_team = readInteger(BASE_MY_PLAYER + FLAG_TEAM)
end
--Function that updates information about players
--And it's different from my team.
local function UpdatePlayersData()
amount_players = readInteger("ac_client.exe+10A22C")-1
enemy = {}
local OFFSET = NEXT_PLAYER -- This variable contains the offset value of the current player being processed
local current_player = 0 -- Contains the player base in process
local counter = 0
local countPlayer = 0
while(countPlayer < amount_players) do
counter = counter + 1
if counter > MAX_ATTEMPTS then print(#enemy) return end
current_player = readInteger(BASE_PLAYERS + OFFSET)
if readInteger(current_player + HEALTH) then
countPlayer = countPlayer + 1
if readInteger(current_player + HEALTH) >= 1 and readInteger(current_player + HEALTH) <= 1000 then -- The player exists and is alive.
if readInteger(current_player + FLAG_TEAM) ~= my_team then -- If the player is my enemy
enemy[#enemy+1] = {}
enemy[#enemy].x = current_player + COORDINATE_X
enemy[#enemy].y = current_player + COORDINATE_Y
enemy[#enemy].z = current_player + COORDINATE_Z
end
end
end
OFFSET = OFFSET + NEXT_PLAYER
end
end
local function TeleportBot()
local destinyX
local destinyY
local destinyZ
local max_lenght
local lenght = 10
destinyZ = math.sin(math.rad(player.viewMatrix.y)) * lenght
max_lenght = math.cos(math.rad(player.viewMatrix.y)) * lenght
destinyY = math.sin(math.rad(player.viewMatrix.x)) * max_lenght
destinyX = math.cos(math.rad(player.viewMatrix.x)) * max_lenght
for i=1, #enemy do
writeFloat(enemy.x, player.x + destinyX)
writeFloat(enemy.y, player.y + destinyY)
writeFloat(enemy.z, player.z + destinyZ)
end
end
local function CheckKeyTeleportBot()
if isKeyPressed( VK_Q ) then
if not readInteger('[ac_client.exe+0010F4F8]') then return end--The function returns if the address does not exist.
UpdateMyData()
UpdatePlayersData()
TeleportBot()
end
end
showMessage("Press Key 'Q'")
if t2 then t2.destroy(); t2=nil end
t2 = createTimer()
t2.Interval = 1
t2.onTimer = CheckKeyTeleportBot
{$asm}
[DISABLE]
{$lua}
if t2 then t2.destroy(); t2=nil end
{$asm}