Ck Quest (K)

Indította Bandyyâ„¢, 2013-01-18, 21:39:09

2013-01-18, 21:39:09 Utolsó szerkesztés: 2013-01-19, 02:11:11 Szerző: [MOD]Aegist
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 =)

hol tárolja sql-ben a CK-kat?

C++ programmer at Gameloft

Account-->account-->web_aktiviert oszlopba

2013-01-18, 22:04:07 #3 Utolsó szerkesztés: 2013-01-18, 22:05:38 Szerző: Distraught
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++ programmer at Gameloft

2013-01-18, 22:10:21 #4 Utolsó szerkesztés: 2013-01-18, 23:45:28 Szerző: Bandyy™
örök hála :) köszönöm



Működik :) Tesztelve :)