0% found this document useful (1 vote)
712 views20 pages

Script Proxy

This document contains code for a Growtopia proxy script. It defines various functions for common proxy commands like dropping items, trash items, taking items, wearing items, and more. It also contains code for features like a pathfinder, calculator, spin logger, and checkbox options to enable/disable certain features. The main parts of the code set up variables and tables for tracking players, items, and logs. Functions are included to process dialog responses and packets to implement the various proxy features.

Uploaded by

raditdsgg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
712 views20 pages

Script Proxy

This document contains code for a Growtopia proxy script. It defines various functions for common proxy commands like dropping items, trash items, taking items, wearing items, and more. It also contains code for features like a pathfinder, calculator, spin logger, and checkbox options to enable/disable certain features. The main parts of the code set up variables and tables for tracking players, items, and logs. Functions are included to process dialog responses and packets to implement the various proxy features.

Uploaded by

raditdsgg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 20

-- function names

SendPacket = sendPacket
SendPacketRaw = sendPacketRaw
SendVariant = sendVariant
GetLocal = getLocal
SleepMS = sleep
GetPlayerByNetID = getPlayerByNetID
GetWorldObject = getWorldObject
LogToConsole = logToConsole
CheckTile = checkTile
GetTile = getTile
GetInventory = getInventory
GetItemByID = getItemByID
GetPlayerList = getPlayerList
FindPath = findPath

SleepS = function(int_s)
sleep(int_s * 1000)
end

-- main vars
-- configuration
local proxy = {}
local command = {}
local user = {}
local config = {}
local PlayerList = {}
local LogSpin = {}
-- local nPlayerList = {}
local itemInfo = {}
proxy.dev = "Bahi"
proxy.name = "Bahi Proxy"
proxy.version = "v1.4"
version="v1.4"
proxy.support = "undefined"

command.var = {}
command.var.taptp = false
command.var.rfspin = false

-- checkbox vars
local rfspin = true
local reme
local qeme

-- textinput vars
local firstnum = "10"
local op = "sum"
local secondnum = "10"

wrenchop = [[add_label_with_icon|big|`2Fiture Wrench|left|11816|


add_spacer|small|
text_scaling_string|asdasdasdsaas|
add_button_with_icon|proxywrenchm|`wExtra Cheats|staticYellowFrame|7190|
add_button_with_icon|proxylogspin|`wSpin Log|staticYellowFrame|758|
add_button_with_icon|BackToMenu|`wGrowscan|staticYellowFrame|6016|
add_button_with_icon|wdef|`wWrench Default|staticYellowFrame|278||
add_button_with_icon|wpull|`wWrench Pull|staticYellowFrame|274||
add_button_with_icon|wkick|`wWrench Kick|staticYellowFrame|276||
add_button_with_icon|wban|`wWrench Ban|staticYellowFrame|732||
add_button_with_icon||END_LIST|noflags|0||
add_spacer|small|
end_dialog|wh|Ok|
]]

