Efect Cristal Energie

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
FineteMt2
Nivel 1

Nivel 1
Mesaje: 96
Membru din: 30 Iul 2020, 19:08
Server: Metin2
Regat: Jinno
Aprecieri: 120  
Mulţumiri: 2  
Medalii

[HF]White scrie: ↑10 Sep 2020, 17:43 1.
Deschide constinfo.py
Sub

Cod: Selectaţi tot

PVPMODE_PROTECTED_LEVEL
Pune:

Cod: Selectaţi tot

ENERGY = 0
ENERGY_END_TIME = 0
ENERGY_TYPE = 0
ENABLE_ENERGY_SYSTEM = 1
Deschide game.py si cauta:

Cod: Selectaţi tot

def __ServerCommand_Build(self):  
Acolo undeva pui

Cod: Selectaţi tot

            "energysystem"            : self.__energysystem,
            #Energy System 
La sfarsitul lui game.py adauga:

Cod: Selectaţi tot

def __energysystem(self, value):
        import constinfo
        constinfo.ENERGY_TYPE = int(value[:value.find("|")])
        constinfo.ENERGY = int(value[value.find("|") + 1:value.find("#")])
        constinfo.ENERGY_END_TIME = int(value[value.find("#") + 1:])  
Inlocuieste continutu uitaskbar cu asta: ( sau compari fisierele ce tin de energy )




Deschide interfacemodule.py si cauta:

Cod: Selectaţi tot

		if uiTaskBar.TaskBar.IS_EXPANDED:
			self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
			self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
			self.wndExpandedTaskBar.LoadWindow()
			self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))
			self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_PET_GUI, ui.__mem_func__(self.TogglePetMain))
		else:
			self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
Adaugi mai jos:

Cod: Selectaţi tot

		self.wndEnergyBar = 0
		import constinfo
		if constinfo.ENABLE_ENERGY_SYSTEM == 1:
			wndEnergyBar = uiTaskBar.EnergyBar()
			wndEnergyBar.LoadWindow()
			self.wndEnergyBar = wndEnergyBar
2. Te duci in Navicat si pui type 18 la 51002.
3. Instalezi questul asta:

Cod: Selectaţi tot

