Metin2 Hungarian Forum

Metin2 => Segítség => Szerver készítés => Privát szerverek => Archívum => A témát indította: Bandyyâ„¢ Dátum 2013-01-18, 21:39:09

Cím: Ck Quest (K)
Írta: Bandyyâ„¢ Dátum 2013-01-18, 21:39:09
Sziasztok.

Megszeretnék kérni valakit, aki szívesen segítene megírni egy questet, mert én valahogy értek hozzá :D
Az lenne hogy egy bizonyos npc-be (pl skill adó csajszi) lehessen xy yangért venni xy ck pontot, amit ugye a honlapon tud megcsinálni majd.

Köszi =)
Cím: Re:Ck Quest
Írta: Distraught Dátum 2013-01-18, 21:40:27
hol tárolja sql-ben a CK-kat?
Cím: Re:Ck Quest
Írta: Bandyyâ„¢ Dátum 2013-01-18, 21:42:48
Account-->account-->web_aktiviert oszlopba
Cím: Re:Ck Quest
Írta: Distraught Dátum 2013-01-18, 22:04:07
nyisd meg questlib.lua fájlt, és ha még nincs benne, akkor ezt írd a végére:

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


majd quest_functions végére is írd be:

mysql_query


ezután itt egy quest, tedd be:

quest xy begin
state start begin
when NPCID.chat."CK vásárlás" begin
y = YANGÖSSZEG
say("Szeretnél CK-t venni?")
say("1 CK pont = "..y.." yang")
local vesz = select("Veszek","Nem veszek")
if vesz == 2 then
return
end
if vesz == 1 then
say("Mennyi CK pontot szeretnél venni?")
ck = tonumber(input())
if ck < 0 then
say("Nem vehetsz negatív összegnyit.")
return
end
if pc.get_gold() < ck*y then
say("Nincs elég yangod.")
return
end
pc.changemoney(-ck*y)
mysql_query("UPDATE account.account SET web_aktiviert = web_aktiviert + "..ck.." WHERE id = "..pc.get_account_id()..";")
say("Sikeresen megvettél "..ck.." CK pontot.")
end
end
end
end

ahol látod, hogy y = YANGÖSSZEG oda írd be, hogy mennyi yang legyen 1 ck (pl.: y = 100)
Cím: Re:Ck Quest
Írta: Bandyyâ„¢ Dátum 2013-01-18, 22:10:21
örök hála :) köszönöm



Működik :) Tesztelve :)
EhPortal 1.39 © 2025, WebDev