proxy = [[add_label_with_icon|big|`2[``Bahi Proxy`2]``Fiture Proxy


|left|11816|
add_spacer|big|
add_textbox|`8Feature Drop Item|left|7188|
add_textbox|`6/bd [Amount] `bDrop `eBlue Gem Lock|
add_textbox|`6/dd [Amount] `bDrop `1Diamond Lock|
add_textbox|`6/wd [Amount] `bDrop `9World Lock|
add_textbox|`6/cd [Amount]
add_textbox|`6/daw `9[Drop All Lock]|
add_spacer|small|
add_label_with_icon|big|`8Host Casino|left|340|
add_textbox|`6/tax `9[Amount]|
add_textbox|`6/bet `9[Amount]|
add_textbox|`6/take `9[Take Lock Di Posisi 1 Dan 2]|
add_textbox|`6/pos `9[Set 1 - 2]|
add_textbox|`6/w 1 Atau 2`9[Drop Ke Pemenang Yang Win]|
add_textbox|`6/slog `9[Spin Log]|
add_spacer|small|
add_label_with_icon|big|`8Fast Command|left|18|
add_textbox|`6/ft `9[Fast Trash]|
add_textbox|`6/fd `9[Fast Drop]|
add_textbox|`6/rr `9[Relog]|
add_textbox|`6/t`9[Path Finder]|
add_textbox|`6/cal `9[Calculator]|
add_textbox|`6/fpull `9[Fast Pull]|
add_textbox|`6/fkick `9[Fast Kick]|
add_textbox|`6/fban `9[Fast Ban]|
add_textbox|`6/wn `9Wrench Normal]|
add_textbox|`6/wp `9[Warp World]|
add_textbox|`6/x `9[0 - 99] `6/y `9[0 - 53]|
add_spacer|big|
add_label_with_icon|small|`8Magnet Feature|left|6140|
add_textbox|`6/magnet `9[Take Item]|
add_spacer|big|
add_label_with_icon|big|`6Hosting Helper:|left|32|
add_button|proxywrenchm|`9Exstra Cheats|
add_button|proxylogspin|`9Spin Log|
add_button|BackToMenu|`9GrowScan|
add_spacer|big|
add_label_with_icon|big|`6Proxy Mode Bahi|left|32|
add_textbox|`7Jangan Di Jual Scriptnya Ya|
add_textbox|`cFollow Tiktok Saya @bahigti|
end_dialog|bye|exit|Okay|
add_quick_exit|
]]

function dext()
return [[
add_label_with_icon|big|``Hosting Helper |left|32|
text_scaling_string|iprogramtext
add_spacer|big|
add_checkbox|realfakespin|`2REAL``-`4FAKE`` Spin Detection|]]..realfakes..[[|
add_checkbox|gamereme|Reme Checker|]]..remeg..[[|
add_checkbox|gameqeme|Qeme Checker|]]..qemeg..[[|
add_spacer|big|
end_dialog|proxywrenchend|Close|Set|
]]
end

function calcu()
return [[
set_default_color|`7
add_label_with_icon|big|`9Calculator |left|5016|
add_spacer|small|
add_text_input|fnum|First number|]]..firstnum..[[|25|
add_text_input|opr|(sum, sub, multi, divide)|]]..op..[[|25|
add_text_input|snum|Second number|]]..secondnum..[[|25|
add_spacer|big|
end_dialog|calculatorpage|Cancel|Calculate|
]]
end
local sum = [[
add_label_with_icon|big|`9Calculator Result |big|5016|
add_spacer|small|
add_textbox|Result: `2]].. math.floor(firstnum + secondnum) ..[[||
add_spacer|big|
add_button|backtocalc|`wBack to calc page|
add_quick_exit|
]]

loginp = [[
set_default_color|`7
add_label_with_icon|big|`2[`#Bahi Proxy`2]`` Information Update|left|11816|
add_spacer|small|
add_smalltext|Jangan Di Jual Ya.|
add_smalltext|Script Mode Bahi.|
add_spacer|big|
add_label_with_icon|big|`9Updated Logs|left|32|
add_label_with_icon|small|- Added `6Auto Change `1Diamond Lock|left|482|
add_label_with_icon|small|- Added `6/x /y |left|482|

add_spacer|big|
add_url_button||`bTiktok Saya|NOFLAGS|tiktok.com/@bahigti|Anda Ingin Pergi Ke
Tiktok?|0|0|
add_spacer|small|
end_dialog|loginpend|Close||
add_quick_exit|
]]

itemInfo = {}
data = {}

ftrash = false
fdrop = false
pull = false
kick = false
ban = false
Tax = 0

function DropItem(id, count)


sendPacket(2,"action|drop\n|itemID|"..id.."\n")
sendPacket(2, "action|dialog_return\ndialog_name|drop_item\nitemID|"..id.."|\
ncount|"..count.."\n")
end

function TrashItem(idtem, brp)


sendPacket(2,"action|trash\nitemID|"..idtem.."\n")
sendPacket(2,"action|dialog_return\ndialog_name|trash_item\nitemID|"..idtem.."|\
ncount|"..brp.."\n")
end

function take(id)
x = 0
y = 0
sendPacket(2,"action|dialog_return\ndialog_name|extractor\ntilex|"..x.."|\
ntiley|"..y.."|\nstartIndex|0|\nextractorID|6140|\nbuttonClicked|
extractOnceObj_"..tostring(id))
end

function getItemObject()
for _,item in pairs(getWorldObject()) do
table.insert(itemInfo,"\nadd_label_with_icon_button|small|`7Name :
"..getItemByID(item.id).name.." `7Amount : [`5"..item.amount.."``]|
left|"..item.id.."|"..item.oid.."|\n")
end
end

function checkitm(id)
for _, inv in pairs(getInventory()) do
if inv.id == id then
return inv.amount
end
end
return 0
end

function Data()
Amount = 0
for _, list in pairs(data) do
Name = ""
if list.id == 7188 then
Name = "Blue Gem Lock"
Amount = Amount + list.count * 10000
elseif list.id == 1796 then
Name = "Diamond Lock"
Amount = Amount + list.count * 100
elseif list.id == 242 then
Name = "World Lock"
Amount = Amount + list.count
end
tol("Collected `9"..list.count.." "..Name)
end
data = {}
end

function colect()
tiles = {
{PX1, PY1},
{PX2, PY2}
}
for _, obj in pairs(getWorldObject()) do
for _, tiles in pairs(tiles) do
if (obj.pos.x)//32 == tiles[1] and (obj.pos.y)//32 == tiles[2] then
sendPacketRaw(false, {type=11,value=obj.oid,x=obj.pos.x,y=obj.pos.y})
table.insert(data, {id=obj.id, count=obj.amount})
end
end
end
Data()
data = {}
end

function wear(id)
pkt = {}
pkt.type = 10
pkt.value = id
sendPacketRaw(false, pkt)
end

function GetName(id)
for _, name in pairs(PlayerList) do
if name.netid == id then
return name.name
end
end
end

function multiboxChecker(boolean)
local hasil = ""
if boolean then
hasil = "1"
else
hasil = "0"
end
return hasil
end

function qemefunc(number)
if number >= 10 then
hasil = string.sub(number, -1)
else
hasil = number
end
return hasil
end

function getGame(num)
if reme and not qeme then
return "`2R : `1"..remefunc(tonumber(num))..""
elseif not reme and qeme then
return "`2Q : `1"..qemefunc(tonumber(num))..""
elseif reme and qeme then
return "`2R : "..remefunc(num).." and Q : "..qemefunc(num).."]"
else
return ""
end
end

function remefunc(number)
if number == 19 or number == 28 or number == 0 then
hasil = 0
else
num1 = math.floor(number / 10)
num2 = number % 10
hasil = string.sub(tostring(num1 + num2), -1)
end
return hasil
end

function filterspin(id)
filterLog = {}
for _,log in pairs(LogSpin) do
if log.netid == id then
table.insert(filterLog,"\nadd_label_with_icon|small|"..log.spin.."|
left|758|\n")
end
end
SendVariant({
[0] = "OnDialogRequest",
[1] = "add_label_with_icon|big|`7"..GetName(id).." Spin: |left|32|\
nadd_spacer|small|\n"..table.concat(filterLog).."\nadd_quick_exit|||\nend_dialog|
spinfilter|Close||",
},-1,200)
end

function logspin()
dialogSpin = {}
for _,spin in pairs(LogSpin) do
table.insert(dialogSpin,spin.spin)
end
SendVariant({
[0] = "OnDialogRequest",
[1] = "add_label_with_icon|big|Log Spin|left|758|\nadd_spacer|small|\
nadd_smalltext|Click The Wheel Button For Filter Player You Need|\
n"..table.concat(dialogSpin).."\nadd_quick_exit|||\nend_dialog|world_spin|Close||",
},-1,200)
end

function AddOrUpdatePlayer(name, netid)


if PlayerList[netid] == nil or PlayerList[netid].name ~= name then
PlayerList[netid] = {name = name, netid = netid}
end
end

function ovlay(str)
var = {}
var[0] = "OnTextOverlay"
var[1] = "[`#Bahi Proxy``] " .. str
sendVariant(var)
end

function tol(txt)
logToConsole("`o[`#Bahi Proxy`o] `6"..txt)
end

AddHook("onTextPacket", "packet",
function(type,packet)
-- checkboxs
if packet:find("realfakespin|1") then
rfspin = true
tol("`2REAL``-`4FAKE`` spin detection `2enabled.")
else if packet:find("realfakespin|0") then
rfspin = false
end
end
if packet:find("gamereme|1") then
reme = true
tol("Reme checker `2enabled")
else if packet:find("gamereme|0") then
reme = false
end
end
if packet:find("gameqeme|1") then
qeme = true
tol("Qeme checker `2enabled")
else if packet:find("gameqeme|0") then
qeme = false
end
end
if packet:find("dialog_name|world_spin\nbuttonClicked|(%d+)") then
netid = packet:match("buttonClicked|(%d+)")
filterspin(tonumber(netid))
end

if packet:find("buttonClicked|proxylogspin") then
logspin()
return true
end

if packet:find("buttonClicked|proxywrenchm") then
realfakes = multiboxChecker(rfspin)
remeg = multiboxChecker(reme)
qemeg = multiboxChecker(qeme)

SendVariant({
[0] = "OnDialogRequest",
[1] = dext(),
}, -1, 100)
end

-- /slog command
if packet:find("/slog") then
logspin()
return true
end

if packet:find("/magnet") then
getItemObject()
var = {}
var[0] = "OnDialogRequest"
var[1] = string.format("add_label_with_icon|big|Proxy By QoD Proxy |left|
6140|\nadd_spacer|small|\nadd_smalltext|`7To Extract U Must Click The Item `4Note
Before Take u Must Have Extract O Snap|\n"..table.concat(itemInfo).."\
nadd_quick_exit|||\nend_dialog|scanbilek|Thanks!||")
sendVariant(var,-1,100)
end

if packet:find("dialog_name|scanbilek\nbuttonClicked|(%d+)") then
x=0
y=0
dasarleakers = packet:match("dialog_name|scanbilek\nbuttonClicked|(%d+)")
sendPacket(2,"action|dialog_return\ndialog_name|extractor\ntilex|"..x.."|\
ntiley|"..y.."|\nstartIndex|0|\nextractorID|6140|\nbuttonClicked|
extractOnceObj_"..dasarleakers)
ovlay("Cip Gw Sepuh World:SaveBahi")
end

if packet:find("action|friends") then
var = {}
var[0] = "OnDialogRequest"
var[1] = wrenchop
sendVariant (var);
logToConsole("Wrench Option")
return true
end

if packet:find("/proxy") then
var = {}
var[0] = "OnDialogRequest"
var[1] = proxy
sendVariant (var);
logToConsole("Fiture I Will Add")
return true
end

if packet:find("/dd (%d+)") or packet:find("/Dd (%d+)") then


txt = packet:match("action|input\n|text|/dd (%d+)")
DropItem(1796, txt)
tol("Succes Drop `0"..txt.." `2Diamond Lock")
return true
end

if packet:find("/tax (%d+)") or packet:find("/tax (%d+)") then


pler = packet:match("/tax (%d+)") or packet:match("/tax (%d+)")
Tax = ""..pler..""
ovlay("Tax : "..pler.."%")
return true
end

if packet:find("/wd (%d+)") or packet:find("/Wd (%d+)") then


txt = packet:match("action|input\n|text|/wd (%d+)")
DropItem(242, txt)
tol("Succes Drop `0"..txt.." `2World Lock")
return true
end

if packet:find("/bd (%d+)") or packet:find("/Bd (%d+)") then


txt = packet:match("action|input\n|text|/bd (%d+)")
DropItem(7188, txt)
tol("`2Succes Drop `0"..txt.." `2Blue Gem Lock")
return true
end
if packet:find("/wp (.+)") or packet:find("/Wp (.+)") then
namew = packet:match("/wp (.+)") or packet:match("/Wp (.+)")
ovlay("`#Warping To `6"..namew)
sendPacket(3, "action|join_request\n|name|"..namew.."\n|invitedWorld|0")
return true
end

if packet:find("/help") or packet:find("/Help") or packet:find("/Fitur") or


packet:find("/fitur") then
tol("`9/Proxy For Show Fiture\nMinimal Follow Tiktok Gw @bahigti")
return true
end

if packet:find("/pos1") or packet:find("/Pos1")then
PX1 = getLocal().pos.x//32
PY1 = getLocal().pos.y//32
ovlay("Succes Set ("..PX1..", "..PY1..")")
return true
end

if packet:find("/pos2") or packet:find("/Pos2") then


PX2 = getLocal().pos.x//32
PY2 = getLocal().pos.y//32
ovlay("Succes Set ("..PX2..", "..PY2..")")
return true
end

if packet:find("/bet (%d+)") or packet:find("/Bet (%d+)") then


TotalBet = packet:match("/bet (%d+)") or packet:match("/Bet (%d+)")
TotalBets = TotalBet * 2
Yah = math.floor(TotalBets * Tax / 100)
drop = TotalBets - Yah
ovlay("`9["..Tax.."%] Drop ["..drop.."]")
return true
end

if packet:find("/take") or packet:find("/Take") then


colect()
tax = math.floor(Amount * Tax / 100)
drop = Amount - tax
bets = Amount//2
tol("`9Tax : `"..Tax.."%")
tol("`9Total drop : `9"..drop)
tol("`9Succes Take")
ovlay("`9["..Tax.."%] Drop ["..drop.."]")
return true
end

if packet:find("/w1") or packet:find("/W1") then


bgl =math.floor(drop/10000)
drop = drop - bgl*10000
dl = math.floor(drop/100)
wl = drop % 100
sendPacketRaw(false, { type = 0, x = (PX1) * 32, y = (PY1) * 32, state = 48 })
if checkitm(242) < wl then
wear(1796)
end
if checkitm(1796) < dl then
wear(7188)
end
if bgl > 0 then
DropItem(7188, bgl)
end
if dl > 0 then
DropItem(1796, dl)
end
if wl > 0 then
DropItem(242, wl)
end
hasil = (bgl ~= 0 and bgl.." `eBlue Gem Lock`0" or "").." "..(dl ~= 0 and dl.."
`1Diamond Lock`0" or "").." "..(wl ~= 0 and wl.." `9World Lock`0" or "")
tol("`9Amount Lock : "..Amount)
tol("`9Tax : "..Tax.."%")
tol("`9Total drop : `0"..hasil.." `4Tax Reset")
return true
end

if packet:find("/w2") or packet:find("/W2")then
bgl =math.floor(drop/10000)
drop = drop - bgl*10000
dl = math.floor(drop/100)
wl = drop % 100
sendPacketRaw(false, { type = 0, x = (PX2) * 32, y = (PY2) * 32, state = 32 })
if checkitm(242) < wl then
wear(1796)
end
if checkitm(1796) < dl then
wear(7188)
end
if bgl > 0 then
DropItem(7188, bgl)
end
if dl > 0 then
DropItem(1796, dl)
end
if wl > 0 then
DropItem(242, wl)
end
hasil = (bgl ~= 0 and bgl.." `eBlue Gem Lock`0" or "").." "..(dl ~= 0 and dl.."
`1Diamond Lock`0" or "").." "..(wl ~= 0 and wl.." `9World Lock`0" or "")
tol("`9Amount Lock : "..Amount)
tol("`9Tax : "..Tax.."%")
tol("`9Total drop : `0"..hasil.." `4Tax Reset")
return true
end

if packet:find("/cd (%d+)") or packet:find("/Cd (%d+)") then


total = packet:match("/cd (%d+)") or packet:match("/Cd (%d+)")
logToConsole("`9Use Fitur : /cd")
bgl =math.floor(total/10000)
total = total - bgl*10000
dl = math.floor(total/100)
wl = total % 100
if checkitm(242) < wl then
wear(1796)
end
if checkitm(1796) < dl then
wear(7188)
end
if bgl > 0 then
DropItem(7188, bgl)
end
if dl > 0 then
DropItem(1796, dl)
end
if wl > 0 then
DropItem(242, wl)
end
hasil = (bgl ~= 0 and bgl.." `eBlue Gem Lock`0" or "").." "..(dl ~= 0 and dl.."
`1Diamond Lock`0" or "").." "..(wl ~= 0 and wl.." `9World Lock`0" or "")
tol("`9Total drop : `0"..hasil)
return true
end

if packet:find("/fd") or packet:find("/Fd") then


if fdrop == false then
fdrop = true
ftrash = false
ovlay("Fast Drop Enable")
else
if fdrop == true then
fdrop = false
ovlay("Fast Drop Disable")
return true
end
end
end

if packet:find("/ft") or packet:find("/Ft") then


if ftrash == false then
ftrash = true
fdrop = false
ovlay("Fast Trash Enable")
else
if ftrash == true then
ftrash = false
ovlay("Fast Trash Disable")
return true
end
end
end

if packet:find("/daw") then
DropItem(7188, checkitm(7188))
DropItem(1796, checkitm(1796))
DropItem(242, checkitm(242))
return true
end

if packet:find("action|dialog_return\ndialog_name|wh\nbuttonClicked|wpull") or
packet:find("/fpull") then
if pull == false then
pull = true
kick = false
ban = false
ovlay("Pull Mode Enable")
else
pull = false
kick = false
ban = false
ovlay("Pull Mode Disable")
return true
end
end
if packet:find("action|dialog_return\ndialog_name|wh\nbuttonClicked|wban") or
packet:find("/fkick") then
if ban == false then
ban = true
pull = false
kick = false
ovlay("Ban Mode Enable")
else
ban = false
pull = false
kick = false
ovlay("Ban Mode Disable")
return true
end
end
if packet:find("action|dialog_return\ndialog_name|wh\nbuttonClicked|wkick") or
packet:find("/fban") then
if kick == false then
kick = true
ban = false
pull = false
ovlay("Kick Mode Enable")
else
kick = false
ban = false
pull = false
ovlay("Kick Mode Disable")
return true
end
end

if packet:find("action|dialog_return\ndialog_name|wh\nbuttonClicked|wdef") or
packet:find("/wn") then
kick = false
ban = false
pull = false
ovlay("Default")
return false
end
-- Execute Wrench Mode
if packet:find("action|wrench\n|netid|(%d+)") then
id = packet:match("action|wrench\n|netid|(%d+)")
if pull == true then
sendPacket(2,"action|wrench\n|netid|"..id)
sendPacket(2,"action|dialog_return\ndialog_name|popup\nnetID|"..id.."|\
nnetID|"..id.."\nbuttonClicked|pull")
for _, player in pairs(GetPlayerlist()) do
if player.netid == tonumber(id) then
ovlay("Succesfully `5Pulls `0"..player.name.."..")
end
end
return true
end
end
if packet:find("action|wrench\n|netid|(%d+)") then
id = packet:match("action|wrench\n|netid|(%d+)")
if kick == true then
sendPacket(2,"action|wrench\n|netid|"..id)
sendPacket(2,"action|dialog_return\ndialog_name|popup\nnetID|"..id.."|\
nnetID|"..id.."\nbuttonClicked|kick")
for _, player in pairs(GetPlayerlist()) do
if player.netid == tonumber(id) then
ovlay("Succesfully `4Kicks `0"..player.name.."..")
end
end
return true
end
end
if packet:find("action|wrench\n|netid|(%d+)") then
id = packet:match("action|wrench\n|netid|(%d+)")
if ban == true then
sendPacket(2,"action|wrench\n|netid|"..id)
sendPacket(2,"action|dialog_return\ndialog_name|popup\nnetID|"..id.."|\
nnetID|"..id.."\nbuttonClicked|worldban")
for _, player in pairs(GetPlayerlist()) do
if player.netid == tonumber(id) then
ovlay("Succesfully `4World Ban `0"..player.name.."..")
end
end
return true
end
end

if packet:find("/t") then
if command.var.taptp == true then
command.var.taptp = false
tol("Tap tp `4Hidup.")
else
command.var.taptp = true
tol("Tap tp `2Mati.")
end
return true
end

-- calculator menu
-- calculator helped by bahi
if packet:find("dialog_name|calculatorpage") then
firstnum = tonumber(packet:match("fnum|(%d+)"))
op = tostring(packet:match("opr|(%w+)"))
secondnum = tonumber(packet:match("snum|(%d+)"))

if op == "sum" then
sendVariant({
[0] = "OnDialogRequest",
[1] = sum,
},-1)
else if op == "sub" then
local sub = [[
add_label_with_icon|big|`9Calculator Result |big|5016|
add_spacer|small|
add_textbox|Result: `2]].. math.floor(firstnum - secondnum) ..[[||
add_spacer|big|
add_button|backtocalc|`wBack to calc page|
add_quick_exit|
]]
sendVariant({
[0] = "OnDialogRequest",
[1] = sub,
},-1)
else if op == "multi" then
multi = [[
add_label_with_icon|big|`9Calculator Result |big|5016|
add_spacer|small|
add_textbox|Result: `2]].. math.floor(firstnum * secondnum) ..[[||
add_spacer|big|
add_button|backtocalc|`wBack to calc page|
add_quick_exit|
]]
sendVariant({
[0] = "OnDialogRequest",
[1] = multi,
},-1)
else if op == "divide" then
divide = [[
add_label_with_icon|big|`9Calculator Result |big|5016|
add_spacer|small|
add_textbox|Result: `2]].. math.floor(firstnum / secondnum) ..[[||
add_spacer|big|
add_button|backtocalc|`wBack to calc page|
add_quick_exit|
]]
sendVariant({
[0] = "OnDialogRequest",
[1] = divide,
},-1)
else
errorpage = [[
add_label_with_icon|big|`9Calculator Result |left|5016|
add_spacer|small|
add_textbox|`4[ERROR]||
add_spacer|big|
add_button|backtocalc|`wBack to calc page|
add_quick_exit|
]]
sendVariant({
[0] = "OnDialogRequest",
[1] = errorpage,
},-1)
end
end
end
end
return true
end
if packet:find("buttonClicked|backtocalc") then
sendVariant({
[0] = "OnDialogRequest",
[1] = calcu(),
},-1)
return true
end
if packet:find("/cal") then
sendVariant({
[0] = "OnDialogRequest",
[1] = calcu(),
},-1,100)
return true
end

if packet:find("/rr") then
namew = GetWorld().name
sendPacket(3,"action|quit_to_exit")
sendPacket(3, "action|join_request\n|name|"..namew.."\n|invitedWorld|0")
ovlay("Try To Relog")
return true
end

function tileShit()
local res = {}
for _, a in pairs(getTile()) do
if (res[a.fg] == nil) then
res[a.fg] = { id = a.fg, count = 1 }
else
res[a.fg].count = res[a.fg].count + 1
end
if (res[a.bg] == nil) then
res[a.bg] = { id = a.bg, count = 1 }
else
res[a.bg].count = res[a.bg].count + 1
end
end
table.remove(res, 0)
local dwi = ""
for _, b in pairs(res) do
dwi = dwi .. b.id .. "," .. b.count .. ","
end
return dwi
end

function objectShit()
local res = {}
for _, a in pairs(getWorldObject()) do
if (res[a.id] == nil) then
res[a.id] = { id = a.id, count = a.amount }
else
res[a.id].count = res[a.id].count + a.amount
end
end
local dwi = ""
for _, b in pairs(res) do
dwi = dwi .. b.id .. "," .. b.count .. ","
end
return dwi
end
local dialog = {
menu = [[set_default_color|`o
add_label_with_icon|big|``Growscan|left|6016|
add_spacer|small|
add_textbox|`wGrowscan|left
add_button|tileDwi|`bBlock|noflags|0|0|
add_button|objectDwi|`bitems|noflags|0|0|
add_spacer|small|
end_dialog|statsblock|Cancel||]],
list = function(itm)
return [[set_default_color|`o
add_label_with_icon|big|`bGrowscan|left|6016|
add_spacer|small|
add_label_with_icon_button_list|small|`w%s : %s|left|findTile_|
itemIDseed2tree_itemAmount|]] .. itm .. [[
add_spacer|small|
add_spacer|small|
add_button|BackToMenu|Back|noflags|0|0|
embed_data|DialogDwi|0
end_dialog|statsblock|Cancel||
]]
end,
}

function growscan(types,str)
if str:find("/gs") or str:find("BackToMenu") then
sendVariant({[0] = "OnDialogRequest", [1]= dialog.menu}, -1, 100)
elseif str:find("tileDwi") then
sendVariant({[0] = "OnDialogRequest", [1]= dialog.list(tileShit())}, -1,
100)
elseif str:find("objectDwi") then
sendVariant({[0] = "OnDialogRequest", [1]= dialog.list(objectShit())}, -1,
100)
elseif str:find("findObject") or str:find("findTile") then
logToConsole("sadly you cannot that")
else
return false
end
return true
end

AddHook("OnTextPacket","gs",growscan)

function cc(type, pkt)


if pkt:find("/x (%d+)/y (%d+)") then
x = pkt:match("/x (%d+)")
y = pkt:match("/y (%d+)")
logToConsole("`9[`2Bahi Proxy`9]`````` POSITION SET TO X : `#"..x.."`` , Y :
`#"..y)
sleep(1)
FindPath(x, y)
return true
end
end

AddHook("OnTextPacket","lala",cc)
return false
end)

function on_touchpacket(x, y)
if command.var.taptp == true then
tx = getLocal().pos.x // 32
ty = getLocal().pos.y // 32
SleepS(1)
ovlay("`9Path Finder: `2[x: "..tx.." & y: "..ty.."]")
FindPath(x // 32, y // 32)
command.var.taptp = false
logToConsole("``[`#Bahi Proxy``] `6Tap tp `4Mati.")
--[[
ercon
SleepS(1)
command.var.taptp = true
]]
end
end

AddHook("onTouch", "on_touch", on_touchpacket)


AddHook("OnVarlist", "variants", function(var)
varcontent = var[1]
if var[0] == "OnConsoleMessage" then
tol(varcontent)
return true
end

if rfspin == true then


if var[0] == "OnTalkBubble" then
if var[2]:find("spun the wheel") then
if var[2]:find("OID:") then
SendVariant({
[0] = "OnTalkBubble",
[1] = var[1],
[2] = "`4FAKE`` " .. var[2]:match("player_chat=(.+)"),
[3] = 0,
}, -1)
table.insert(LogSpin, {
spin = "\nadd_label_with_icon_button|small|`4FAKE`` " .. var[2]
.. "|left|758|" .. var[1] .. "|\n",
netid = var[1]
,spins = "`4FAKE`` "..var[2]})
return true
else
local num = string.gsub(string.gsub(var[2]:match("and got (.+)"),
"!%]", ""), "`", "")
local onlynumber = string.sub(num, 2)
local clearspace = string.gsub(onlynumber, " ", "")
local h = string.gsub(string.gsub(clearspace, "!7", ""), "]", "")
if var[1] ~= GetLocal().netid then
table.insert(PlayerList, {name = var[2]:match("`7%[``(.+) spun
the"), netid = var[1]})
else
AddOrUpdatePlayer(GetLocal().name:gsub("%[(.+)%]", ""), var[1])
end
local name = {}
name[0] = "OnNameChanged"
name[1] = GetName(var[1]) .. "`7[`4" .. h .. "``]"
SendVariant(name, tonumber(var[1]))
if var[1] ~= GetLocal().netid then
SendVariant({
[0] = "OnTalkBubble",
[1] = var[1],
[2] = "`7 `2REAL`` " .. var[2] .. getGame(tonumber(h)),
[3] = 0,
}, -1)
else
SendVariant({
[0] = "OnTalkBubble",
[1] = GetLocal().netid,
[2] = "`2REAL``[``" .. GetLocal().name:gsub("%[(.-)%]",
""):gsub("`.","") .. "`7 spun the wheel and got " .. var[2]:match("and got (.+)%!
`7]") .. "!``]" .. getGame(tonumber(h)),
}, -1)
end
table.insert(LogSpin, {spin = "\nadd_label_with_icon_button|small|
`2REAL`` " .. var[2] .. "|left|758|" .. var[1] .. "|\n", netid = var[1],spins =
var[2]})
return true
end
end
return false
end
end

return false
end)

AddHook("onVarlist", "var",
function(var)

if var[0] == "OnDialogRequest" then


if fdrop == true then
if var[1]:find("drop") then
tlepe = var[1]:match("add_text_input|count||(%d+)")
idtem = var[1]:match("embed_data|itemID|(%d+)")
DropItem(idtem, tlepe)
return true
end
end
end

if var[0] == "OnDialogRequest" then


if ftrash == true then
if var[1]:find("Trash") then
Putih = var[1]:match("you have (%d+)")
Hitam = var[1]:match("embed_data|itemID|(%d+)")
TrashItem(Hitam, Putih)
return true
end
end
end

if var[0] == "OnConsoleMessage" then


if var[1]:match("Collected `w(%d+) World Lock``") then
wear(242)
return true
end
end

if var[0] == "OnConsoleMessage" then


if var[1]:find("CT:") then
if var[1]:find("from") then
sj = var[1]:match("from(.+)")
logToConsole("CP:0_PL:4_OID:_CT:[SB]_ `0[ `#QoD `0]`#"..sj)
return true
end
end
end

if var[0] == "OnDialogRequest" then


if pull == true then
if var[1]:find("pull") or var[1]:find("kick") or var[1]:find("worldban")
then
return true
end
end
end

if var[0] == "OnDialogRequest" then


if kick == true then
if var[1]:find("pull") or var[1]:find("kick") or var[1]:find("worldban")
then
return true
end
end
end

if var[0] == "OnDialogRequest" then


if ban == true then
if var[1]:find("pull") or var[1]:find("kick") or var[1]:find("worldban")
then
return true
end
end
end

if var[0] == "OnDialogRequest" then


if var[1]:find("drop") then
return true
end
end

return false
end)

sendVariant({
[0] = "OnDialogRequest",
[1] = loginp,
}, -1, 3500)
sendVariant({
[0] = "OnAddNotification",
[1] = "game/moon.rttex",
[2] = "`2Loading...",
[3] = "audio/hub_open.wav",
[4] = {0},
}, -1)

sendPacket(2,"action|input\n|text|:)")
SleepS(5)
ovlay("Jangan Di Jual Gays :)")
SleepS(5)
ovlay("Donate :) World : SaveBahi")

You might also like