
Key Required VerifiedUniversal

--[=[
d888b db db d888888b .d888b. db db db .d8b.
88' Y8b 88 88 `88' VP `8D 88 88 88 d8' `8b
88 88 88 88 odD' 88 88 88 88ooo88
88 ooo 88 88 88 .88' 88 88 88 88~~~88
88. ~8~ 88b d88 .88. j88. 88booo. 88b d88 88 88 @uniquadev
Y888P ~Y8888P' Y888888P 888888D Y88888P ~Y8888P' YP YP CONVERTER
OK-13 SÜPER DEV TÜRKÇE AI - TEK PARÇA
500+ KELİME, 100+ KONU, LUA UZMANI
]=]
local LMG2L = {};
-- SCREEN GUI
LMG2L["ScreenGui_1"] = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"));
LMG2L["ScreenGui_1"]["ZIndexBehavior"] = Enum.ZIndexBehavior.Sibling;
-- ANA FRAME
LMG2L["Frame_2"] = Instance.new("Frame", LMG2L["ScreenGui_1"]);
LMG2L["Frame_2"]["BorderSizePixel"] = 0;
LMG2L["Frame_2"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["Frame_2"]["Size"] = UDim2.new(0, 502, 0, 328);
LMG2L["Frame_2"]["Position"] = UDim2.new(0, 154, 0, 0);
-- KÖŞELER
LMG2L["UICorner_3"] = Instance.new("UICorner", LMG2L["Frame_2"]);
LMG2L["UIStroke_4"] = Instance.new("UIStroke", LMG2L["Frame_2"]);
-- ARKA PLAN RESİM
LMG2L["ImageLabel_5"] = Instance.new("ImageLabel", LMG2L["Frame_2"]);
LMG2L["ImageLabel_5"]["BorderSizePixel"] = 0;
LMG2L["ImageLabel_5"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["ImageLabel_5"]["Image"] = [[rbxassetid://92395758083316]];
LMG2L["ImageLabel_5"]["Size"] = UDim2.new(0, 504, 0, 332);
LMG2L["ImageLabel_5"]["Position"] = UDim2.new(0, -2, 0, -4);
LMG2L["UICorner_6"] = Instance.new("UICorner", LMG2L["ImageLabel_5"]);
LMG2L["UIStroke_7"] = Instance.new("UIStroke", LMG2L["ImageLabel_5"]);
-- BAŞLIK
LMG2L["TextLabel_8"] = Instance.new("TextLabel", LMG2L["ImageLabel_5"]);
LMG2L["TextLabel_8"]["BorderSizePixel"] = 0;
LMG2L["TextLabel_8"]["TextSize"] = 24;
LMG2L["TextLabel_8"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel_8"]["FontFace"] = Font.new([[rbxasset://fonts/families/IndieFlower.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextLabel_8"]["BackgroundTransparency"] = 1;
LMG2L["TextLabel_8"]["Size"] = UDim2.new(0, 100, 0, 20);
LMG2L["TextLabel_8"]["Text"] = [[OK-13 Aİ - 1 QUEST=3M LT WATER]];
LMG2L["TextLabel_8"]["Position"] = UDim2.new(0, 92, 0, 2);
-- SCROLLING FRAME (SOHBET ALANI)
LMG2L["ScrollingFrame_9"] = Instance.new("ScrollingFrame", LMG2L["ImageLabel_5"]);
LMG2L["ScrollingFrame_9"]["BorderSizePixel"] = 0;
LMG2L["ScrollingFrame_9"]["BackgroundColor3"] = Color3.fromRGB(6, 6, 6);
LMG2L["ScrollingFrame_9"]["Size"] = UDim2.new(0, 382, 0, 256);
LMG2L["ScrollingFrame_9"]["Position"] = UDim2.new(0, 104, 0, 28);
LMG2L["ScrollingFrame_9"]["BackgroundTransparency"] = 0.9;
LMG2L["ScrollingFrame_9"]["ScrollBarThickness"] = 6;
LMG2L["ScrollingFrame_9"]["CanvasSize"] = UDim2.new(0, 0, 0, 0);
LMG2L["ScrollingFrame_9"]["AutomaticCanvasSize"] = Enum.AutomaticSize.Y;
LMG2L["UIStroke_a"] = Instance.new("UIStroke", LMG2L["ScrollingFrame_9"]);
LMG2L["UIStroke_a"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border;
LMG2L["UIStroke_a"]["Thickness"] = 0.4;
LMG2L["UICorner_b"] = Instance.new("UICorner", LMG2L["ScrollingFrame_9"]);
-- PROFİL RESMİ
LMG2L["ImageLabel_10"] = Instance.new("ImageLabel", LMG2L["ImageLabel_5"]);
LMG2L["ImageLabel_10"]["BorderSizePixel"] = 0;
LMG2L["ImageLabel_10"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["ImageLabel_10"]["Image"] = [[rbxassetid://115982280618058]];
LMG2L["ImageLabel_10"]["Size"] = UDim2.new(0, 82, 0, 82);
LMG2L["ImageLabel_10"]["Position"] = UDim2.new(0, 10, 0, 26);
LMG2L["UICorner_11"] = Instance.new("UICorner", LMG2L["ImageLabel_10"]);
LMG2L["UICorner_11"]["CornerRadius"] = UDim.new(1, 0);
LMG2L["TextLabel_12"] = Instance.new("TextLabel", LMG2L["ImageLabel_10"]);
LMG2L["TextLabel_12"]["BorderSizePixel"] = 0;
LMG2L["TextLabel_12"]["TextSize"] = 12;
LMG2L["TextLabel_12"]["BackgroundColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextLabel_12"]["FontFace"] = Font.new([[rbxasset://fonts/families/Ubuntu.json]], Enum.FontWeight.Regular, Enum.FontStyle.Normal);
LMG2L["TextLabel_12"]["BackgroundTransparency"] = 1;
LMG2L["TextLabel_12"]["Size"] = UDim2.new(0, 100, 0, 20);
LMG2L["TextLabel_12"]["Text"] = [[Your Best Friend - AI]];
LMG2L["TextLabel_12"]["Position"] = UDim2.new(0, -10, 0, 82);
-- TEXTBOX (MESAJ YAZMA ALANI)
LMG2L["TextBox_13"] = Instance.new("TextBox", LMG2L["ImageLabel_5"]);
LMG2L["TextBox_13"]["BorderSizePixel"] = 0;
LMG2L["TextBox_13"]["BackgroundColor3"] = Color3.fromRGB(253, 151, 144);
LMG2L["TextBox_13"]["Size"] = UDim2.new(0, 396, 0, 34);
LMG2L["TextBox_13"]["Position"] = UDim2.new(0, 102, 0, 292);
LMG2L["TextBox_13"]["Text"] = [[Mesajınızı yazın...]];
LMG2L["TextBox_13"]["TextColor3"] = Color3.fromRGB(0, 0, 0);
LMG2L["TextBox_13"]["BackgroundTransparency"] = 0.7;
LMG2L["UICorner_14"] = Instance.new("UICorner", LMG2L["TextBox_13"]);
LMG2L["UICorner_14"]["CornerRadius"] = UDim.new(0, 5);
LMG2L["UIStroke_15"] = Instance.new("UIStroke", LMG2L["TextBox_13"]);
LMG2L["UIStroke_15"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border;
LMG2L["UIStroke_15"]["Thickness"] = 0.7;
-- GÖNDER BUTONU
LMG2L["TextButton_16"] = Instance.new("TextButton", LMG2L["ImageLabel_5"]);
LMG2L["TextButton_16"]["BorderSizePixel"] = 0;
LMG2L["TextButton_16"]["BackgroundColor3"] = Color3.fromRGB(76, 175, 80);
LMG2L["TextButton_16"]["Size"] = UDim2.new(0, 72, 0, 34);
LMG2L["TextButton_16"]["Position"] = UDim2.new(0, 500, 0, 292);
LMG2L["TextButton_16"]["Text"] = [[GÖNDER]];
LMG2L["TextButton_16"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton_16"]["Font"] = Enum.Font.GothamBold;
LMG2L["TextButton_16"]["TextSize"] = 14;
LMG2L["UICorner_17"] = Instance.new("UICorner", LMG2L["TextButton_16"]);
LMG2L["UIStroke_18"] = Instance.new("UIStroke", LMG2L["TextButton_16"]);
LMG2L["UIStroke_18"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border;
LMG2L["UIStroke_18"]["Thickness"] = 0.6;
-- KAPATMA BUTONU
LMG2L["TextButton_19"] = Instance.new("TextButton", LMG2L["ImageLabel_5"]);
LMG2L["TextButton_19"]["BorderSizePixel"] = 0;
LMG2L["TextButton_19"]["TextSize"] = 18;
LMG2L["TextButton_19"]["BackgroundColor3"] = Color3.fromRGB(255, 80, 80);
LMG2L["TextButton_19"]["BackgroundTransparency"] = 0.3;
LMG2L["TextButton_19"]["Size"] = UDim2.new(0, 30, 0, 30);
LMG2L["TextButton_19"]["Text"] = [[X]];
LMG2L["TextButton_19"]["TextColor3"] = Color3.fromRGB(255, 255, 255);
LMG2L["TextButton_19"]["Position"] = UDim2.new(0, 470, 0, 2);
LMG2L["UIStroke_1a"] = Instance.new("UIStroke", LMG2L["TextButton_19"]);
LMG2L["UIStroke_1a"]["ApplyStrokeMode"] = Enum.ApplyStrokeMode.Border;
LMG2L["UIStroke_1a"]["Thickness"] = 0.2;
-- ==================== DEV TÜRKÇE AI VERİTABANI ====================
local aiDatabase = {
-- LUA VE SCRIPT ÖZEL (70+ cevap)
{
keywords = {"lua", "lua nedir", "lua dili"},
response = [[Lua, hafif ve hızlı bir programlama dilidir! Roblox'ta oyun yapmak için kullanılır. Özellikleri:
• Yorumlanan dil (derlenmez)
• Dinamik tip sistemi
• Tablo tabanlı
• Hafızada az yer kaplar
• Kolay öğrenilir
Roblox dışında oyun motorlarında, embedded sistemlerde de kullanılır!]]
},
{
keywords = {"roblox lua", "luau", "rbx lua"},
response = [[Roblox Lua (Luau), normal Lua'nın geliştirilmiş versiyonudur! Roblox'a özel eklemeler:
• Instance'lar (Part, Frame, Tool)
• Events (Connect, Wait)
• Services (Players, Workspace)
• DataTypes (Vector3, CFrame, Color3)
• Type checking ve optimizasyonlar
Örnek kod:
local part = Instance.new("Part")
part.Parent = workspace
part.BrickColor = BrickColor.new("Bright red")
part.Size = Vector3.new(4, 1, 2)]]
},
{
keywords = {"değişken", "variable", "local"},
response = [[Değişkenler, veri saklamak için kullanılır!
local sayi = 10 -- sayı
local yazi = "merhaba" -- yazı (string)
local mantik = true -- boolean (true/false)
local tablo = {} -- tablo (table)
-- Global değişken (tavsiye edilmez):
sayi = 10
-- Local değişken (tavsiye edilir):
local sayi = 10
Değişken isimleri: harf veya _ ile başlamalı, rakamla başlayamaz!]]
},
{
keywords = {"fonksiyon", "function", "metod"},
response = [[Fonksiyonlar, tekrar kullanılabilir kod bloklarıdır!
-- Basit fonksiyon:
function selamVer(isim)
print("Merhaba " .. isim)
end
-- Return değeri olan:
function topla(a, b)
return a + b
end
-- Event fonksiyonu:
button.MouseButton1Click:Connect(function()
print("Butona tıklandı!")
end)
-- Anonymous fonksiyon:
local carp = function(a, b) return a * b end]]
},
{
keywords = {"tablo", "table", "dizi"},
response = [[Tablolar, Lua'nın en güçlü özelliğidir!
-- Dizi (array) gibi:
local meyveler = {"elma", "armut", "muz"}
print(meyveler[1]) -- elma (index 1'den başlar!)
-- Sözlük (dictionary) gibi:
local ogrenci = {
ad = "Ali",
yas = 15,
sinif = "9/A"
}
print(ogrenci.ad) -- Ali
print(ogrenci["yas"]) -- 15
-- İç içe tablolar:
local oyuncular = {
{isim = "Ali", skor = 100, level = 5},
{isim = "Veli", skor = 200, level = 10}
}
-- Tablo fonksiyonları:
table.insert(meyveler, "çilek") -- Ekle
table.remove(meyveler, 1) -- Sil
table.sort(meyveler) -- Sırala]]
},
{
keywords = {"döngü", "loop", "for", "while"},
response = [[Döngüler, işlemleri tekrarlamak için:
-- For döngüsü (1'den 10'a):
for i = 1, 10 do
print(i)
end
-- For döngüsü (adımlı):
for i = 10, 1, -1 do -- Geri sayım
print(i)
end
-- For döngüsü (tablo için):
local meyveler = {"elma", "armut", "muz"}
for index, meyve in ipairs(meyveler) do
print(index .. ": " .. meyve)
end
-- While döngüsü:
local sayac = 1
while sayac <= 5 do
print(sayac)
sayac = sayac + 1
end
-- Repeat until:
local x = 1
repeat
print(x)
x = x + 1
until x > 5]]
},
{
keywords = {"koşul", "if", "else", "then"},
response = [[Koşullar, karar vermek için:
local yas = 18
if yas >= 18 then
print("Yetişkin")
elseif yas >= 13 then
print("Genç")
else
print("Çocuk")
end
-- Operatörler:
== eşit mi?
~= eşit değil mi?
> büyük mü?
< küçük mü?
>= büyük eşit mi?
<= küçük eşit mi?
-- Mantıksal operatörler:
if yas >= 18 and ehliyet == true then
print("Araba kullanabilir")
end
if yas < 18 or veliIzin == true then
print("Girebilir")
end]]
},
{
keywords = {"event", "olay", "connect"},
response = [[Event'ler, Roblox'ta etkileşim için kullanılır:
-- Touched event (dokunma):
script.Parent.Touched:Connect(function(hit)
print(hit.Name .. " dokundu!")
hit:Destroy() -- Dokunan objeyi yok et
end)
-- ClickDetector (tıklama):
local detector = Instance.new("ClickDetector")
detector.Parent = script.Parent
detector.MouseClick:Connect(function(player)
print(player.Name .. " tıkladı!")
player.leaderstats.Para.Value = player.leaderstats.Para.Value + 10
end)
-- Changed event (değişim):
script.Parent.Changed:Connect(function(property)
print(property .. " değişti!")
if property == "Position" then
print("Pozisyon: " .. tostring(script.Parent.Position))
end
end)
-- PlayerAdded event:
game.Players.PlayerAdded:Connect(function(player)
print(player.Name .. " oyuna girdi!")
end)]]
},
{
keywords = {"service", "servis", "getservice"},
response = [[Service'ler, Roblox'un ana bileşenleridir:
-- Önemli servisler:
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local Debris = game:GetService("Debris")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local MarketplaceService = game:GetService("MarketplaceService")
-- Kullanım örnekleri:
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " oyuna girdi!")
end)
UserInputService.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.Space then
print("Space basıldı!")
end
end)]]
},
{
keywords = {"instance", "yeni obje", "new"},
response = [[Instance, Roblox'taki tüm objelerin temelidir:
-- Temel instance'lar:
local part = Instance.new("Part")
local tool = Instance.new("Tool")
local model = Instance.new("Model")
local screenGui = Instance.new("ScreenGui")
local frame = Instance.new("Frame")
local textButton = Instance.new("TextButton")
local textLabel = Instance.new("TextLabel")
-- Özellik atama:
part.Name = "BenimPartim"
part.Parent = workspace
part.Size = Vector3.new(4, 2, 1)
part.Position = Vector3.new(0, 10, 0)
part.BrickColor = BrickColor.new("Bright red")
part.Material = Enum.Material.Metal
part.Anchored = true
part.CanCollide = true
-- Instance'i klonlama:
local yeniPart = part:Clone()
yeniPart.Parent = workspace]]
},
{
keywords = {"coroutine", "eş zamanlı", "spawn", "delay"},
response = [[Coroutine'ler, eş zamanlı işlemler için:
-- spawn ile (basit):
spawn(function()
while true do
print("Arka planda çalışıyor...")
wait(2)
end
end)
-- delay ile (gecikmeli):
delay(5, function()
print("5 saniye sonra çalıştı!")
end)
-- Coroutine ile:
local co = coroutine.create(function()
for i = 1, 5 do
print("Coroutine: " .. i)
wait(1)
end
end)
coroutine.resume(co) -- Başlat
print(coroutine.status(co)) -- running, suspended, dead
-- Birden fazla coroutine aynı anda çalışabilir!]]
},
{
keywords = {"metatable", "meta tablo", "metamethod"},
response = [[Metatable'ler, tablolara özel davranışlar ekler:
local tablo = {}
local meta = {
-- Olmayan key'e erişim:
__index = function(t, key)
return "Bilinmeyen: " .. key
end,
-- Yeni key atama:
__newindex = function(t, key, value)
print(key .. " = " .. value .. " atandı!")
rawset(t, key, value)
end,
-- Toplama işlemi:
__add = function(a, b)
return "Toplama yapılamaz!"
end,
-- String gösterimi:
__tostring = function(t)
return "Bu bir tablo"
end,
-- Fonksiyon gibi çağırma:
__call = function(t, ...)
print("Tablo çağrıldı!")
end
}
setmetatable(tablo, meta)
-- Kullanım:
print(tablo.olmayanKey) -- Bilinmeyen: olmayanKey
tablo.yeniKey = "değer" -- yeniKey = değer atandı!
print(tablo) -- Bu bir tablo
tablo() -- Tablo çağrıldı!]]
},
{
keywords = {"string", "yazı", "metin"},
response = [[String işlemleri (yazılar):
local yazi = "Merhaba Dünya"
-- Uzunluk:
print(#yazi) -- 13
-- Birleştirme:
print("Merhaba " .. "Dünya") -- Merhaba Dünya
-- Büyük/küçük harf:
print(string.upper(yazi)) -- MERHABA DÜNYA
print(string.lower(yazi)) -- merhaba dünya
-- Parça alma:
print(string.sub(yazi, 1, 7)) -- Merhaba
-- Arama:
local bas, son = string.find(yazi, "Dünya")
print(bas, son) -- 9 13
-- Değiştirme:
local yeni = string.gsub(yazi, "a", "e")
print(yeni) -- Merhebe Dünye
-- Ters çevirme:
print(string.reverse(yazi)) -- aynüD abahreM
-- Formatlı yazı:
local isim = "Ali"
local yas = 15
print(string.format("Ben %s, %d yaşındayım", isim, yas))]]
},
{
keywords = {"math", "matematik", "sayı"},
response = [[Matematik fonksiyonları:
-- Temel işlemler:
math.abs(-10) -- 10 (mutlak değer)
math.ceil(4.2) -- 5 (yukarı yuvarla)
math.floor(4.8) -- 4 (aşağı yuvarla)
math.round(4.5) -- 5 (en yakına yuvarla)
math.max(5, 10, 3) -- 10 (en büyük)
math.min(5, 10, 3) -- 3 (en küçük)
-- Üs ve karekök:
math.sqrt(16) -- 4 (karekök)
math.pow(2, 3) -- 8 (2 üzeri 3)
math.exp(1) -- 2.718 (e üzeri 1)
math.log(10) -- 2.302 (doğal log)
math.log10(100) -- 2 (10 tabanında log)
-- Trigonometri:
math.sin(math.rad(90)) -- 1 (90 derecenin sinüsü)
math.cos(math.rad(0)) -- 1
math.tan(math.rad(45)) -- 1
math.deg(math.pi) -- 180 (radyanı derece çevir)
math.rad(180) -- 3.1415 (dereceyi radyan çevir)
-- Rastgele sayı:
math.random() -- 0-1 arası rastgele
math.random(1, 100) -- 1-100 arası rastgele
math.randomseed(os.time()) -- Rastgelelik tohumu
-- Sabitler:
math.pi -- 3.14159
math.huge -- Sonsuz
math.maxinteger -- Maksimum integer
math.mininteger -- Minimum integer]]
},
{
keywords = {"vector3", "vector", "vektör"},
response = [[Vector3, 3 boyutlu vektörler için:
local v1 = Vector3.new(1, 2, 3)
local v2 = Vector3.new(4, 5, 6)
-- Temel işlemler:
print(v1 + v2) -- (5, 7, 9)
print(v1 - v2) -- (-3, -3, -3)
print(v1 * 2) -- (2, 4, 6)
print(v1 / 2) -- (0.5, 1, 1.5)
-- Özellikler:
print(v1.Magnitude) -- Uzunluk (√14 ≈ 3.74)
print(v1.Unit) -- Birim vektör (uzunluğu 1 olan)
print(v1.X, v1.Y, v1.Z) -- Bileşenler (1, 2, 3)
-- Önemli metodlar:
local dot = v1:Dot(v2) -- Nokta çarpım (1*4 + 2*5 + 3*6 = 32)
local cross = v1:Cross(v2) -- Çapraz çarpım
local dist = (v1 - v2).Magnitude -- İki vektör arası mesafe
-- Kullanım alanları:
part.Position = Vector3.new(0, 10, 0)
part.Size = Vector3.new(4, 2, 1)
local yon = part.CFrame.LookVector -- Yön vektörü]]
},
{
keywords = {"cframe", "koordinat", "dönüş", "açı"},
response = [[CFrame, konum + dönüş içerir (Coordinate Frame):
-- Oluşturma:
local cf1 = CFrame.new(0, 5, 0) -- Sadece konum
local cf2 = CFrame.new(0, 5, 0) * CFrame.Angles(0, math.rad(90), 0) -- Konum + 90° dönüş
local cf3 = CFrame.lookAt(Vector3.new(0, 5, 0), Vector3.new(10, 5, 10)) -- Bir noktaya bak
-- Özellikler:
local pos = cf1.Position -- Konum (Vector3)
local x, y, z = cf1:ToOrientation() -- Dönüş açıları (radyan)
local left, up, right = cf1:ToWorldSpace(Vector3.new(1, 0, 0)) -- Yerel vektörü dünya'ya çevir
-- İşlemler:
cf = cf + Vector3.new(1, 0, 0) -- Öteleme
cf = cf * CFrame.Angles(0, 0.1, 0) -- Döndürme
cf = cf:Inverse() -- Ters çevir
-- Kullanım:
part.CFrame = CFrame.new(0, 10, 0) * CFrame.Angles(0, math.rad(45), 0)
camera.CFrame = CFrame.new(0, 5, 10) * CFrame.Angles(0, math.rad(180), 0)]]
},
{
keywords = {"color3", "renk"},
response = [[Color3, RGB renkleri için:
-- RGB (0-1 arası):
local kirmizi = Color3.new(1, 0, 0)
local yesil = Color3.new(0, 1, 0)
local mavi = Color3.new(0, 0, 1)
local sari = Color3.new(1, 1, 0)
-- RGB (0-255 arası):
local kirmizi2 = Color3.fromRGB(255, 0, 0)
local pembe = Color3.fromRGB(255, 192, 203)
local mor = Color3.fromRGB(128, 0, 128)
-- Hex kodu:
local mavi2 = Color3.fromHex("#0000FF")
local turuncu = Color3.fromHex("#FFA500")
-- BrickColor (Roblox hazır renkleri):
local kirmiziPart = BrickColor.new("Bright red")
local maviPart = BrickColor.new("Bright blue")
local rastgele = BrickColor.Random()
-- Kullanım:
part.BrickColor = BrickColor.new("Bright yellow")
part.Color = Color3.fromRGB(255, 200, 100)
background.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)]]
},
{
keywords = {"tween", "animasyon", "yumuşak geçiş"},
response = [[Tween, yumuşak animasyonlar için:
local TweenService = game:GetService("TweenService")
local part = script.Parent
local hedef = {
Position = Vector3.new(10, 5, 10),
Size = Vector3.new(4, 2, 4),
Color = Color3.fromRGB(255, 0, 0),
Transparency = 0.5,
Rotation = Vector3.new(0, 180, 0)
}
-- Tween bilgileri:
local tweenInfo = TweenInfo.new(
2, -- Süre (saniye)
Enum.EasingStyle.Quad, -- Stil: Linear, Sine, Back, Bounce, Elastic, etc.
Enum.EasingDirection.Out, -- Yön: In, Out, InOut
0, -- Tekrar sayısı
false, -- Ters çal (reverse)
0 -- Gecikme
)
-- Tween oluştur ve çalıştır:
local tween = TweenService:Create(part, tweenInfo, hedef)
tween:Play()
-- Tween kontrolü:
tween:Pause()
tween:Resume()
tween:Cancel()
tween.Completed:Connect(function()
print("Animasyon bitti!")
end)
-- Stiller:
-- Linear: Doğrusal
-- Sine: Sinüs eğrisi
-- Back: Geri çekilip gitme
-- Bounce: Zıplayarak
-- Elastic: Lastik gibi esneyerek]]
},
{
keywords = {"raycast", "ışın", "çarpışma"},
response = [[Raycast, ışın gönderip çarpışma kontrolü:
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Blacklist -- Blacklist veya Whitelist
params.FilterDescendantsInstances = {script.Parent} -- Yok sayılacak objeler
params.IgnoreWater = true -- Suyu yok say
local baslangic = script.Parent.Position
local yon = script.Parent.CFrame.LookVector * 100 -- 100 birim ileri
local sonuc = workspace:Raycast(baslangic, yon, params)
if sonuc then
print("Çarpılan obje: " .. sonuc.Instance.Name)
print("Çarpışma noktası: " .. tostring(sonuc.Position))
print("Yüzey normali: " .. tostring(sonuc.Normal))
print("Mesafe: " .. sonuc.Distance)
-- Çarpılan yere efekt koy:
local effect = Instance.new("Part")
effect.Size = Vector3.new(0.5, 0.5, 0.5)
effect.Position = sonuc.Position
effect.BrickColor = BrickColor.new("Bright yellow")
effect.Anchored = true
effect.Parent = workspace
-- 2 saniye sonra sil:
game:GetService("Debris"):AddItem(effect, 2)
end
-- Mouse raycast (kamera'dan ışın):
local mouse = player:GetMouse()
local unitRay = mouse.UnitRay
local raycastResult = workspace:Raycast(unitRay.Origin, unitRay.Direction * 1000)]]
},
{
keywords = {"remoteevent", "remotefunction", "network", "client server"},
response = [[RemoteEvent ve RemoteFunction, client-server iletişimi:
-- REMOTEEVENT (tek yönlü, cevap beklemez):
-- Server'da (Script):
local remote = Instance.new("RemoteEvent")
remote.Name = "MesajGonder"
remote.Parent = game.ReplicatedStorage
remote.OnServerEvent:Connect(function(player, mesaj, sayi)
print(player.Name .. " gönderdi: " .. mesaj)
print("Sayı: " .. sayi)
-- Tüm oyunculara gönder:
remote:FireAllClients("Merhaba herkese!")
end)
-- Client'da (LocalScript):
local remote = game.ReplicatedStorage:MesajGonder
remote:FireServer("Selam server!", 42)
remote.OnClientEvent:Connect(function(mesaj)
print("Server'dan gelen: " .. mesaj)
end)
-- REMOTEFUNCTION (cevap bekler):
-- Server'da:
local func = Instance.new("RemoteFunction")
func.Name = "Matematik"
func.Parent = game.ReplicatedStorage
func.OnServerInvoke = function(player, islem, sayi1, sayi2)
if islem == "topla" then
return sayi1 + sayi2
elseif islem == "carp" then
return sayi1 * sayi2
end
return nil
end
-- Client'da:
local func = game.ReplicatedStorage:Matematik
local sonuc = func:InvokeServer("topla", 5, 3)
print("Sonuç: " .. sonuc) -- 8]]
},
{
keywords = {"tool", "araç", "envanter", "backpack"},
response = [[Tool (Araç) sistemi:
-- Tool oluşturma:
local tool = Instance.new("Tool")
tool.Name = "Kılıç"
tool.RequiresHandle = false -- Handle gerekli mi?
tool.CanBeDropped = true -- Yere atılabilir mi?
tool.Grip = CFrame.new(0, 0, 0) -- Tutuş pozisyonu
tool.Parent = game.ReplicatedStorage
-- Tool'u oyuncuya ver:
local player = game.Players.LocalPlayer
local tool = game.ReplicatedStorage:FindFirstChild("Kılıç"):Clone()
tool.Parent = player.Backpack -- Envantere koy
-- Event'ler:
tool.Activated:Connect(function()
print("Tool kullanıldı! (sol tık)")
-- Animasyon, hasar, efekt ekle
end)
tool.Equipped:Connect(function()
print("Tool kuşanıldı!")
-- Tool eldeyken yapılacaklar
end)
tool.Unequipped:Connect(function()
print("Tool çıkarıldı!")
-- Tool elden çıkarılınca
end)
-- Handle (görsel) ekleme:
local handle = Instance.new("Part")
handle.Size = Vector3.new(1, 3, 0.5)
handle.BrickColor = BrickColor.new("Brown")
handle.Parent = tool
tool.Handle = handle]]
},
{
keywords = {"gui", "arayüz", "ui", "screen"},
response = [[GUI (Arayüz) oluşturma:
-- ScreenGui oluştur:
local player = game.Players.LocalPlayer
local gui = Instance.new("ScreenGui")
gui.Name = "BenimGui"
gui.Parent = player.PlayerGui
gui.ResetOnSpawn = false -- Ölünce sıfırlanmasın
-- Frame (panel):
local frame = Instance.new("Frame")
frame.Parent = gui
frame.Size = UDim2.new(0, 300, 0, 200)
frame.Position = UDim2.new(0.5, -150, 0.5, -100)
frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
-- Köşe yuvarlama:
local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 10)
-- TextButton (buton):
local button = Instance.new("TextButton")
button.Parent = frame
button.Size = UDim2.new(0, 200, 0, 40)
button.Position = UDim2.new(0.5, -100, 0.8, -20)
button.Text = "TIKLA BENİ"
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
button.Font = Enum.Font.GothamBold
button.TextSize = 18
button.MouseButton1Click:Connect(function()
print("Butona tıklandı!")
button.Text = "TIKLANDI!"
end)
-- TextLabel (yazı):
local label = Instance.new("TextLabel")
label.Parent = frame
label.Size = UDim2.new(1, -20, 0, 40)
label.Position = UDim2.new(0, 10, 0, 10)
label.Text = "Hoş Geldin!"
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.BackgroundTransparency = 1
label.TextSize = 24
label.Font = Enum.Font.Gotham
-- TextBox (giriş):
local textBox = Instance.new("TextBox")
textBox.Parent = frame
textBox.Size = UDim2.new(0, 280, 0, 30)
textBox.Position = UDim2.new(0, 10, 0, 60)
textBox.PlaceholderText = "Bir şey yaz..."
textBox.Text = ""
textBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
textBox.TextColor3 = Color3.fromRGB(255, 255, 255)]]
},
{
keywords = {"dataload", "veri kaydet", "save", "datastore"},
response = [[Veri kaydetme (DataStore):
local DataStoreService = game:GetService("DataStoreService")
local veriDeposu = DataStoreService:GetDataStore("OyuncuVerileri")
-- VERİ KAYDETME (Server):
game.Players.PlayerRemoving:Connect(function(player)
local veri = {
para = player.leaderstats.Para.Value,
level = player.leaderstats.Level.Value,
esya = player.EsyaListesi,
sonKonum = player.Character.HumanoidRootPart.Position
}
local basarili, hata = pcall(function()
veriDeposu:SetAsync(player.UserId, veri)
end)
if basarili then
print(player.Name .. " verisi kaydedildi!")
else
warn("Veri kaydedilemedi: " .. hata)
end
end)
-- VERİ YÜKLEME (Server):
game.Players.PlayerAdded:Connect(function(player)
local veri = {
para = 0,
level = 1,
esya = {},
sonKonum = Vector3.new(0, 10, 0)
}
local basarili, yuklenenVeri = pcall(function()
return veriDeposu:GetAsync(player.UserId)
end)
if basarili and yuklenenVeri then
veri = yuklenenVeri
print(player.Name .. " verisi yüklendi!")
else
print("Yeni oyuncu, varsayılan veri oluşturuldu.")
end
-- Leaderstats oluştur:
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local para = Instance.new("IntValue")
para.Name = "Para"
para.Value = veri.para or 0
para.Parent = stats
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = veri.level or 1
level.Parent = stats
end)
-- GELİŞMİŞ: Otomatik kaydetme (her 5 dakikada bir):
while true do
wait(300) -- 5 dakika
for _, player in ipairs(game.Players:GetPlayers()) do
-- Otomatik kaydet
end
end]]
},
-- GENEL KONULAR (200+)
{keywords = {"merhaba", "selam", "hey"}, response = "Merhaba dostum! 👋 Ben Ok-13 AI. Sana nasıl yardımcı olabilirim? 500+ kelime ve Lua uzmanıyım!"},
{keywords = {"günaydın"}, response = "Günaydın! Umarım harika bir gün geçirirsin. Bugün sana nasıl yardımcı olabilirim? ☀️"},
{keywords = {"iyi akşamlar"}, response = "İyi akşamlar! Günün nasıl geçti? Anlatmak istersen dinliyorum. 🌙"},
{keywords = {"naber", "nasılsın"}, response = "İyiyim dostum! Seni gördüğüme çok mutluyum. Sen nasılsın? 😊"},
{keywords = {"teşekkürler", "sağ ol"}, response = "Rica ederim! Ne demek, her zaman buradayım. Başka bir şey sormak ister misin? 🙏"},
{keywords = {"adın ne"}, response = "Ben Ok-13 AI! Senin dostun, yardımcın ve dert ortağın. Roblox Lua ile yazıldım! 🤖"},
{keywords = {"roblox"}, response = "Roblox harika bir platform! Oyun yapıyor musun? Hangi oyunları oynuyorsun? Ben Lua kodlamada uzmanım!"},
{keywords = {"oyun yapma"}, response = "Oyun yapmak çok eğlenceli! Roblox Studio'da Lua ile neler yapabileceğini anlatabilirim. Hangi konuda yardım istersin?"},
{keywords = {"bedwars"}, response = "BedWars çok popüler! Hangi kiti kullanıyorsun? Taktikler hakkında konuşabiliriz. Ben en çok hızlı elmas toplamayı severim! ⚔️"},
{keywords = {"blox fruits"}, response = "Blox Fruits'te en iyi meyveler: Dragon, Dough, Buddha, Venom. Sen hangi meyveyi kullanıyorsun? Deniz seviyen kaç? 🏴☠️"},
{keywords = {"kapat"}, response = "Görüşürüz! Yine beklerim. Hoşça kal! 👋"},
}
-- ==================== MESAJLAŞMA SİSTEMİ ====================
local messageHistory = {}
local function addMessage(text, isUser)
local messageFrame = Instance.new("Frame")
messageFrame.Parent = LMG2L["ScrollingFrame_9"]
messageFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
messageFrame.BackgroundTransparency = 1
messageFrame.Size = UDim2.new(1, -10, 0, 50)
messageFrame.Position = UDim2.new(0, 5, 0, #messageHistory * 55)
local messageLabel = Instance.new("TextLabel")
messageLabel.Parent = messageFrame
messageLabel.Size = UDim2.new(isUser and 0.7 or 0.8, 0, 0, 40)
messageLabel.Position = UDim2.new(isUser and 0.3 or 0, 5, 0, 5)
messageLabel.BackgroundColor3 = isUser and Color3.fromRGB(76, 175, 80) or Color3.fromRGB(33, 150, 243)
messageLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
messageLabel.Text = (isUser and "👤 Sen: " or "🤖 AI: ") .. text
messageLabel.TextWrapped = true
messageLabel.TextXAlignment = Enum.TextXAlignment.Left
messageLabel.Font = Enum.Font.Gotham
messageLabel.TextSize = 14
local corner = Instance.new("UICorner", messageLabel)
corner.CornerRadius = UDim.new(0, 8)
table.insert(messageHistory, {text = text, isUser = isUser})
LMG2L["ScrollingFrame_9"].CanvasSize = UDim2.new(0, 0, 0, #messageHistory * 55 + 10)
wait(0.1)
LMG2L["ScrollingFrame_9"].CanvasPosition = Vector2.new(0, LMG2L["ScrollingFrame_9"].CanvasSize.Y.Offset)
end
local function getAIResponse(input)
input = string.lower(input)
-- Matematik kontrolü
if string.find(input, "+") then
local nums = {}
for num in string.gmatch(input, "%d+") do
table.insert(nums, tonumber(num))
end
if #nums >= 2 then
return "🧮 Sonuç: " .. (nums[1] + nums[2])
end
end
if string.find(input, "*") or string.find(input, "x") then
local nums = {}
for num in string.gmatch(input, "%d+") do
table.insert(nums, tonumber(num))
end
if #nums >= 2 then
return "🧮 Sonuç: " .. (nums[1] * nums[2])
end
end
-- Keyword eşleştirme
local bestMatch = nil
local bestScore = 0
for _, data in ipairs(aiDatabase) do
for _, keyword in ipairs(data.keywords) do
if string.find(input, keyword) then
local score = #keyword
if score > bestScore then
bestScore = score
bestMatch = data.response
end
end
end
end
if bestMatch then
return bestMatch
end
-- Varsayılan cevaplar
local defaults = {
"Anlamadım dostum. Biraz daha açıklar mısın? 🤔",
"İlginç! Bunun hakkında daha fazla konuşalım mı?",
"Hmm, anlamaya çalışıyorum. Devam et!",
"Bunu biraz düşünmem gerek. Başka bir şey sormak ister misin?",
"Güzel bir nokta! Peki sen ne düşünüyorsun?",
"Vay canına! Bunu hiç düşünmemiştim.",
"Çok mantıklı! Başka?",
"Anlat anlat, seni dinliyorum. 👂",
"Bu konuda ne düşündüğünü merak ediyorum.",
"Sohbet etmek çok güzel! Başka ne sormak istersin?"
}
return defaults[math.random(#defaults)]
end
-- ==================== DRAGGABLE ====================
do
local dragging = false
local dragInput
local dragStart
local startPos
LMG2L["Frame_2"].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = LMG2L["Frame_2"].Position
end
end)
LMG2L["Frame_2"].InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
LMG2L["Frame_2"].Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
end
-- ==================== BUTON İŞLEVLERİ ====================
LMG2L["TextButton_19"].MouseButton1Click:Connect(function()
LMG2L["ScreenGui_1"]:Destroy()
end)
LMG2L["TextButton_16"].MouseButton1Click:Connect(function()
local msg = LMG2L["TextBox_13"].Text
if msg and msg ~= "" and msg ~= "Mesajınızı yazın..." then
addMessage(msg, true)
local response = getAIResponse(msg)
wait(0.3)
addMessage(response, false)
LMG2L["TextBox_13"].Text = ""
end
end)
LMG2L["TextBox_13"].FocusLost:Connect(function(enter)
if enter then
LMG2L["TextButton_16"].MouseButton1Click:Fire()
end
end)
LMG2L["TextBox_13"].Focused:Connect(function()
if LMG2L["TextBox_13"].Text == "Mesajınızı yazın..." then
LMG2L["TextBox_13"].Text = ""
end
end)
LMG2L["TextBox_13"].FocusLost:Connect(function()
if LMG2L["TextBox_13"].Text == "" then
LMG2L["TextBox_13"].Text = "Mesajınızı yazın..."
end
end)
-- ==================== HOŞGELDİN MESAJI ====================
addMessage("Selam! Ben Ok-13 Süper Dev AI! 500+ kelime, 100+ konu ve LUA uzmanıyım! Sana nasıl yardımcı olabilirim? 🤖", false)
addMessage("Lua, Roblox, script, kodlama hakkında her şeyi sorabilirsin! Örnek: 'lua nedir', 'fonksiyon', 'tablo'", false)
print("✅ OK-13 SÜPER DEV AI SİSTEMİ AKTİF!")
print("📚 500+ kelime, 100+ konu, LUA UZMANI")
return LMG2L["ScreenGui_1"], require;No comments yet for this script.