quest energy_system begin
	state start begin

	when 20001.chat."O noua descoperire" begin
		say("Nu-mi vine sa cred, am reusit!")
		say("În sfârsit am creat noul sistem de energie pura. ")
		say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
		say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
		say("energie din arme si armuri. A fost foarte dificil.")
		say("dar am reusit, în sfârsit !")
		wait()

		say_title("Alchimist")
		say("Daca cumva esti interesat de acest sistem, adu-mi")
		say("arme, armuri pentru a le transforma în")
		say("Fragment de Energie. Daca vei avea noroc, voi face")
		say("ca aceste fragmente ce le-ai adunat sa se uneasca ")
		say("între ele, si îti vor oferi un Cristal de Energie.")
		say("Sper ca acest sistem va ajuta multa lume.")

		set_state("make")

	end
	end


	state make begin

		function setting ()
			return
		{

		["prob_acc_table"] =
		{
  			["65to75"] = {30,55,70,80,90,95,97,98,99,100},
  			["76to85"] = {20,40,60,75,85,91,96,98,99,100},
  			["upto85"] = {10,25,45,65,80,88,94,97,99,100}
		},

		["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
		["energy_stone"] = 51001,
		["charging_stone"] = 51002

		}
	end


		function getItemNum ( str, r )
		local setting = energy_system.setting()
		for i = 1, 10 do
			if r < setting.prob_acc_table[str][i] then
  			return setting.item_num_table[i]
			end
		end
		return 0
		end



	when 20001.chat."Informatii despre Fragmente de energie" begin
		say_title("Alchimist")
		say("Acum stii cum functioneaza treaba. Fii atent")
		say("ca aceste iteme pe care le aduci se transforma în")
		say("Fragment de energie. Nu te vei mai putea folosi de")
		say("aceste iteme. Energia extrasa din ele este foarte")
		say("puternica si ofera unele bonusuri mari.")
		say("Trebuie sa stii o conditie înainte sa începem")
		say("aceasta transformare.")
		say("Ai nevoie de nivelul minim 75.")
		say("Hm, vom vedea imediat nivelul tau.")
		say("")
		wait()

	if pc.get_level() < 75 then
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Oh, îmi pare rau, dar trebuie sa ai nivelul 75")
		say("pentru a putea utiliza aceasta energie.")

	else
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Perfect! Se pare ca ai nivelul necesar pentru acest")
		say("sistem nou de energie")
		say("")

	end
	end

	when 20001.chat."Obtine Fragment de Energie" begin
		say_title("Alchimist")
		say("Pentru a obtine fragment de energie, trage item-ul")
		say("ce doresti sa îl transformi pe mine.")
		say("Ai nevoie de 50x Fragment de Energie pentru")
		say("a face Energie Pura.")
		wait()

		if pc.get_level() < 75 then
			say_title("Alchimist")
			say("Oh, ce pacat, nu ai nivelul 75 pentru a putea")
			say("utiliza aceasta energie.")
			say("")

		else
			if pc.count_item(51001) >= 50 then
				say_title("Alchimist")
				say("Se pare ca ai la tine cele 50 de Fragmente")
				say("de Energie. Doresti sa transform aceasta energie")
				say("în energie pura ? ")
				say("Pot încerca, dar nu garantez ca voi reusi.")
			wait()

			say_title("Alchimist")
			say("Totodata, am nevoie si de o suma de bani.")
			say("Stii, as fi putut sa îti dau si gratis")
			say("dar am nevoie pentru a întretine proiectul.")
			say_reward("Ai nevoie de 50.000.000 Yang")
			say("Ce alegi ?")

	if select("Doresc energie pura! ","M-am razgândit") == 2 then
		return

	end

	if pc.get_gold()<100000 then

		say_title("Alchimist")
		say("Nu ai destul yang.")
		return

	end

	pc.change_money(-50000000)
	pc.remove_item(51001,50)

	if number(0,1) == 1 then
		say_title("Alchimist")
		say("Am reusit !")
		say("Ai primit Energie Pura. Ai mare grija de ea.")
		say("Aceasta are o putere foarte mare.")
		pc.give_item2(51002,1)
	else
		say_title("Alchimist")
		say("Oh, ce pacat. Fragmentele sunt sparte.")
		say("Transformarea a esuat.")
		say("")
	return

	end

	else

say_title("Alchimist")
say("Se pare ca nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return

end
end
end

when 20001.take begin
if pc.get_level() < 65 then
say_title(mob_name(20001))
say(gameforge.energy_system._080_say)
return
end
local item_vnum = item.vnum
local levelLimit = item.get_level_limit(item_vnum)
local setting = energy_system.setting()

if levelLimit == nil then
say_title(mob_name(20001))
say(gameforge.energy_system._090_say)
wait()
elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
say_title (mob_name(20001))
say (gameforge.energy_system._090_say)
wait()
elseif levelLimit < 50 then
say_title(mob_name(20001))
say(gameforge.energy_system._100_say)
else
say_title(mob_name(20001))
say(item_name(item_vnum))
say(gameforge.energy_system._110_say)
local s = select (gameforge.energy_system._120_select,gameforge.energy_system._130_select)
if s == 1 then
item.remove()
local r = number(1, 100)
local n
if levelLimit >= 50 and levelLimit <= 75 then
n = energy_system.getItemNum ("65to75",r)
elseif levelLimit > 75 and levelLimit <= 85 then
n = energy_system.getItemNum ("75to85",r)
else
n = energy_system.getItemNum ("upto85",r)
end
if (n == 0) then
say_title(mob_name(20001))
say(gameforge.energy_system._140_say)
else
pc.give_item2(setting.energy_stone, n)
say_title(mob_name(20001))
say(string.format(gameforge.energy_system._150_say,n))
end
end
end
end

when login begin
if pc.get_level() > 35 then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end

when logout begin
if getenergytime() > get_time() then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() - get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end
-- Inel de scos bonusul si de resetat timpul

when 50002.use begin
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end

--

when 51002.use begin
local energy = getenergytime() - get_time()
if getenergytime() > get_time() then
chat("Folosesti deja un Cristal de Energie!")
return

end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")

end
end
end
Am refacut de doua ori ce mi-ai lasat tu aici si iti multumesc,dar tot nu imi apare nimic din pacate.....
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

lasa mi
game
interfacemodule
uitaskbar
constinfo
taskbar.py din locale


si ti le fac eu

[ Postat de pe Android ] Imagine
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
FineteMt2
Nivel 1

Nivel 1
Mesaje: 96
Membru din: 30 Iul 2020, 19:08
Server: Metin2
Regat: Jinno
Aprecieri: 120  
Mulţumiri: 2  
Medalii

[HF]White scrie: ↑10 Sep 2020, 19:57 lasa mi
game
interfacemodule
uitaskbar
constinfo
taskbar.py din locale


si ti le fac eu

[ Postat de pe Android ] Imagine
Uite bro ce mi-ai cerut si inca o data iti multumesc ca iti dai interesul la problemele unora pe acest forum:https://www.gfile.ro/?do=fD&fI=9a4da8b1 ... f8cec4be9b
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

FineteMt2 scrie: ↑11 Sep 2020, 07:54
[HF]White scrie: ↑10 Sep 2020, 19:57 lasa mi
game
interfacemodule
uitaskbar
constinfo
taskbar.py din locale


si ti le fac eu

[ Postat de pe Android ] Imagine
Uite bro ce mi-ai cerut si inca o data iti multumesc ca iti dai interesul la problemele unora pe acest forum:https://www.gfile.ro/?do=fD&fI=9a4da8b1 ... f8cec4be9b
https://we.tl/t-jTCeeSadhl le inlocuiesti cu ale tale


Bagi questu asta:

Cod: Selectaţi tot

quest energy_system begin
	state start begin

	when 20001.chat."O noua descoperire" begin
		say("Nu-mi vine sa cred, am reusit!")
		say("În sfârsit am creat noul sistem de energie pura. ")
		say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
		say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
		say("energie din arme si armuri. A fost foarte dificil.")
		say("dar am reusit, în sfârsit !")
		wait()

		say_title("Alchimist")
		say("Daca cumva esti interesat de acest sistem, adu-mi")
		say("arme, armuri pentru a le transforma în")
		say("Fragment de Energie. Daca vei avea noroc, voi face")
		say("ca aceste fragmente ce le-ai adunat sa se uneasca ")
		say("între ele, si îti vor oferi un Cristal de Energie.")
		say("Sper ca acest sistem va ajuta multa lume.")

		set_state("make")

	end
	end


	state make begin

		function setting ()
			return
		{

		["prob_acc_table"] =
		{
  			["65to75"] = {30,55,70,80,90,95,97,98,99,100},
  			["76to85"] = {20,40,60,75,85,91,96,98,99,100},
  			["upto85"] = {10,25,45,65,80,88,94,97,99,100}
		},

		["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
		["energy_stone"] = 51001,
		["charging_stone"] = 51002

		}
	end


		function getItemNum ( str, r )
		local setting = energy_system.setting()
		for i = 1, 10 do
			if r < setting.prob_acc_table[str][i] then
  			return setting.item_num_table[i]
			end
		end
		return 0
		end



	when 20001.chat."Informatii despre Fragmente de energie" begin
		say_title("Alchimist")
		say("Acum stii cum functioneaza treaba. Fii atent")
		say("ca aceste iteme pe care le aduci se transforma în")
		say("Fragment de energie. Nu te vei mai putea folosi de")
		say("aceste iteme. Energia extrasa din ele este foarte")
		say("puternica si ofera unele bonusuri mari.")
		say("Trebuie sa stii o conditie înainte sa începem")
		say("aceasta transformare.")
		say("Ai nevoie de nivelul minim 75.")
		say("Hm, vom vedea imediat nivelul tau.")
		say("")
		wait()

	if pc.get_level() < 75 then
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Oh, îmi pare rau, dar trebuie sa ai nivelul 75")
		say("pentru a putea utiliza aceasta energie.")

	else
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Perfect! Se pare ca ai nivelul necesar pentru acest")
		say("sistem nou de energie")
		say("")

	end
	end

	when 20001.chat."Obtine Fragment de Energie" begin
		say_title("Alchimist")
		say("Pentru a obtine fragment de energie, trage item-ul")
		say("ce doresti sa îl transformi pe mine.")
		say("Ai nevoie de 50x Fragment de Energie pentru")
		say("a face Energie Pura.")
		wait()

		if pc.get_level() < 75 then
			say_title("Alchimist")
			say("Oh, ce pacat, nu ai nivelul 75 pentru a putea")
			say("utiliza aceasta energie.")
			say("")

		else
			if pc.count_item(51001) >= 50 then
				say_title("Alchimist")
				say("Se pare ca ai la tine cele 50 de Fragmente")
				say("de Energie. Doresti sa transform aceasta energie")
				say("în energie pura ? ")
				say("Pot încerca, dar nu garantez ca voi reusi.")
			wait()

			say_title("Alchimist")
			say("Totodata, am nevoie si de o suma de bani.")
			say("Stii, as fi putut sa îti dau si gratis")
			say("dar am nevoie pentru a întretine proiectul.")
			say_reward("Ai nevoie de 50.000.000 Yang")
			say("Ce alegi ?")

	if select("Doresc energie pura! ","M-am razgândit") == 2 then
		return

	end

	if pc.get_gold()<100000 then

		say_title("Alchimist")
		say("Nu ai destul yang.")
		return

	end

	pc.change_money(-50000000)
	pc.remove_item(51001,50)

	if number(0,1) == 1 then
		say_title("Alchimist")
		say("Am reusit !")
		say("Ai primit Energie Pura. Ai mare grija de ea.")
		say("Aceasta are o putere foarte mare.")
		pc.give_item2(51002,1)
	else
		say_title("Alchimist")
		say("Oh, ce pacat. Fragmentele sunt sparte.")
		say("Transformarea a esuat.")
		say("")
	return

	end

	else

say_title("Alchimist")
say("Se pare ca nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return

end
end
end

when 20001.take begin
if pc.get_level() < 65 then
say_title(mob_name(20001))
say(gameforge.energy_system._080_say)
return
end
local item_vnum = item.vnum
local levelLimit = item.get_level_limit(item_vnum)
local setting = energy_system.setting()

if levelLimit == nil then
say_title(mob_name(20001))
say(gameforge.energy_system._090_say)
wait()
elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
say_title (mob_name(20001))
say (gameforge.energy_system._090_say)
wait()
elseif levelLimit < 50 then
say_title(mob_name(20001))
say(gameforge.energy_system._100_say)
else
say_title(mob_name(20001))
say(item_name(item_vnum))
say(gameforge.energy_system._110_say)
local s = select (gameforge.energy_system._120_select,gameforge.energy_system._130_select)
if s == 1 then
item.remove()
local r = number(1, 100)
local n
if levelLimit >= 50 and levelLimit <= 75 then
n = energy_system.getItemNum ("65to75",r)
elseif levelLimit > 75 and levelLimit <= 85 then
n = energy_system.getItemNum ("75to85",r)
else
n = energy_system.getItemNum ("upto85",r)
end
if (n == 0) then
say_title(mob_name(20001))
say(gameforge.energy_system._140_say)
else
pc.give_item2(setting.energy_stone, n)
say_title(mob_name(20001))
say(string.format(gameforge.energy_system._150_say,n))
end
end
end
end

when login begin
if pc.get_level() > 35 then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end

when logout begin
if getenergytime() > get_time() then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() - get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end
-- Inel de scos bonusul si de resetat timpul

when 50002.use begin
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end

--

when 51002.use begin
local energy = getenergytime() - get_time()
if getenergytime() > get_time() then
chat("Folosesti deja un Cristal de Energie!")
return

end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")

end
end
end


Si in questlib.lua adaugi asta la sfarsit:

Cod: Selectaţi tot

function setenergy(typ,value,timez)
    pc.setqf("energy_value", value)
    pc.setqf("energy_date", get_time() + timez)
    pc.setqf("energy_typ", typ)
end
function setenergytime(timez)
    pc.setqf("energy_date", timez)
end
function getenergytyp()
    return pc.getqf("energy_typ")
end
function getenergyvalue()
    return pc.getqf("energy_value")
end
function getenergytime()
    return pc.getqf("energy_date")
end

function split(str, delim, maxNb) 
    if str == nil then return str end 
    if string.find(str, delim) == nil then return { str } end 
    if maxNb == nil or maxNb < 1 then maxNb = 0 end 
    local result = {} 
    local pat = "(.-)" .. delim .. "()" 
    local nb = 0 
    local lastPos 
    for part, pos in string.gfind(str, pat) do 
        nb = nb + 1 
        result[nb] = part 
        lastPos = pos 
        if nb == maxNb then break end 
    end 
    if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end 
    return result 
end 



mysql_query = function(query) 
    local rt = io.open('CONFIG','r'):read('*all') 
    local pre= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4') 
    math.randomseed(os.time()) 
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{} 
    os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)   
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi); 
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b) 
        out[i-1]        = out[i-1] or {} 
        out[i-1][a]        = b 
        out[t[1][a]]    = out[t[1][a]] or {} 
        out[t[1][a]][i-1]    = b 
    end) end 
    return out 
end

-- Entferne Leerzeichen vor und nach dem String
function string.trim(str)
    return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
end
-- String zu Array über Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Parametru lipsa")
    end
    local pos, t = 1, {}
    for s, e in function() return string.find(str, sep, pos) end do
        table.insert(t, string.trim(string.sub(str, pos, s-1)))
        pos = e+1
    end
    table.insert(t, string.trim(string.sub(str, pos)))
    return t
end  

Nu uita sa pui type 18 la 51002
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
FineteMt2
Nivel 1

Nivel 1
Mesaje: 96
Membru din: 30 Iul 2020, 19:08
Server: Metin2
Regat: Jinno
Aprecieri: 120  
Mulţumiri: 2  
Medalii

[HF]White scrie: ↑11 Sep 2020, 13:04
FineteMt2 scrie: ↑11 Sep 2020, 07:54
[HF]White scrie: ↑10 Sep 2020, 19:57 lasa mi
game
interfacemodule
uitaskbar
constinfo
taskbar.py din locale


si ti le fac eu

[ Postat de pe Android ] Imagine
Uite bro ce mi-ai cerut si inca o data iti multumesc ca iti dai interesul la problemele unora pe acest forum:https://www.gfile.ro/?do=fD&fI=9a4da8b1 ... f8cec4be9b
https://we.tl/t-jTCeeSadhl le inlocuiesti cu ale tale


Bagi questu asta:

Cod: Selectaţi tot

quest energy_system begin
	state start begin

	when 20001.chat."O noua descoperire" begin
		say("Nu-mi vine sa cred, am reusit!")
		say("În sfârsit am creat noul sistem de energie pura. ")
		say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
		say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
		say("energie din arme si armuri. A fost foarte dificil.")
		say("dar am reusit, în sfârsit !")
		wait()

		say_title("Alchimist")
		say("Daca cumva esti interesat de acest sistem, adu-mi")
		say("arme, armuri pentru a le transforma în")
		say("Fragment de Energie. Daca vei avea noroc, voi face")
		say("ca aceste fragmente ce le-ai adunat sa se uneasca ")
		say("între ele, si îti vor oferi un Cristal de Energie.")
		say("Sper ca acest sistem va ajuta multa lume.")

		set_state("make")

	end
	end


	state make begin

		function setting ()
			return
		{

		["prob_acc_table"] =
		{
  			["65to75"] = {30,55,70,80,90,95,97,98,99,100},
  			["76to85"] = {20,40,60,75,85,91,96,98,99,100},
  			["upto85"] = {10,25,45,65,80,88,94,97,99,100}
		},

		["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
		["energy_stone"] = 51001,
		["charging_stone"] = 51002

		}
	end


		function getItemNum ( str, r )
		local setting = energy_system.setting()
		for i = 1, 10 do
			if r < setting.prob_acc_table[str][i] then
  			return setting.item_num_table[i]
			end
		end
		return 0
		end



	when 20001.chat."Informatii despre Fragmente de energie" begin
		say_title("Alchimist")
		say("Acum stii cum functioneaza treaba. Fii atent")
		say("ca aceste iteme pe care le aduci se transforma în")
		say("Fragment de energie. Nu te vei mai putea folosi de")
		say("aceste iteme. Energia extrasa din ele este foarte")
		say("puternica si ofera unele bonusuri mari.")
		say("Trebuie sa stii o conditie înainte sa începem")
		say("aceasta transformare.")
		say("Ai nevoie de nivelul minim 75.")
		say("Hm, vom vedea imediat nivelul tau.")
		say("")
		wait()

	if pc.get_level() < 75 then
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Oh, îmi pare rau, dar trebuie sa ai nivelul 75")
		say("pentru a putea utiliza aceasta energie.")

	else
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Perfect! Se pare ca ai nivelul necesar pentru acest")
		say("sistem nou de energie")
		say("")

	end
	end

	when 20001.chat."Obtine Fragment de Energie" begin
		say_title("Alchimist")
		say("Pentru a obtine fragment de energie, trage item-ul")
		say("ce doresti sa îl transformi pe mine.")
		say("Ai nevoie de 50x Fragment de Energie pentru")
		say("a face Energie Pura.")
		wait()

		if pc.get_level() < 75 then
			say_title("Alchimist")
			say("Oh, ce pacat, nu ai nivelul 75 pentru a putea")
			say("utiliza aceasta energie.")
			say("")

		else
			if pc.count_item(51001) >= 50 then
				say_title("Alchimist")
				say("Se pare ca ai la tine cele 50 de Fragmente")
				say("de Energie. Doresti sa transform aceasta energie")
				say("în energie pura ? ")
				say("Pot încerca, dar nu garantez ca voi reusi.")
			wait()

			say_title("Alchimist")
			say("Totodata, am nevoie si de o suma de bani.")
			say("Stii, as fi putut sa îti dau si gratis")
			say("dar am nevoie pentru a întretine proiectul.")
			say_reward("Ai nevoie de 50.000.000 Yang")
			say("Ce alegi ?")

	if select("Doresc energie pura! ","M-am razgândit") == 2 then
		return

	end

	if pc.get_gold()<100000 then

		say_title("Alchimist")
		say("Nu ai destul yang.")
		return

	end

	pc.change_money(-50000000)
	pc.remove_item(51001,50)

	if number(0,1) == 1 then
		say_title("Alchimist")
		say("Am reusit !")
		say("Ai primit Energie Pura. Ai mare grija de ea.")
		say("Aceasta are o putere foarte mare.")
		pc.give_item2(51002,1)
	else
		say_title("Alchimist")
		say("Oh, ce pacat. Fragmentele sunt sparte.")
		say("Transformarea a esuat.")
		say("")
	return

	end

	else

say_title("Alchimist")
say("Se pare ca nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return

end
end
end

when 20001.take begin
if pc.get_level() < 65 then
say_title(mob_name(20001))
say(gameforge.energy_system._080_say)
return
end
local item_vnum = item.vnum
local levelLimit = item.get_level_limit(item_vnum)
local setting = energy_system.setting()

if levelLimit == nil then
say_title(mob_name(20001))
say(gameforge.energy_system._090_say)
wait()
elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
say_title (mob_name(20001))
say (gameforge.energy_system._090_say)
wait()
elseif levelLimit < 50 then
say_title(mob_name(20001))
say(gameforge.energy_system._100_say)
else
say_title(mob_name(20001))
say(item_name(item_vnum))
say(gameforge.energy_system._110_say)
local s = select (gameforge.energy_system._120_select,gameforge.energy_system._130_select)
if s == 1 then
item.remove()
local r = number(1, 100)
local n
if levelLimit >= 50 and levelLimit <= 75 then
n = energy_system.getItemNum ("65to75",r)
elseif levelLimit > 75 and levelLimit <= 85 then
n = energy_system.getItemNum ("75to85",r)
else
n = energy_system.getItemNum ("upto85",r)
end
if (n == 0) then
say_title(mob_name(20001))
say(gameforge.energy_system._140_say)
else
pc.give_item2(setting.energy_stone, n)
say_title(mob_name(20001))
say(string.format(gameforge.energy_system._150_say,n))
end
end
end
end

when login begin
if pc.get_level() > 35 then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end

when logout begin
if getenergytime() > get_time() then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() - get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end
-- Inel de scos bonusul si de resetat timpul

when 50002.use begin
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end

--

when 51002.use begin
local energy = getenergytime() - get_time()
if getenergytime() > get_time() then
chat("Folosesti deja un Cristal de Energie!")
return

end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")

end
end
end


Si in questlib.lua adaugi asta la sfarsit:

Cod: Selectaţi tot

function setenergy(typ,value,timez)
    pc.setqf("energy_value", value)
    pc.setqf("energy_date", get_time() + timez)
    pc.setqf("energy_typ", typ)
end
function setenergytime(timez)
    pc.setqf("energy_date", timez)
end
function getenergytyp()
    return pc.getqf("energy_typ")
end
function getenergyvalue()
    return pc.getqf("energy_value")
end
function getenergytime()
    return pc.getqf("energy_date")
end

function split(str, delim, maxNb) 
    if str == nil then return str end 
    if string.find(str, delim) == nil then return { str } end 
    if maxNb == nil or maxNb < 1 then maxNb = 0 end 
    local result = {} 
    local pat = "(.-)" .. delim .. "()" 
    local nb = 0 
    local lastPos 
    for part, pos in string.gfind(str, pat) do 
        nb = nb + 1 
        result[nb] = part 
        lastPos = pos 
        if nb == maxNb then break end 
    end 
    if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end 
    return result 
end 



mysql_query = function(query) 
    local rt = io.open('CONFIG','r'):read('*all') 
    local pre= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4') 
    math.randomseed(os.time()) 
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{} 
    os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)   
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi); 
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b) 
        out[i-1]        = out[i-1] or {} 
        out[i-1][a]        = b 
        out[t[1][a]]    = out[t[1][a]] or {} 
        out[t[1][a]][i-1]    = b 
    end) end 
    return out 
end

-- Entferne Leerzeichen vor und nach dem String
function string.trim(str)
    return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
end
-- String zu Array über Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Parametru lipsa")
    end
    local pos, t = 1, {}
    for s, e in function() return string.find(str, sep, pos) end do
        table.insert(t, string.trim(string.sub(str, pos, s-1)))
        pos = e+1
    end
    table.insert(t, string.trim(string.sub(str, pos)))
    return t
end  

Nu uita sa pui type 18 la 51002
Acum primesc in syserr:
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

FineteMt2 scrie: ↑11 Sep 2020, 13:38
[HF]White scrie: ↑11 Sep 2020, 13:04
FineteMt2 scrie: ↑11 Sep 2020, 07:54

Uite bro ce mi-ai cerut si inca o data iti multumesc ca iti dai interesul la problemele unora pe acest forum:https://www.gfile.ro/?do=fD&fI=9a4da8b1 ... f8cec4be9b
https://we.tl/t-jTCeeSadhl le inlocuiesti cu ale tale


Bagi questu asta:

Cod: Selectaţi tot

quest energy_system begin
	state start begin

	when 20001.chat."O noua descoperire" begin
		say("Nu-mi vine sa cred, am reusit!")
		say("În sfârsit am creat noul sistem de energie pura. ")
		say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
		say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
		say("energie din arme si armuri. A fost foarte dificil.")
		say("dar am reusit, în sfârsit !")
		wait()

		say_title("Alchimist")
		say("Daca cumva esti interesat de acest sistem, adu-mi")
		say("arme, armuri pentru a le transforma în")
		say("Fragment de Energie. Daca vei avea noroc, voi face")
		say("ca aceste fragmente ce le-ai adunat sa se uneasca ")
		say("între ele, si îti vor oferi un Cristal de Energie.")
		say("Sper ca acest sistem va ajuta multa lume.")

		set_state("make")

	end
	end


	state make begin

		function setting ()
			return
		{

		["prob_acc_table"] =
		{
  			["65to75"] = {30,55,70,80,90,95,97,98,99,100},
  			["76to85"] = {20,40,60,75,85,91,96,98,99,100},
  			["upto85"] = {10,25,45,65,80,88,94,97,99,100}
		},

		["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
		["energy_stone"] = 51001,
		["charging_stone"] = 51002

		}
	end


		function getItemNum ( str, r )
		local setting = energy_system.setting()
		for i = 1, 10 do
			if r < setting.prob_acc_table[str][i] then
  			return setting.item_num_table[i]
			end
		end
		return 0
		end



	when 20001.chat."Informatii despre Fragmente de energie" begin
		say_title("Alchimist")
		say("Acum stii cum functioneaza treaba. Fii atent")
		say("ca aceste iteme pe care le aduci se transforma în")
		say("Fragment de energie. Nu te vei mai putea folosi de")
		say("aceste iteme. Energia extrasa din ele este foarte")
		say("puternica si ofera unele bonusuri mari.")
		say("Trebuie sa stii o conditie înainte sa începem")
		say("aceasta transformare.")
		say("Ai nevoie de nivelul minim 75.")
		say("Hm, vom vedea imediat nivelul tau.")
		say("")
		wait()

	if pc.get_level() < 75 then
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Oh, îmi pare rau, dar trebuie sa ai nivelul 75")
		say("pentru a putea utiliza aceasta energie.")

	else
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Perfect! Se pare ca ai nivelul necesar pentru acest")
		say("sistem nou de energie")
		say("")

	end
	end

	when 20001.chat."Obtine Fragment de Energie" begin
		say_title("Alchimist")
		say("Pentru a obtine fragment de energie, trage item-ul")
		say("ce doresti sa îl transformi pe mine.")
		say("Ai nevoie de 50x Fragment de Energie pentru")
		say("a face Energie Pura.")
		wait()

		if pc.get_level() < 75 then
			say_title("Alchimist")
			say("Oh, ce pacat, nu ai nivelul 75 pentru a putea")
			say("utiliza aceasta energie.")
			say("")

		else
			if pc.count_item(51001) >= 50 then
				say_title("Alchimist")
				say("Se pare ca ai la tine cele 50 de Fragmente")
				say("de Energie. Doresti sa transform aceasta energie")
				say("în energie pura ? ")
				say("Pot încerca, dar nu garantez ca voi reusi.")
			wait()

			say_title("Alchimist")
			say("Totodata, am nevoie si de o suma de bani.")
			say("Stii, as fi putut sa îti dau si gratis")
			say("dar am nevoie pentru a întretine proiectul.")
			say_reward("Ai nevoie de 50.000.000 Yang")
			say("Ce alegi ?")

	if select("Doresc energie pura! ","M-am razgândit") == 2 then
		return

	end

	if pc.get_gold()<100000 then

		say_title("Alchimist")
		say("Nu ai destul yang.")
		return

	end

	pc.change_money(-50000000)
	pc.remove_item(51001,50)

	if number(0,1) == 1 then
		say_title("Alchimist")
		say("Am reusit !")
		say("Ai primit Energie Pura. Ai mare grija de ea.")
		say("Aceasta are o putere foarte mare.")
		pc.give_item2(51002,1)
	else
		say_title("Alchimist")
		say("Oh, ce pacat. Fragmentele sunt sparte.")
		say("Transformarea a esuat.")
		say("")
	return

	end

	else

say_title("Alchimist")
say("Se pare ca nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return

end
end
end

when 20001.take begin
if pc.get_level() < 65 then
say_title(mob_name(20001))
say(gameforge.energy_system._080_say)
return
end
local item_vnum = item.vnum
local levelLimit = item.get_level_limit(item_vnum)
local setting = energy_system.setting()

if levelLimit == nil then
say_title(mob_name(20001))
say(gameforge.energy_system._090_say)
wait()
elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
say_title (mob_name(20001))
say (gameforge.energy_system._090_say)
wait()
elseif levelLimit < 50 then
say_title(mob_name(20001))
say(gameforge.energy_system._100_say)
else
say_title(mob_name(20001))
say(item_name(item_vnum))
say(gameforge.energy_system._110_say)
local s = select (gameforge.energy_system._120_select,gameforge.energy_system._130_select)
if s == 1 then
item.remove()
local r = number(1, 100)
local n
if levelLimit >= 50 and levelLimit <= 75 then
n = energy_system.getItemNum ("65to75",r)
elseif levelLimit > 75 and levelLimit <= 85 then
n = energy_system.getItemNum ("75to85",r)
else
n = energy_system.getItemNum ("upto85",r)
end
if (n == 0) then
say_title(mob_name(20001))
say(gameforge.energy_system._140_say)
else
pc.give_item2(setting.energy_stone, n)
say_title(mob_name(20001))
say(string.format(gameforge.energy_system._150_say,n))
end
end
end
end

when login begin
if pc.get_level() > 35 then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end

when logout begin
if getenergytime() > get_time() then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() - get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end
-- Inel de scos bonusul si de resetat timpul

when 50002.use begin
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end

--

when 51002.use begin
local energy = getenergytime() - get_time()
if getenergytime() > get_time() then
chat("Folosesti deja un Cristal de Energie!")
return

end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")

end
end
end


Si in questlib.lua adaugi asta la sfarsit:

Cod: Selectaţi tot

function setenergy(typ,value,timez)
    pc.setqf("energy_value", value)
    pc.setqf("energy_date", get_time() + timez)
    pc.setqf("energy_typ", typ)
end
function setenergytime(timez)
    pc.setqf("energy_date", timez)
end
function getenergytyp()
    return pc.getqf("energy_typ")
end
function getenergyvalue()
    return pc.getqf("energy_value")
end
function getenergytime()
    return pc.getqf("energy_date")
end

function split(str, delim, maxNb) 
    if str == nil then return str end 
    if string.find(str, delim) == nil then return { str } end 
    if maxNb == nil or maxNb < 1 then maxNb = 0 end 
    local result = {} 
    local pat = "(.-)" .. delim .. "()" 
    local nb = 0 
    local lastPos 
    for part, pos in string.gfind(str, pat) do 
        nb = nb + 1 
        result[nb] = part 
        lastPos = pos 
        if nb == maxNb then break end 
    end 
    if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end 
    return result 
end 



mysql_query = function(query) 
    local rt = io.open('CONFIG','r'):read('*all') 
    local pre= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4') 
    math.randomseed(os.time()) 
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{} 
    os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)   
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi); 
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b) 
        out[i-1]        = out[i-1] or {} 
        out[i-1][a]        = b 
        out[t[1][a]]    = out[t[1][a]] or {} 
        out[t[1][a]][i-1]    = b 
    end) end 
    return out 
end

-- Entferne Leerzeichen vor und nach dem String
function string.trim(str)
    return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
end
-- String zu Array über Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Parametru lipsa")
    end
    local pos, t = 1, {}
    for s, e in function() return string.find(str, sep, pos) end do
        table.insert(t, string.trim(string.sub(str, pos, s-1)))
        pos = e+1
    end
    table.insert(t, string.trim(string.sub(str, pos)))
    return t
end  

Nu uita sa pui type 18 la 51002
Acum primesc in syserr:
Inlocuieste cu asta:

SAU

Lasa-mi uitaskbar-ul tau de dinainte sa-ti zic sa inlocuiesti tu.
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
FineteMt2
Nivel 1

Nivel 1
Mesaje: 96
Membru din: 30 Iul 2020, 19:08
Server: Metin2
Regat: Jinno
Aprecieri: 120  
Mulţumiri: 2  
Medalii

[HF]White scrie: ↑11 Sep 2020, 14:32
FineteMt2 scrie: ↑11 Sep 2020, 13:38
[HF]White scrie: ↑11 Sep 2020, 13:04

https://we.tl/t-jTCeeSadhl le inlocuiesti cu ale tale


Bagi questu asta:

Cod: Selectaţi tot

quest energy_system begin
	state start begin

	when 20001.chat."O noua descoperire" begin
		say("Nu-mi vine sa cred, am reusit!")
		say("În sfârsit am creat noul sistem de energie pura. ")
		say("Am sa îti spun cum, fii atent. Aceasta energie sta ")
		say("în jurul fiecaruia. Am încercat sa extrag aceasta ")
		say("energie din arme si armuri. A fost foarte dificil.")
		say("dar am reusit, în sfârsit !")
		wait()

		say_title("Alchimist")
		say("Daca cumva esti interesat de acest sistem, adu-mi")
		say("arme, armuri pentru a le transforma în")
		say("Fragment de Energie. Daca vei avea noroc, voi face")
		say("ca aceste fragmente ce le-ai adunat sa se uneasca ")
		say("între ele, si îti vor oferi un Cristal de Energie.")
		say("Sper ca acest sistem va ajuta multa lume.")

		set_state("make")

	end
	end


	state make begin

		function setting ()
			return
		{

		["prob_acc_table"] =
		{
  			["65to75"] = {30,55,70,80,90,95,97,98,99,100},
  			["76to85"] = {20,40,60,75,85,91,96,98,99,100},
  			["upto85"] = {10,25,45,65,80,88,94,97,99,100}
		},

		["item_num_table"] ={0,1,2,3,4,6,8,10,12,15},
		["energy_stone"] = 51001,
		["charging_stone"] = 51002

		}
	end


		function getItemNum ( str, r )
		local setting = energy_system.setting()
		for i = 1, 10 do
			if r < setting.prob_acc_table[str][i] then
  			return setting.item_num_table[i]
			end
		end
		return 0
		end



	when 20001.chat."Informatii despre Fragmente de energie" begin
		say_title("Alchimist")
		say("Acum stii cum functioneaza treaba. Fii atent")
		say("ca aceste iteme pe care le aduci se transforma în")
		say("Fragment de energie. Nu te vei mai putea folosi de")
		say("aceste iteme. Energia extrasa din ele este foarte")
		say("puternica si ofera unele bonusuri mari.")
		say("Trebuie sa stii o conditie înainte sa începem")
		say("aceasta transformare.")
		say("Ai nevoie de nivelul minim 75.")
		say("Hm, vom vedea imediat nivelul tau.")
		say("")
		wait()

	if pc.get_level() < 75 then
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Oh, îmi pare rau, dar trebuie sa ai nivelul 75")
		say("pentru a putea utiliza aceasta energie.")

	else
		say_title("Alchimist")
		say("Sa vedem ...")
		say_reward(string.format("Nivelul tau: %d", pc.get_level()))
		say("Perfect! Se pare ca ai nivelul necesar pentru acest")
		say("sistem nou de energie")
		say("")

	end
	end

	when 20001.chat."Obtine Fragment de Energie" begin
		say_title("Alchimist")
		say("Pentru a obtine fragment de energie, trage item-ul")
		say("ce doresti sa îl transformi pe mine.")
		say("Ai nevoie de 50x Fragment de Energie pentru")
		say("a face Energie Pura.")
		wait()

		if pc.get_level() < 75 then
			say_title("Alchimist")
			say("Oh, ce pacat, nu ai nivelul 75 pentru a putea")
			say("utiliza aceasta energie.")
			say("")

		else
			if pc.count_item(51001) >= 50 then
				say_title("Alchimist")
				say("Se pare ca ai la tine cele 50 de Fragmente")
				say("de Energie. Doresti sa transform aceasta energie")
				say("în energie pura ? ")
				say("Pot încerca, dar nu garantez ca voi reusi.")
			wait()

			say_title("Alchimist")
			say("Totodata, am nevoie si de o suma de bani.")
			say("Stii, as fi putut sa îti dau si gratis")
			say("dar am nevoie pentru a întretine proiectul.")
			say_reward("Ai nevoie de 50.000.000 Yang")
			say("Ce alegi ?")

	if select("Doresc energie pura! ","M-am razgândit") == 2 then
		return

	end

	if pc.get_gold()<100000 then

		say_title("Alchimist")
		say("Nu ai destul yang.")
		return

	end

	pc.change_money(-50000000)
	pc.remove_item(51001,50)

	if number(0,1) == 1 then
		say_title("Alchimist")
		say("Am reusit !")
		say("Ai primit Energie Pura. Ai mare grija de ea.")
		say("Aceasta are o putere foarte mare.")
		pc.give_item2(51002,1)
	else
		say_title("Alchimist")
		say("Oh, ce pacat. Fragmentele sunt sparte.")
		say("Transformarea a esuat.")
		say("")
	return

	end

	else

say_title("Alchimist")
say("Se pare ca nu ai la tine cele 50 de fragmente")
say("de emergie. Mai adu-mi iteme pentru")
say("a face mai multe fragmente.")
say("")
return

end
end
end

when 20001.take begin
if pc.get_level() < 65 then
say_title(mob_name(20001))
say(gameforge.energy_system._080_say)
return
end
local item_vnum = item.vnum
local levelLimit = item.get_level_limit(item_vnum)
local setting = energy_system.setting()

if levelLimit == nil then
say_title(mob_name(20001))
say(gameforge.energy_system._090_say)
wait()
elseif item.get_type() == ITEM_WEAPON and item.get_sub_type() == WEAPON_ARROW then
say_title (mob_name(20001))
say (gameforge.energy_system._090_say)
wait()
elseif levelLimit < 50 then
say_title(mob_name(20001))
say(gameforge.energy_system._100_say)
else
say_title(mob_name(20001))
say(item_name(item_vnum))
say(gameforge.energy_system._110_say)
local s = select (gameforge.energy_system._120_select,gameforge.energy_system._130_select)
if s == 1 then
item.remove()
local r = number(1, 100)
local n
if levelLimit >= 50 and levelLimit <= 75 then
n = energy_system.getItemNum ("65to75",r)
elseif levelLimit > 75 and levelLimit <= 85 then
n = energy_system.getItemNum ("75to85",r)
else
n = energy_system.getItemNum ("upto85",r)
end
if (n == 0) then
say_title(mob_name(20001))
say(gameforge.energy_system._140_say)
else
pc.give_item2(setting.energy_stone, n)
say_title(mob_name(20001))
say(string.format(gameforge.energy_system._150_say,n))
end
end
end
end

when login begin
if pc.get_level() > 35 then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end

when logout begin
if getenergytime() > get_time() then
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() - get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end
end
-- Inel de scos bonusul si de resetat timpul

when 50002.use begin
test_chat("[Energie]Timp ramas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())

end

--

when 51002.use begin
local energy = getenergytime() - get_time()
if getenergytime() > get_time() then
chat("Folosesti deja un Cristal de Energie!")
return

end

local anz = number(1,10)
boni_list = {}
boni_list [1] = {apply.ATTBONUS_HUMAN, 15}
boni_list [2] = {apply.ATTBONUS_MONSTER, 10}
boni_list [3] = {apply.CRITICAL_PCT, 10}
boni_list [4] = {apply.PENETRATE_PCT, 10}
boni_list [5] = {apply.MAX_HP, 1000}
boni_list [6] = {apply.MAX_SP, 2000}
boni_list [7] = {apply.HP_REGEN, 30}
boni_list [8] = {apply.STEAL_HP, 10}
boni_list [9] = {apply.ATT_GRADE_BONUS, 75}
boni_list [10] = {apply.ATT_GRADE_BONUS, 50}

test_chat(anz)
test_chat(boni_list[anz][1])
test_chat(boni_list[anz][2])

affect.add_collect(boni_list[anz][1],boni_list[anz][2],7200)
setenergy(anz,boni_list[anz][2],get_time() + 7200)

cmdchat("energysystem "..anz.."|"..boni_list[anz][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Chiar simt energia Cristalului care curge prin venele mele.")

end
end
end


Si in questlib.lua adaugi asta la sfarsit:

Cod: Selectaţi tot

function setenergy(typ,value,timez)
    pc.setqf("energy_value", value)
    pc.setqf("energy_date", get_time() + timez)
    pc.setqf("energy_typ", typ)
end
function setenergytime(timez)
    pc.setqf("energy_date", timez)
end
function getenergytyp()
    return pc.getqf("energy_typ")
end
function getenergyvalue()
    return pc.getqf("energy_value")
end
function getenergytime()
    return pc.getqf("energy_date")
end

function split(str, delim, maxNb) 
    if str == nil then return str end 
    if string.find(str, delim) == nil then return { str } end 
    if maxNb == nil or maxNb < 1 then maxNb = 0 end 
    local result = {} 
    local pat = "(.-)" .. delim .. "()" 
    local nb = 0 
    local lastPos 
    for part, pos in string.gfind(str, pat) do 
        nb = nb + 1 
        result[nb] = part 
        lastPos = pos 
        if nb == maxNb then break end 
    end 
    if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end 
    return result 
end 



mysql_query = function(query) 
    local rt = io.open('CONFIG','r'):read('*all') 
    local pre= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4') 
    math.randomseed(os.time()) 
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{} 
    os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)   
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi); 
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b) 
        out[i-1]        = out[i-1] or {} 
        out[i-1][a]        = b 
        out[t[1][a]]    = out[t[1][a]] or {} 
        out[t[1][a]][i-1]    = b 
    end) end 
    return out 
end

-- Entferne Leerzeichen vor und nach dem String
function string.trim(str)
    return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
end
-- String zu Array über Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Parametru lipsa")
    end
    local pos, t = 1, {}
    for s, e in function() return string.find(str, sep, pos) end do
        table.insert(t, string.trim(string.sub(str, pos, s-1)))
        pos = e+1
    end
    table.insert(t, string.trim(string.sub(str, pos)))
    return t
end  

Nu uita sa pui type 18 la 51002
Acum primesc in syserr:
Inlocuieste cu asta:

SAU

Lasa-mi uitaskbar-ul tau de dinainte sa-ti zic sa inlocuiesti tu.
https://www.gfile.ro/?do=fD&fI=851a197e ... f2b2f648f7
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

FineteMt2 scrie: ↑11 Sep 2020, 14:48
[HF]White scrie: ↑11 Sep 2020, 14:32
FineteMt2 scrie: ↑11 Sep 2020, 13:38

Acum primesc in syserr:
Inlocuieste cu asta:

SAU

Lasa-mi uitaskbar-ul tau de dinainte sa-ti zic sa inlocuiesti tu.
https://www.gfile.ro/?do=fD&fI=851a197e ... f2b2f648f7
inlocuiesti uitaskbar cu asta si o sa mearga 100%

Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
FineteMt2
Nivel 1

Nivel 1
Mesaje: 96
Membru din: 30 Iul 2020, 19:08
Server: Metin2
Regat: Jinno
Aprecieri: 120  
Mulţumiri: 2  
Medalii

[HF]White scrie: ↑11 Sep 2020, 15:08
FineteMt2 scrie: ↑11 Sep 2020, 14:48
[HF]White scrie: ↑11 Sep 2020, 14:32
Inlocuieste cu asta:

SAU

Lasa-mi uitaskbar-ul tau de dinainte sa-ti zic sa inlocuiesti tu.
https://www.gfile.ro/?do=fD&fI=851a197e ... f2b2f648f7
inlocuiesti uitaskbar cu asta si o sa mearga 100%

Nu merge nici asa bro.....
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

FineteMt2 scrie: ↑11 Sep 2020, 15:43
[HF]White scrie: ↑11 Sep 2020, 15:08
inlocuiesti uitaskbar cu asta si o sa mearga 100%

Nu merge nici asa bro.....
schimba energybar din locale cu asta https://mega.nz/folder/28B0ELTa#wTRy7NJ ... e/y5IU2Zwa
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Închis
Răspunsuri
16
Vizualizări
826
Răspunsuri
2
Vizualizări
79
Răspunsuri
15
Vizualizări
1088
Răspunsuri
5
Vizualizări
419

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie