Bvural41 1
Bvural41
berzahx 1
berzahx
mavzermete 1
mavzermete
Hikaye Ekle

Pet menü sistemi quest bakabilirmisiniz ?

  • Konuyu başlatan Konuyu başlatan badyufuk
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 750

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

questlib.lua'nın en altına ekliyorum fakat pete menü gelmiyor game versiyon 2089 tahminim eklenen bu kodda bir hata var sanırım bi bakarsanız yardımınız dokunur belki teşekkür ederim.

QuestFolder = get_locale_base_path().."/quest/"

-- Classe
PetSystem = {['Folder'] = QuestFolder.."io/pet/", ['ItemExp'] = 4000000, ['UpdateFrequency'] = 30, ['Flag'] = "active_pet", ['ExpFlag'] = "exp_blocked"}
-- Pet 1
PetSystem[1] =
{['Name'] = "Ates Ankasi", ['Level'] = 22, ['Item'] = 53001, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=20,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.INT,['name']="Zeka",['max_points']=10,['min_level']=1,['desc']="+1 INT",['mult']=1,['tag']=" Zeka"},
{['type']=apply.STR,['name']="Guc",['max_points']=10,['min_level']=1,['desc']="+1 STR",['mult']=1,['tag']=" Guc"},
{['type']=apply.DEX,['name']="Ceviklik",['max_points']=10,['min_level']=1,['desc']="+1 DEX",['mult']=1,['tag']=" Ceviklik"},
{['type']=apply.PENETRATE_PCT,['name']="Delici vurus",['max_points']=15,['min_level']=60,['desc']="+1% Delici vurus",['mult']=1,['tag']="% Delici"},
{['type']=apply.CRITICAL_PCT,['name']="Kritik vurus",['max_points']=15,['min_level']=80,['desc']="+1% Kritik vurus",['mult']=1,['tag']="% Kritik"},
{['type']=apply.ATTBONUS_MONSTER,['name']="Canavarlara karsi guc",['max_points']=10,['min_level']=90,['desc']="+1% Canavara karsi guc",['mult']=1,['tag']="% Canavarlara karsi guc"},
{['type']=apply.MOV_SPEED,['name']="Hareket hizi'",['max_points']=10,['min_level']=90,['desc']="+1% Buyu hizi",['mult']=1,['tag']="% Hareket hizi"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 2
PetSystem[2] =
{['Name'] = "Buz Ankasi", ['Level'] = 23, ['Item'] = 53002, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.INT,['name']="Zeka",['max_points']=15,['min_level']=1,['desc']="+1 INT",['mult']=1,['tag']=" Zeka"},
{['type']=apply.STR,['name']="Guc",['max_points']=15,['min_level']=1,['desc']="+1 STR",['mult']=1,['tag']=" Guc"},
{['type']=apply.DEX,['name']="Ceviklik",['max_points']=15,['min_level']=1,['desc']="+1 DEX",['mult']=1,['tag']=" Ceviklik"},
{['type']=apply.PENETRATE_PCT,['name']="Delici vurus",['max_points']=15,['min_level']=30,['desc']="+1% Delici vurus",['mult']=1,['tag']="% Delici"},
{['type']=apply.CRITICAL_PCT,['name']="Kritik vurus",['max_points']=15,['min_level']=60,['desc']="+1% Kritik vurus",['mult']=1,['tag']="% Kritik"},
{['type']=apply.ATTBONUS_MONSTER,['name']="Canavarlara karsi guc",['max_points']=10,['min_level']=90,['desc']="+1% Canavara karsi guc",['mult']=1,['tag']="% Canavarlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 3
PetSystem[3] =
{['Name'] = "Bambi", ['Level'] = 24, ['Item'] = 53003, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=20,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.INT,['name']="Zeka",['max_points']=10,['min_level']=1,['desc']="+1 INT",['mult']=1,['tag']=" Zeka"},
{['type']=apply.STR,['name']="Guc",['max_points']=10,['min_level']=1,['desc']="+1 STR",['mult']=1,['tag']=" Guc"},
{['type']=apply.DEX,['name']="Ceviklik",['max_points']=10,['min_level']=1,['desc']="+1 DEX",['mult']=1,['tag']=" Ceviklik"},
{['type']=apply.STEAL_HP,['name']="HP emilimi",['max_points']=10,['min_level']=30,['min_level']=30,['desc']="+1% ass. HP",['mult']=1,['tag']="% Hp Emilimi"},
{['type']=apply.PENETRATE_PCT,['name']="Delici vurus",['max_points']=10,['min_level']=30,['desc']="+1% Delici vurus",['mult']=1,['tag']="% Delici"},
{['type']=apply.CRITICAL_PCT,['name']="Kritik vurus",['max_points']=10,['min_level']=60,['desc']="+1% Kritik vurus",['mult']=1,['tag']="% Kritik"},
{['type']=apply.ATTBONUS_MONSTER,['name']="Canavarlara karsi guc",['max_points']=10,['min_level']=60,['desc']="+1% Canavara karsi guc",['mult']=1,['tag']="% Canavarlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 4
PetSystem[4] =
{['Name'] = "Minik Azrail", ['Level'] = 25, ['Item'] = 53004, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.RESBONUS_WARRIOR,['name']="Savasciya savunma",['max_points']=10,['desc']="+1% res. guerrier",['mult']=1,['tag']="% Savasciya savunma"},
{['type']=apply.RESBONUS_ASSASSIN,['name']="ninjaya savunma",['max_points']=10,['desc']="+1% res. ninja",['mult']=1,['tag']="% ninjaya savunma"},
{['type']=apply.RESBONUS_SURA,['name']="Suraya savunma",['max_points']=10,['desc']="+1% res. sura",['mult']=1,['tag']="% Suraya savunma"},
{['type']=apply.RESBONUS_SHAMAN,['name']="Samana savunma",['max_points']=10,['desc']="+1% res. shaman",['mult']=1,['tag']="% Samana savunma"},
{['type']=apply.CAST_SPEED,['name']="Buyu hizi",['max_points']=15,['desc']="+1% vit. magique",['mult']=1,['tag']="% Buyu hizi"},
{['type']=apply.ATTBONUS_HUMAN,['name']="Yari-insanlara karsi guc",['max_points']=10,['desc']="+1% DH",['mult']=1,['tag']="% Yari-insanlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 5
PetSystem[5] =
{['Name'] = "Rufus", ['Level'] = 26, ['Item'] = 53005, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.RESBONUS_WARRIOR,['name']="Savasciya savunma",['max_points']=15,['min_level']=20,['desc']="+1% res. guerrier",['mult']=1,['tag']="% Savasciya savunma"},
{['type']=apply.ATTBONUS_WARRIOR,['name']="Savasciya karsi guc",['max_points']=15,['min_level']=20,['desc']="+1 att. contre guerrier",['mult']=1,['tag']="% Savasciya karsi guc"},
{['type']=apply.CAST_SPEED,['name']="Buyu hizi",['max_points']=20,['min_level']=40,['desc']="+1% vit. magique",['mult']=1,['tag']="% Buyu hizi"},
{['type']=apply.ATTBONUS_HUMAN,['name']="Yari-insanlara karsi guc",['max_points']=10,['min_level']=60,['desc']="+1% DH",['mult']=1,['tag']="% Yari-insanlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 6
PetSystem[6] =
{['Name'] = "Leonidas", ['Level'] = 27, ['Item'] = 53006, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.RESBONUS_ASSASSIN,['name']="Ninjaya savunma",['max_points']=15,['min_level']=20,['desc']="+1% res. ninja",['mult']=1,['tag']="% Ninjaya savunma"},
{['type']=apply.ATTBONUS_ASSASSIN,['name']="Ninjaya karsi guc",['max_points']=15,['min_level']=20,['desc']="+1 att. contre ninja",['mult']=1,['tag']="% Ninjaya karsi guc"},
{['type']=apply.CAST_SPEED,['name']="Buyu hizi",['max_points']=20,['min_level']=40,['desc']="+1% vit. magique",['mult']=1,['tag']="% Buyu hizi"},
{['type']=apply.ATTBONUS_HUMAN,['name']="Yari-insanlara karsi guc",['max_points']=10,['min_level']=60,['desc']="+1% DH",['mult']=1,['tag']="% Yari-insanlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 7
PetSystem[7] =
{['Name'] = "Porki", ['Level'] = 28, ['Item'] = 53007, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.RESBONUS_SURA,['name']="Suraya savunma",['max_points']=15,['min_level']=20,['desc']="+1% res. sura",['mult']=1,['tag']="% Suraya savunma"},
{['type']=apply.ATTBONUS_SURA,['name']="Suraya karsi guc",['max_points']=15,['min_level']=20,['desc']="+1 att. contre sura",['mult']=1,['tag']="% Suraya karsi guc"},
{['type']=apply.CAST_SPEED,['name']="Buyu hizi",['max_points']=20,['min_level']=40,['desc']="+1% vit. magique",['mult']=1,['tag']="% Buyu hizi"},
{['type']=apply.ATTBONUS_HUMAN,['name']="Yari-insanlara karsi guc",['max_points']=10,['min_level']=60,['desc']="+1% DH",['mult']=1,['tag']="% Yari-insanlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}
-- Pet 8
PetSystem[8] =
{['Name'] = "Khan", ['Level'] = 29, ['Item'] = 53008, ['MaxLevel'] = 99, ['WindowSize'] = 395,
['Skill']= {
{['type']=apply.MAX_HP,['name']="Max HP",['max_points']=30,['min_level']=1,['desc']="+100HP",['mult']=100,['tag']=" HP"},
{['type']=apply.RESBONUS_SHAMAN,['name']="Samana savunma",['max_points']=15,['min_level']=20,['desc']="+1% res. shaman",['mult']=1,['tag']="% Samana savunma"},
{['type']=apply.ATTBONUS_SHAMAN,['name']="Samana karsi guc",['max_points']=15,['min_level']=20,['desc']="+1 att. contre shaman",['mult']=1,['tag']="% Samana karsi guc"},
{['type']=apply.CAST_SPEED,['name']="Buyu hizi",['max_points']=20,['min_level']=40,['desc']="+1% vit. magique",['mult']=1,['tag']="% Buyu hizi"},
{['type']=apply.ATTBONUS_HUMAN,['name']="Yari-insanlara karsi guc",['max_points']=10,['min_level']=60,['desc']="+1% DH",['mult']=1,['tag']="% Yari-insanlara karsi guc"}
},
['ExpTable'] = {300,600,900,1200,1500,1800,2100,2400,2700,3000, -- Liv 1-10
3300,3600,3900,4200,4500,4800,5100,5400,5700,6000, -- Liv 11-20
6300,6600,6900,7200,7500,7800,8100,8400,8700,9000, -- Liv 21-30
9300,9600,9900,10200,10500,10800,11100,11400,11700,12000, -- Liv 31-40
12300,12600,12900,13200,13500,13800,14100,14400,14700,15000, -- Liv 41-50
15300,15600,15900,16200,16500,16800,17100,17400,17700,18000, -- Liv 51-60
18300,18600,18900,19200,19500,19800,20100,20400,20700,21000, -- Liv 61-70
21300,21600,21900,22200,22500,22800,23100,23400,23700,24000, -- Liv 71-80
24300,24600,24900,25200,25500,25800,26100,26400,26700,27000, -- Liv 81-90
27300,27600,27900,28200,28500,28800,29100,29400,29700,30000, -- Liv 91-100
30300,30600,30900,31200,31500,31800,32100,32400,32700,0 -- Liv 101-110
}
}


--**
--** Menu Pet
--**
function PetSystem.ShowMenu(PetIndex)
if horse.is_mine() then
local pet_menu
if pc.getqf("exp_blocked") == 0 then
pet_menu = {"Bilgi","Pet Becerilerini Yönet","Exp Kasmayi Kapat","Evcil Hayvan Statu","Evcil Hayvanı Gönder","Geri Dön (Menüyü Kapat)"}
else
pet_menu = {"Bilgi","Pet Becerilerini Yönet","Exp Kasmayi Ac","Evcil Hayvan Statu","Evcil Hayvanı Gönder","Geri Dön (Menüyü Kapat)"}
end
say_title("Evcil Hayvan: "..PetSystem[PetIndex].Name)
local skill_points, liv, ex = PetSystem.ReadStatus(PetIndex)
say_light_yellow("Level: "..liv.." / "..PetSystem[PetIndex].MaxLevel.." - Skill Puanı: "..skill_points.."")
if not PetSystem.IsExpBlocked() then
say_light_yellow("Tecrübe: "..ex.." / "..PetSystem[PetIndex].ExpTable[liv].." (Exp Kasma Açık)")
else
say_light_yellow("Tecrübe: "..ex.." / "..PetSystem[PetIndex].ExpTable[liv].." (Exp Kasma Kapalı)")
end
say("İşlemini Seç:")
say_size(350, 330)
local s = select_table(pet_menu)
----------********** Bilgilendirme ***********----------
if s == 1 then
say_title("Bilgi")
say("Evcil hayvanlar sizinle birlikte pesinizden ayrilmayan hayvanlardir.")
say("Bu hayvanlar gelistirilebilir.")
say("Levelleri yukseltilebilir.")
say("Evcil hayvanlar level atladikca bonuslarida artar.")
say("Bu bonuslari siz belirleyebilirsiniz.")
say("Bonuslar her evcil hayvanda farklidir.")
say("Evcil hayvanlar her mob kestiginizde tecrube kazanir.")
say("Exp Kasmayi acik biraktiginiz surece exp kasmaniz mumkundur.")
say("Aksi taktirde petiniz kasilmaz.")
----------********** Beceri Menu ***********----------
elseif s == 2 then
say_title("Evcil Hayvaninin becerilerini yönet: "..PetSystem[PetIndex].Name.."")
say_orange("Beceri puanı durumu: "..skill_points.."")
say("[ENTER]Bir işlem seçin:[ENTER]")
local a = select("Beceri arttır","Beceri azalt","iptal")
if a == 3 then
return
----------********** Beceri attir ***********----------
elseif a == 1 then
say_title("Beceri arttır'")
if skill_points == 0 then
say("Beceri arttırmak için puan gereklidir.[ENTER]")
return
end
local skill_value = {}
local menu_abi = {}
skill_value = PetSystem.LoadSkill(PetIndex)
for i = 1, table.getn(PetSystem[PetIndex].Skill) do
if liv >= PetSystem[PetIndex].Skill.min_level then
table.insert(menu_abi, PetSystem[PetIndex].Skill.name..": "..skill_value.." puan")
end
end
table.insert(menu_abi, "iptal")
if table.getn(menu_abi) == 1 then
say("Bu beceriyi arttirmak mumkun degildir..[ENTER]")
return
end
say("Arttırmak için bir beceri seçin")
say_size(350, PetSystem[PetIndex].WindowSize)
local s = select_table(menu_abi)
if s == table.getn(menu_abi) then
return
end
say_title(PetSystem[PetIndex].Skill.name)
say_orange("Mevcut puan: "..skill_value.." [ENTER]")
if skill_value == PetSystem[PetIndex].Skill.max_points then
say("Yetenek maximum seviyeye ulasti.[ENTER]")
return
end
say_light_blue("Her puan "..PetSystem[PetIndex].Skill.desc.." vermektedir.")
say_light_blue("Bu yetenege max. "..PetSystem[PetIndex].Skill.max_points.." puan verebilirsiniz[ENTER]")
local a = select("arttir", "iptal")
if a == 2 then
return
end
say_title(PetSystem[PetIndex].Skill.name)
say("Yetenege verebileceginiz maximum puani goz onunde bulundurarak rakamla yaziniz[ENTER]")
say("Bu beceriyi kac puan yukseltmek istersiniz ?(Rakam girin)[ENTER]")
local points = tonumber(input())
say_title(PetSystem[PetIndex].Skill.name)
if points == nil or points < 1 then
say("Gecersiz bir deger girdiniz.[ENTER]")
return
elseif points > skill_points then
say("Yeterli yetenek puani yok[ENTER]")
return
elseif (skill_value+points) > PetSystem[PetIndex].Skill.max_points then
say("Secilen beceri icin girdiginiz"..points.." puan gecersiz,")
say("beceriye verilebilecek maximum puana bir goz atin.")
say("Daha kucuk degerler kullanin.[ENTER]")
return
end
skill_value = skill_value+points
PetSystem.ChangeSkillPoints(PetIndex, -points)
PetSystem.SaveSkill(PetIndex, skill_value)
PetSystem.AddBonus(PetIndex)
say("Yetenek arttirma basarili[ENTER]")
----------********** Beceri azaltma ***********----------
elseif a == 2 then
say_title("Beceri Azalt")
local skill_value = {}
local menu_abi = {}
skill_value = PetSystem.LoadSkill(PetIndex)
for i = 1, table.getn(PetSystem[PetIndex].Skill) do
if liv >= PetSystem[PetIndex].Skill.min_level then
table.insert(menu_abi, PetSystem[PetIndex].Skill.name..": "..skill_value.." puan")
end
end
table.insert(menu_abi, "iptal")
if table.getn(menu_abi) == 1 then
say("Bu becerinin azalmasi mumkun degildir[ENTER]")
return
end
say("Azaltmak istedigin beceriyi sec")
say_size(350, PetSystem[PetIndex].WindowSize)
local s = select_table(menu_abi)
if s == table.getn(menu_abi) then
return
end
say_title(PetSystem[PetIndex].Skill.name)
say_orange("Suanki yetenek puani: "..skill_value.."")
if skill_value == 0 then
say("Beceri zaten 0 oldugu icin azaltamazsin[ENTER]")
return
end
say("Ne yapmak istersiniz[ENTER]")
local b = select("1 puan sil","tum puanlari sil","iptal")
if b == 3 then
return
elseif b == 1 then
say_title(PetSystem[PetIndex].Skill.name)
say("Evcil hayvaninizin yeteneginden 1 puan")
say("silmek istediginden emin misiniz?[ENTER]")
local c = select("Evet","Hayir")
if c == 2 then
return
end
PetSystem.ChangeSkillPoints(PetIndex, 1)
skill_value = skill_value-1
PetSystem.SaveSkill(PetIndex, skill_value)
PetSystem.AddBonus(PetIndex)
say_title(PetSystem[PetIndex].Skill.name)
say("Pet yeteneginden 1 puan cikarilmistir.[ENTER]")
elseif b == 2 then
say_title(PetSystem[PetIndex].Skill.name)
say("Bu yetenek puanlarini sifira indirmek istediginizden emin misiniz ?[ENTER]")
local c = select("Evet","Hayir")
if c == 2 then
return
end
PetSystem.ChangeSkillPoints(PetIndex, skill_value)
skill_value = 0
PetSystem.SaveSkill(PetIndex, skill_value)
PetSystem.AddBonus(PetIndex)
say_title(PetSystem[PetIndex].Skill.name)
say("Sectiginiz becerinin puani sifira indi.[ENTER]")
end
end
----------********** Exp Bloklama/blogu kaldirma ***********----------
elseif s == 3 then
if not PetSystem.IsExpBlocked() then
say_title("Exp kasmayi kapat")
say("Exp kasmayi kapat")
say("Eger exp kasmayi kapatirsan evcil hayvanin exp kazanmaz[ENTER]")
local a = select("kapat","vazgec")
if a == 2 then
return
end
say_title("Exp kasmayi kapattin")
say("Evcil hayvaniniz artik exp kazanmayacak.[ENTER]")
PetSystem.BlockExp()
else
say_title("Exp kasmayi ac")
say("Exp kasmayi acmak istermisiniz[ENTER]")
local a = select("Evet","Hayir")
if a == 2 then
return
end
say_title("Exp Kasma Acik")
say("Evcil hayvaniniz artik exp kazanabilir.[ENTER]")
PetSystem.UnblockExp()
pc.setqf("current_exp", pc.get_exp())
end
----------********** pet statusu ***********----------
elseif s == 4 then
local skill_value = {}
skill_value = PetSystem.LoadSkill(PetIndex)
say_title("Guclendirilmis durum' - Pet "..PetSystem[PetIndex].Name.."")
say_light_blue("Saglik: "..horse.get_health_pct().."%")
say("")
for i = 1, table.getn(PetSystem[PetIndex].Skill) do
if liv >= PetSystem[PetIndex].Skill.min_level then
local total = skill_value*PetSystem[PetIndex].Skill.mult
say_light_yellow(PetSystem[PetIndex].Skill.name..": level "..skill_value..". Bonus: "..total..PetSystem[PetIndex].Skill.tag)
end
end
say("")
----------********** Peti geri gonderme ***********----------
elseif s == 5 then
PetSystem.PetBack()
elseif s == 6 then
return
end
end
end

--**
--** Peti geri gonderme
--**
function PetSystem.PetBack()
cleartimer("give_exp")
pet.unsummon()
PetSystem.RemoveBonus()
PetSystem.SetInactive()
chat("Evcil Hayvanini Gonderdin")
end

--**
--** Pet yetenekleri
--**
function PetSystem.LoadSkill(PetIndex)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[PetIndex].Name.."_skills"
local PetSkill = {}
if io.open(FileName, "r") == nil then
io.output(FileName)
for i = 1,table.getn(PetSystem[PetIndex].Skill) do
io.write("0\n")
table.insert(PetSkill, 0)
end
io.flush()
io.close()
return PetSkill
end
for line in io.lines(FileName) do
table.insert(PetSkill, tonumber(line))
end
return PetSkill
end

--**
--** Belirtilen yetenekleri kaydetme
--**
function PetSystem.SaveSkill(PetIndex, SkillList)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[PetIndex].Name.."_skills"
io.output(FileName)
for i,v in ipairs(SkillList) do
io.write(tostring(v).."\n")
end
io.flush()
io.close()
end

--**
--** Belirtilen hayvan durumunu okur
--**
function PetSystem.ReadStatus(petIndex)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[petIndex].Name.."_stats"
local skill, liv, ex
if io.open(FileName, "r") != nil then
io.input(FileName)
skill = tonumber(io.read())
liv = tonumber(io.read())
ex = tonumber(io.read())
io.input():close()
else
io.output(FileName)
io.write("0\n1\n0\n")
io.flush()
io.close()
skill = 0
liv = 1
ex = 0
end
return skill, liv, ex
end

--**
--** Belirtilen petin seviyesini okur
--**
function PetSystem.GetLevel(petIndex)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[petIndex].Name.."_stats"
local liv
if io.open(FileName, "r") != nil then
io.input(FileName)
io.read()
liv = tonumber(io.read())
io.input():close()
else
liv = 1
end
return liv
end

--**
--** Belirtilen petin beceri puanini duzenleme
--**
function PetSystem.ChangeSkillPoints(PetIndex, amount)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[PetIndex].Name.."_stats"
local skill, liv, ex
if io.open(FileName, "r") != nil then
io.input(FileName)
skill = tonumber(io.read())
liv = tonumber(io.read())
ex = tonumber(io.read())
skill = skill+amount
io.input():close()
else
skill = amount
end
io.output(FileName)
io.write(tostring(skill).."\n")
io.write(tostring(liv).."\n")
io.write(tostring(ex).."\n")
io.flush()
io.close()
end

--**
--** Belirtilen hayvanin expisini okur
--**
function PetSystem.GiveExp(petIndex, amount)
local FileName = PetSystem.Folder..pc.get_name().."_"..PetSystem[petIndex].Name.."_stats"
local skill, liv, ex
if io.open(FileName, "r") != nil then
io.input(FileName)
skill = tonumber(io.read())
liv = tonumber(io.read())
ex = tonumber(io.read())
ex = ex+amount
io.input():close()
else
skill = 0
liv = 1
ex = amount
end
if liv == PetSystem[petIndex].MaxLevel then
return false
end
if ex > PetSystem[petIndex].ExpTable[liv] then
ex = ex-PetSystem[petIndex].ExpTable[liv]
skill = skill+1
liv = liv+1
if liv == PetSystem[petIndex].MaxLevel then
ex = 0
chat("Evcil hayvaniniz Maximum seviyeye ulasti.")
else
chat("Evcil hayvaninizin seviyesi "..liv.."!")
end
chat("farkli bir bir beceri sec")
if PetSystem.NewSkillLearnt(petIndex, liv) then
send_letter("Yeni bir beceri kilidi acildi!")
end
end
io.output(FileName)
io.write(tostring(skill).."\n")
io.write(tostring(liv).."\n")
io.write(tostring(ex).."\n")
io.flush()
io.close()
return true
end

--**
--** bonus puanina gore hayvaninizin skillerini arttirma
--**
function PetSystem.AddBonus(PetIndex)
PetSystem.RemoveBonus()
local SkillList = {}
SkillList = PetSystem.LoadSkill(PetIndex)
for i = 1,table.getn(SkillList) do
affect.add_hair(PetSystem[PetIndex].Skill.type, SkillList*PetSystem[PetIndex].Skill.mult, 60*60*24*365)
end
end

--**
--** Pet bonusunu siler
--**
function PetSystem.RemoveBonus()
affect.remove(520)
end

--**
--** Atin adi ve seviyesini ayarlayin
--**
function PetSystem.SetHorseData(level, name)
horse.set_name(name)
horse.set_level(level)
end

--**
--** At ve seviyesinin bir evcil hayvanla iliskili olmadigini kontrol edin
--**
function PetSystem.IsPetLevel(level)
for i = 1,PetSystem.GetPetNumber() do
if level == PetSystem.Level then
return true
end
end
return false
end

--**
--** Evcil hayvaninizin yeni bir beceri ogrenmis olup olmadigini kontrol edin
--**
function PetSystem.NewSkillLearnt(PetIndex, PetLevel)
for i = 1,table.getn(PetSystem[PetIndex].Skill) do
if PetLevel == PetSystem[PetIndex].Skill.min_level then
return true
end
end
return false
end

--**
--** Toplam pet sayisini gosterir
--**
function PetSystem.GetPetNumber()
return table.getn(PetSystem)
end

--** Aktif hayvaninizi ayarlayin
function PetSystem.SetActivePet(petIndex)
pc.setqf(PetSystem.Flag, petIndex)
end

--** pet sistemi etkin edin
function PetSystem.IsActive()
return (pc.getqf(PetSystem.Flag) > 0)
end

--** pet sistemini devre disi birakin
function PetSystem.SetInactive()
pc.setqf(PetSystem.Flag, 0)
end

--** Etkin hayvan sayisini gosterir
function PetSystem.GetActivePet()
return pc.getqf(PetSystem.Flag)
end

--** Bloklu expi gosterir
function PetSystem.BlockExp()
pc.setqf(PetSystem.ExpFlag, 1)
end

--** Bloksuz expi gosterir
function PetSystem.UnblockExp()
pc.setqf(PetSystem.ExpFlag, 0)
end

--** Pet expinin kilitli olup olmadigini gosterir
function PetSystem.IsExpBlocked()
return (pc.getqf(PetSystem.ExpFlag) == 1)
end
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst