Problema producere fragmente de energie

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
ZankyeN
Nou Venit

Nou Venit
Mesaje: 21
Membru din: 21 Noi 2017, 01:43
Aprecieri: 1  
Mulţumiri: 0
Medalii

*Problemă: Creare fragmente
*Resursă folosită: -
*ServerFiles utilizat: ServerFiles Clean 40K
*Syserr: -
*Detalii suplimentare:
Salut Just4Metin !
Am o problemă cu sistemul de energie, pe server aveam deja fragmentele şi cristalele de energie, deci nu a fost nevoie să le implementez.
Am băgat un quest dar nu pot să produc fragmente.
Dacă îmi bag fragmente din cod, cristal de energie pot să fac.

Aici este eroarea pe care mi-o afişează PuTTY :
mysql: ambiguous option '--e=SELECT limitvalue0 FROM player.item_proto WHERE vnum='11299' LIMIT 1;' (enable_cleartext_plugin, execute)
Aici este quest-ul :

Cod: Selectaţi tot

quest energy_system begin
state start begin
when 20001.chat."O nouă descoperire" begin 
say_title("Alchimist:")
say("")
say("Nu-mi vine să cred! Am reuşit!")
say("În sfârsit am creat noul sistem de energie pură.")
say("Am să îti spun cum, fii atent. Această energie stă ")
say("în jurul fiecăruia. Am încercat să extrag această ")
say("energie din arme şi armuri. A fost foarte dificil")
say("dar am reuşit, în sfârsit!")
say("")
wait() 
say_title("Alchimist:")
say("")
say("Dacă cumva eşti interesat de acest sistem, adu-mi")
say("arme şi armuri pentru a le transforma în fragmente")
say("de energie. Dacă vei avea noroc, voi face ca aceste")
say("fragmente ce le-ai adunat să se unească între ele")
say("şi se for transforma într-un cristal de energie.")
say("Sper că acest sistem va ajuta multă lume.") 
say("")
set_state("make") 
end
end 
state make begin
when 20001.chat."Informaţii despre fragmentele de energie" begin 
say_title("Alchimist:")
say("")
say("Acum ştii cum funcţionează. Aceste obiecte pe")
say("care mi le aduci le voi transforma în Fragmente")
say("de Energie si nu le vei mai putea folosi.")
say("Energia extrasă din ele îţi va oferi un bonus")
say("aleatoriu timp de 2h. Ca să faci Fragmente de")
say("Energie trebuie să ai minim nivelul 35.") 
say("")
wait() 
if pc.get_level() < 35 then 
say_title("Alchimist:")
say("")
say("Oh, îmi pare rău, dar trebuie să ai nivelul 35")
say("pentru a putea crea Energie Pură.") 
say("")
else 
say_title("Alchimist:")
say("")
say("Perfect! Se pare că ai nivelul necesar pentru a")
say("crea energie pură.") 
say("")
end 
end 
when 20001.chat."Obţine fragmente de energie" begin 
say_title("Alchimist:")
say("")
say("Pentru a face energie pură ai nevoie de cel puţin")
say("30 fragmente de energie.")
say("")
wait()
if pc.get_level() < 35 then 
say_title("Alchimist:")
say("")
say("Oh, ce păcat, nu ai nivelul 35 pentru a putea")
say("crea energie pură.") 
say("")
else
if pc.count_item(51001) >= 30 then 
say_title("Alchimist:")
say("")
say("Se pare că ai cele 30 de Fragmente de Energie.")
say("Vrei să transform această energie în Energie Pură?")
say("Pot încerca, dar nu garantez că voi reuşi.")
say("")
wait() 
say_title("Alchimist:")
say("")
say("Totodată, am nevoie şi de o sumă de bani.")
say("Ştii, aş fi putut să îţi fac şi gratis")
say("dar am nevoie pentru a întreţine proiectul...")
say("Te va costa 500.000 Yang.")
say("Eşti sigur că doreşti să creezi energie?")
say("")

if select("Da","Nu") == 2 then

return
end

pc.change_money(-500000)
pc.remove_item(51001,30)

if number(0,1) == 1 then 
say_title("Alchimist:")
say("")
say("Am reuşit să creez Energie Pură.")
say("")
say_item("Ai primit un Cristal de Energie", 51002, "") 
pc.give_item2(51002,1) 
else 
say_title("Alchimist:")
say("")
say("Oh, ce păcat. Fragmentele sunt sparte.")
say("Transformarea a eşuat.")
say("")
return
end 
else 
say_title("Alchimist:")
say("")
say("Se pare că nu ai la tine cele 30 de Fragmente")
say("de Energie. Mai adu-mi obiecte pentru a face")
say("mai multe Fragmente de Energie.")
say("")
return
end 
end
end
when 20001.take begin
if pc.get_level() < 35 then
return
end

if item.get_type() == 1 or item.get_type() == 2 then
local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
test_chat(maxlvl[1][1])
if tonumber(maxlvl[1][1]) < 35 then 
say_title("Alchimist:")
say("")
say("Din acest obiect nu se poate crea energie.") 
say("")
return
end

say_title("Alchimist:")
say("")
say(string.trim(item.get_name()))
say("Chiar doreşti să distrugi acest obiect?")
say("")
if select("Da","Nu") == 2 then
return
else
local numar = number(0,15)
if numar > 0 then
say_title("Alchimist:")
say("")
say("Am reuşit să extrag energia din obiect!") 
say_item("Ai primit "..numar.." Fragment(e) de Energie", 51001, "") 
pc.give_item2(51001, numar)
else
say_title("Alchimist:")
say("")
say("Am eşuat. Din păcate nu am putut extrage energia")
say("din acest obiect.")
say("")
return
end
item.remove()
end

else
say_title("Alchimist:")
say("")
say("Acest obiect nu are energie!") 
say("")
end
end 
when login begin
if getenergytime() < 50000 then
test_chat("[ENERGIE] Timp rămas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
end
end 
when logout begin
if getenergytime() > get_time() then
local energy = getenergytime() - get_time()
if energy > 0 then
setenergytime(energy)
end
end
end 
when 51002.use begin
if getenergytime() > get_time() then
chat("Foloseşti deja un Cristal de Energie!")

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

test_chat(bonus)
test_chat(lista_bonus[bonus][1])
test_chat(lista_bonus[bonus][2])

affect.add_collect(lista_bonus[bonus][1],lista_bonus[bonus][2],7200)
setenergy(bonus,lista_bonus[bonus][2],get_time() + 7200)

cmdchat ("energysystem "..bonus.."|"..lista_bonus[bonus][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Simt energia cristalului cum curge prin venele mele.") 
end
end
end
Şi aici funcţiile din questlib :

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 uber Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Fehlende Parameter")
    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 
Mă puteţi ajuta şi pe mine cu o rezolvare ?
Mulţumesc !
Ultima oară modificat 07 Feb 2018, 16:43 de către ZankyeN, modificat de 2 ori în total.
Avatar utilizator
F-l-o-r-i-n
Nivel 3

Nivel 3
Mesaje: 320
Membru din: 12 Ian 2018, 14:07
Server: Thrones2
Regat: Chunjo
Aprecieri: 44  
Mulţumiri: 713  
Medalii

Pe 40k nu ai direct din sursa tot ce trebuie pt sistemul de energie? Adica nu ai nevoie de: SELECT limitvalue0 FROM player.item_proto WHERE vnum='11299' LIMIT 1

Eu asa stiam.

Uite questurile officiale: https://mega.nz/#!LtlFkLrD!h6UNz6eqKxQY ... BAszWwleWA dar trebuie traduse sau daca mai cauti cred ca le gasesti deja traduse pe aici.
Avatar utilizator
Rimex
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 182
Membru din: 31 Ian 2018, 12:23
Server: BraveS
Regat: Chunjo
Aprecieri: 3  
Mulţumiri: 354  
Discord: Copiază ID
Medalii

ZankyeN scrie:*Problemă: Creare fragmente
*Resursă folosită: -
*ServerFiles utilizat: ServerFiles Clean 40K
*Syserr: -
*Detalii suplimentare:
Salut Just4Metin !
Am o problemă cu sistemul de energie, pe server aveam deja fragmentele şi cristalele de energie, deci nu a fost nevoie să le implementez.
Am băgat un quest dar nu pot să produc fragmente.
Dacă îmi bag fragmente din cod, cristal de energie pot să fac.

Aici este eroarea pe care mi-o afişează PuTTY :
mysql: ambiguous option '--e=SELECT limitvalue0 FROM player.item_proto WHERE vnum='11299' LIMIT 1;' (enable_cleartext_plugin, execute)
Aici este quest-ul :

Cod: Selectaţi tot

quest energy_system begin
state start begin
when 20001.chat."O nouă descoperire" begin 
say_title("Alchimist:")
say("")
say("Nu-mi vine să cred! Am reuşit!")
say("În sfârsit am creat noul sistem de energie pură.")
say("Am să îti spun cum, fii atent. Această energie stă ")
say("în jurul fiecăruia. Am încercat să extrag această ")
say("energie din arme şi armuri. A fost foarte dificil")
say("dar am reuşit, în sfârsit!")
say("")
wait() 
say_title("Alchimist:")
say("")
say("Dacă cumva eşti interesat de acest sistem, adu-mi")
say("arme şi armuri pentru a le transforma în fragmente")
say("de energie. Dacă vei avea noroc, voi face ca aceste")
say("fragmente ce le-ai adunat să se unească între ele")
say("şi se for transforma într-un cristal de energie.")
say("Sper că acest sistem va ajuta multă lume.") 
say("")
set_state("make") 
end
end 
state make begin
when 20001.chat."Informaţii despre fragmentele de energie" begin 
say_title("Alchimist:")
say("")
say("Acum ştii cum funcţionează. Aceste obiecte pe")
say("care mi le aduci le voi transforma în Fragmente")
say("de Energie si nu le vei mai putea folosi.")
say("Energia extrasă din ele îţi va oferi un bonus")
say("aleatoriu timp de 2h. Ca să faci Fragmente de")
say("Energie trebuie să ai minim nivelul 35.") 
say("")
wait() 
if pc.get_level() < 35 then 
say_title("Alchimist:")
say("")
say("Oh, îmi pare rău, dar trebuie să ai nivelul 35")
say("pentru a putea crea Energie Pură.") 
say("")
else 
say_title("Alchimist:")
say("")
say("Perfect! Se pare că ai nivelul necesar pentru a")
say("crea energie pură.") 
say("")
end 
end 
when 20001.chat."Obţine fragmente de energie" begin 
say_title("Alchimist:")
say("")
say("Pentru a face energie pură ai nevoie de cel puţin")
say("30 fragmente de energie.")
say("")
wait()
if pc.get_level() < 35 then 
say_title("Alchimist:")
say("")
say("Oh, ce păcat, nu ai nivelul 35 pentru a putea")
say("crea energie pură.") 
say("")
else
if pc.count_item(51001) >= 30 then 
say_title("Alchimist:")
say("")
say("Se pare că ai cele 30 de Fragmente de Energie.")
say("Vrei să transform această energie în Energie Pură?")
say("Pot încerca, dar nu garantez că voi reuşi.")
say("")
wait() 
say_title("Alchimist:")
say("")
say("Totodată, am nevoie şi de o sumă de bani.")
say("Ştii, aş fi putut să îţi fac şi gratis")
say("dar am nevoie pentru a întreţine proiectul...")
say("Te va costa 500.000 Yang.")
say("Eşti sigur că doreşti să creezi energie?")
say("")

if select("Da","Nu") == 2 then

return
end

pc.change_money(-500000)
pc.remove_item(51001,30)

if number(0,1) == 1 then 
say_title("Alchimist:")
say("")
say("Am reuşit să creez Energie Pură.")
say("")
say_item("Ai primit un Cristal de Energie", 51002, "") 
pc.give_item2(51002,1) 
else 
say_title("Alchimist:")
say("")
say("Oh, ce păcat. Fragmentele sunt sparte.")
say("Transformarea a eşuat.")
say("")
return
end 
else 
say_title("Alchimist:")
say("")
say("Se pare că nu ai la tine cele 30 de Fragmente")
say("de Energie. Mai adu-mi obiecte pentru a face")
say("mai multe Fragmente de Energie.")
say("")
return
end 
end
end
when 20001.take begin
if pc.get_level() < 35 then
return
end

if item.get_type() == 1 or item.get_type() == 2 then
local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
test_chat(maxlvl[1][1])
if tonumber(maxlvl[1][1]) < 35 then 
say_title("Alchimist:")
say("")
say("Din acest obiect nu se poate crea energie.") 
say("")
return
end

say_title("Alchimist:")
say("")
say(string.trim(item.get_name()))
say("Chiar doreşti să distrugi acest obiect?")
say("")
if select("Da","Nu") == 2 then
return
else
local numar = number(0,15)
if numar > 0 then
say_title("Alchimist:")
say("")
say("Am reuşit să extrag energia din obiect!") 
say_item("Ai primit "..numar.." Fragment(e) de Energie", 51001, "") 
pc.give_item2(51001, numar)
else
say_title("Alchimist:")
say("")
say("Am eşuat. Din păcate nu am putut extrage energia")
say("din acest obiect.")
say("")
return
end
item.remove()
end

else
say_title("Alchimist:")
say("")
say("Acest obiect nu are energie!") 
say("")
end
end 
when login begin
if getenergytime() < 50000 then
test_chat("[ENERGIE] Timp rămas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
end
end 
when logout begin
if getenergytime() > get_time() then
local energy = getenergytime() - get_time()
if energy > 0 then
setenergytime(energy)
end
end
end 
when 51002.use begin
if getenergytime() > get_time() then
chat("Foloseşti deja un Cristal de Energie!")

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

test_chat(bonus)
test_chat(lista_bonus[bonus][1])
test_chat(lista_bonus[bonus][2])

affect.add_collect(lista_bonus[bonus][1],lista_bonus[bonus][2],7200)
setenergy(bonus,lista_bonus[bonus][2],get_time() + 7200)

cmdchat ("energysystem "..bonus.."|"..lista_bonus[bonus][2].."#"..(get_time() + 7200))

setenergytime(get_time() + 7200)

item.remove()
chat("Simt energia cristalului cum curge prin venele mele.") 
end
end
end
Şi aici funcţiile din questlib :

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 uber Seperator
function string.explode(str, sep)
    if sep == "" or str == "" then
        error("Fehlende Parameter")
    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 
Mă puteţi ajuta şi pe mine cu o rezolvare ?
Mulţumesc !
1.
state start begin
when 20001.chat."O nouă descoperire" with game.get_event_flag("energy") == 1 begin
say("Nu-mi vine să cred, am reuşit!")
say("În sfârşit am creat noul sistem de energie pură. ")
say("Am să îţi spun cum, fii atent. Această energie stă ")
say("în jurul fiecăruia. Am încercat să extrag această ")
say("energie din arme şi armuri. A fost foarte dificil.")
say("dar am reuşit, în sfârşit !")
wait()
say_title("Alchimist")
say("Dacă cumva eşti interesat de acest sistem, adu-mi")
say("arme, armuri pentru a le transforma în")
say("Fragment de Energie. Dacă vei avea noroc, voi face")
say("ca aceste fragmente ce le-ai adunat să se unească ")
say("între ele, şi îţi vor oferi un Cristal de Energie.")
say("Sper că acest sistem va ajuta multă lume.")
set_state("make")
end
end
state make begin
when 20001.chat."Informaţii despre Fragmente de energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist")
say("Acum ştii cum funcţionează treaba. Fii atent")
say("că aceste iteme pe care le aduci se transformă în")
say("Fragment de energie. Nu te vei mai putea folosi de")
say("aceste iteme. Energia extrasă din ele este foarte")
say("puternică şi oferă unele bonusuri mari.")
say("Trebuie să ştii o condiţie înainte să începem")
say("această transformare.")
say("Ai nevoie de nivelul minim 75.")
say("Hm, vom vedea imediat nivelul tău.")
say("")
wait()
if pc.get_level() < 75 then
say_title("Alchimist")
say("Să vedem ...")
say_reward(string.format("Nivelul tău: %d", pc.get_level()))
say("Oh, îmi pare rău, dar trebuie să ai nivelul 75")
say("pentru a putea utiliza această energie.")
else -- NICHT DE
say_title("Alchimist")
say("Să vedem ...")
say_reward(string.format("Nivelul tău: %d", pc.get_level()))
say("Perfect! Se pare că ai nivelul necesar pentru acest")
say("sistem nou de energie")
say("")
end

end

when 20001.chat."Obţine Fragment de Energie" with game.get_event_flag("energy") == 1 begin
say_title("Alchimist")
say("Pentru a obţine fragment de energie, trage item-ul")
say("ce doreşti să îl transformi pe mine.")
say("Ai nevoie de 50 Fragmente de Energie pentru")
say("a face Energie Pură.")
wait()
if pc.get_level() < 75 then
say_title("Alchimist")
say("Oh, ce păcat, nu ai nivelul 75 pentru a putea")
say("utiliza această energie.")
say("")
else
if pc.count_item(51001) >= 50 then
say_title("Alchimist")
say("Se pare că ai la tine cele 50 de Fragmente")
say("de Energie. Doreşti să transform această energie")
say("în energie pură ? ")
say("Pot încerca, dar nu garantez că voi reuşi.")
wait()
say_title("Alchimist")
say("Totodată, am nevoie şi de o sumă de bani.")
say("Ştii, aş fi putut să îţi dau şi gratis")
say("dar am nevoie pentru a întreţine proiectul.")
say_reward("Ai nevoie de 50.000.000 Yang")
say("Ce alegi ?")
if select("Doresc energie pură! ","M-am răzgândit") == 2 then
return
end

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

if number(0,1) == 1 then
say_title("Alchimist")
say("Am reuşit !")
say("Ai primit Energie Pură. Ai mare grijă de ea.")
say("Aceasta are o putere foarte mare.")
pc.give_item2(51002,1)
else -- NICHT DE
say_title("Alchimist")
say("Oh, ce păcat. Fragmentele sunt sparte.")
say("Transformarea a eşuat.")
say("")
return
end

else -- NICHT DE
say_title("Alchimist")
say("Se pare că 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 with game.get_event_flag("energy") == 1 begin
if pc.get_level() < 75 then
return
end

if item.get_type() == 1 or item.get_type() == 2 then

-- 2070 - 2239
-- 80 - 369
-- 1040 - 1189
-- 3070 - 3249
-- 5040 - 5359
-- 4030 - 4069
-- 7070 - 7219
-- 11250 - 11299
-- 11450 - 11499
-- 11650 - 11699
-- 11850 - 11899
-- 12240 - 12699

local maxlvl = mysql_query("SELECT limitvalue0 FROM player.item_proto WHERE vnum='"..item.get_vnum().."' LIMIT 1;")
test_chat(maxlvl[1][1])
if tonumber(maxlvl[1][1]) < 35 then
-- NICHT DE
say_title("Alchimist")
say("Acest articol nu se potriveşte.")
return
end

say_title("Alchimist")
say(string.trim(item.get_name()))
say("Chiar doreşti să distrugi acest obiect?")
if select("Da!","Nu, nu încă ") == 2 then
return
else
local anzahl = number(0,15)
if anzahl > 0 then
say_title("Alchimist")
say("Felicitări. Ai primit "..anzahl.." Fragmente.")
say("Mai adu-mi iteme.")
pc.give_item2(51001, anzahl)
else
say_title("Alchimist")
say("Am eşuat. Din păcate nu am putut extrage energia")
say("din acest obiect.")
return
end
item.remove()
end

else -- NICHT DE
say_title("Alchimist")
say("Acest item nu are energie!")
end
end

when login begin
if getenergytime() < 50000 then
test_chat("[Energie]Timp rămas: "..getenergytime())
setenergytime(getenergytime() + get_time())
cmdchat("energysystem "..getenergytyp().."|"..getenergyvalue().."#"..getenergytime())
end
end
when logout begin
if getenergytime() > get_time() then
local energy = getenergytime() - get_time()
if energy > 0 then
setenergytime(energy)
end
end
end

when 51002.use begin
if getenergytime() > get_time() then
chat("Foloseşti 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
2.Quest Energy_manager:
quest energy_manage begin
state start begin
when 20001.chat."GM: Sistemul de energie" with pc.is_gm() begin
say_title("Salutare!")
say("Bine ai venit la Energy Event!")
say_reward("Ce doreşti să faci?")
local s = select("Porneşte event","Opreşte event","Înapoi")
if s == 1 then
game.set_event_flag("energy",1)
notice_all("Event: Sistemul de energie a fost pornit.")
elseif s == 2 then
game.set_event_flag("energy",0)
notice_all("Event: Sistemul de energie a fost oprit")
elseif s == 3 then
return
end
end
end
end
3.Pentru funcţii:
getenergytime
getenergytyp
getenergyvalue
mysql_query
setenergy
setenergytime
string.trim
Nu uita de . qc reload q în joc şi un reboot după !Dacă vrei să îţi meargă .
Imagine
Afișează semnătura
Avatar utilizator
ZankyeN
Nou Venit

Nou Venit
Mesaje: 21
Membru din: 21 Noi 2017, 01:43
Aprecieri: 1  
Mulţumiri: 0
Medalii

Am încercat şi aşa dar tot nu funcţiona.
Până la urmă am rezolvat singur, tot cu cele pe care le aveam.

În linia asta din questlib :
os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)
Am înlocuit :
"--e="  cu  "--execute="
Acum funcţionează perfect.
Totuşi, merci frumos pentru ajutor.
Se poate da T/C.
Avatar utilizator
dragos001
Nivel 4

Nivel 4
Mesaje: 566
Membru din: 01 Mar 2014, 14:08
Aprecieri: 2  
Mulţumiri: 483  
Medalii

Rezolvat!
Ai nevoie de support? Contacteaza-ma!

Contact!
Discord: Dragos001#6927
Afișează semnătura
Închis
Răspunsuri
4
Vizualizări
534
Răspunsuri
3
Vizualizări
345
Răspunsuri
3
Vizualizări
781

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori