Advertisement
thespeedy

handelscenter.quest

Oct 24th, 2015
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 13.68 KB | None | 0 0
  1. quest y04iL98R80tK begin
  2.     state start begin
  3.         when login begin
  4.             cmdchat("Handelscenter index/"..q.getcurrentquestindex())
  5.         end
  6.         when button or info begin
  7.             cmdchat("getinputbegin")
  8.             local INPUT = split(input(cmdchat("Handelscenter input/")), "/")
  9.             cmdchat("getinputend")
  10.             if INPUT[1]=="open" then
  11.                 cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  12.                 local q = game.mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 10;")
  13.                 if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  14.                 for i=1, table.getn(q.id), 1 do
  15.                     cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
  16.                 end
  17.                 cmdchat("Handelscenter finishsending/")
  18.             elseif INPUT[1]=="logs" then
  19.                 local q = game.mysql_query("SELECT * FROM player.handelscenter_logs where owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 20;")
  20.                 if q.owner_id==nil then syschat("Gibt keine Logs") cmdchat("Handelscenter nologs/") return end
  21.                 for i=1, table.getn(q.owner_id), 1 do
  22.                     if q.owner[i]==pc.get_name() then
  23.                         q.owner[i] = "dir"
  24.                     end
  25.                     if q.buyer[i]==pc.get_name() then
  26.                         q.buyer[i] = "Du"
  27.                     end
  28.                     text = string.gsub(os.date("[%d.%m.%Y %H:%M:%S]", tonumber(q.date[i])), "%s", "$")
  29.                     cmdchat("Handelscenter logs/"..q.owner[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.buyer[i].."/"..text)
  30.                 end
  31.                 cmdchat("Handelscenter finishlogs/")
  32.             elseif INPUT[1]=="kategorie" then
  33.                 local typetable = {
  34.                                     ["Schwerter"] = {1, 0},
  35.                                     ["Zweihänder"] = {1, 3},
  36.                                     ["Dolche"] = {1, 1},
  37.                                     ["Bögen"] = {1, 2},
  38.                                     ["Glocke"] = {1, 4},
  39.                                     ["Fächer"] = {1, 5},
  40.                                     ["Rüstungen"] = {2, 0},
  41.                                     ["Helme"] = {2, 1},
  42.                                     ["Schilder"] = {2, 2},
  43.                                     ["Armbänder"] = {2, 3},
  44.                                     ["Schuhe"] = {2, 4},
  45.                                     ["Halsketten"] = {2, 5},
  46.                                     ["Ohrringe"] = {2, 6},
  47.                                     ["Kostüme"] = {28, 0},
  48.                                     ["Frisuren"] = {28, 1},
  49.                                     ["Gürtel"] = {34, 0},
  50.                                     ["Steine"] = {10, 0}
  51.                                 }
  52.                 if typetable[INPUT[2]] then
  53.                     local q = game.mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' and type='"..typetable[INPUT[2]][1].."' and subtype='"..typetable[INPUT[2]][2].."';")
  54.                     if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  55.                     for i=1, table.getn(q.id), 1 do
  56.                         cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
  57.                     end
  58.                     cmdchat("Handelscenter finishsending/")
  59.                 else
  60.                     local q = game.mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' and (type not in (1,2,28,10,34) or subtype not in (0,1,2,3,4,5,6));")
  61.                     if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  62.                     for i=1, table.getn(q.id), 1 do
  63.                         cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
  64.                     end
  65.                     cmdchat("Handelscenter finishsending/")
  66.                 end
  67.             elseif INPUT[1]=="change_button" then
  68.                 if INPUT[2]=="OWN_ITEMS" then
  69.                     cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  70.                     local q = game.mysql_query("SELECT * FROM player.handelscenter WHERE owner_id='"..pc.get_player_id().."';")
  71.                     if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/OWN_ITEMS") return end
  72.                     for i=1, table.getn(q.id), 1 do
  73.                         cmdchat("Handelscenter itemvonliste/OWN_ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
  74.                     end
  75.                     cmdchat("Handelscenter finishsending/")
  76.                 elseif INPUT[2]=="ITEMS" then
  77.                     cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  78.                     local q = game.mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."';")
  79.                     if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  80.                     for i=1, table.getn(q.id), 1 do
  81.                         cmdchat("Handelscenter itemvonliste/ITEMS/"..q.id[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.name[i].."/"..q.attrtype0[i].."/"..q.attrvalue0[i].."/"..q.attrtype1[i].."/"..q.attrvalue1[i].."/"..q.attrtype2[i].."/"..q.attrvalue2[i].."/"..q.attrtype3[i].."/"..q.attrvalue3[i].."/"..q.attrtype4[i].."/"..q.attrvalue4[i].."/"..q.attrtype5[i].."/"..q.attrvalue5[i].."/"..q.attrtype6[i].."/"..q.attrvalue6[i].."/"..q.socket0[i].."/"..q.socket1[i].."/"..q.socket2[i].."/"..q.socket3[i].."/"..q.socket4[i].."/"..q.socket5[i].."/"..table.getn(q.id).."/"..i)
  82.                     end
  83.                     cmdchat("Handelscenter finishsending/")
  84.                 end
  85.             elseif INPUT[1]=="buyrem_button" then
  86.                 if INPUT[2]=="OWN_ITEMS" then
  87.                     local q = game.mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
  88.                     if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4]) return end
  89.                     cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  90.                     cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4])
  91.                     y04iL98R80tK.give_item_from_center(q)
  92.                 elseif INPUT[2]=="ITEMS" then
  93.                     local q = game.mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
  94.                     if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/ITEMS/"..INPUT[4]) return end
  95.                     if tonumber(q.preis[1])>tonumber(game.mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("No enough money") return end
  96.                     game.mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..q.preis[1].."' WHERE id = '"..q.owner_id[1].."';")
  97.                     game.mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..q.preis[1].."' WHERE id = '"..pc.get_player_id().."';")
  98.                     game.mysql_query("INSERT INTO player.handelscenter_logs (owner_id, buyer_id, owner, buyer, preis,count,vnum,date) VALUES ('"..pc.get_player_id().."', '"..q.owner_id[1].."', '"..q.name[1].."', '"..pc.get_name().."', '"..q.preis[1].."', '"..q.count[1].."', '"..q.vnum[1].."', '"..get_time().."')")
  99.                     game.mysql_query("INSERT INTO player.handelscenter_logs (owner_id, buyer_id, owner, buyer, preis,count,vnum,date) VALUES ('"..q.owner_id[1].."', '"..pc.get_player_id().."', '"..q.name[1].."', '"..pc.get_name().."', '"..q.preis[1].."', '"..q.count[1].."', '"..q.vnum[1].."', '"..get_time().."')")
  100.                     y04iL98R80tK.give_item_from_center(q)
  101.                     cmdchat("Handelscenter remove/ITEMS/"..INPUT[4])
  102.                     cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  103.                 end
  104.             elseif INPUT[1]=="yangabheben" then
  105.                 say_title("Wie viel Yang willst du entnehmen?")
  106.                 local inp = tonumber(input())
  107.                 if inp==nil or inp==0 then return end
  108.                 if inp<0 then syschat("Warum willst du Yang buggen?!") return end
  109.                 --if inp+pc.get_money()>1999999999 then syschat("So viel kannste nicht abheben!") return end
  110.                 if inp>tonumber(game.mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("No enough money") return end
  111.                 pc.change_money(inp)
  112.                 game.mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
  113.                 cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  114.             elseif INPUT[1]=="yangabgeben" then
  115.                 say_title("Wie viel Yang willst du einlagern?")
  116.                 local inp = tonumber(input())
  117.                 if inp==nil or inp==0 then return end
  118.                 if inp<0 then syschat("Warum willst du Yang buggen?!") return end
  119.                 --if inp+pc.get_money()>1999999999 then syschat("So viel kannste nicht abheben!") return end
  120.                 pc.change_money(-inp)
  121.                 game.mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
  122.                 cmdchat("Handelscenter yangingui/"..game.mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  123.             elseif INPUT[1]=="additem" then
  124.                 if item.select_cell(tonumber(INPUT[2])) then -- Abfrage ob Item vorhanden
  125.                     if item.get_vnum()!=tonumber(INPUT[3]) then
  126.                         syschat("Ein Fehler ist aufgetreten!")
  127.                     else
  128.                         local block_list = {0} -- Die Items die geblockt werden sollen.
  129.                         if y04iL98R80tK.IsInTable(tonumber(INPUT[3]), block_list) then
  130.                             syschat("Du kannst dieses Item nicht ins Auktionshaus legen.")
  131.                             return
  132.                         end
  133.                         local sockets = { item.get_socket(0), item.get_socket(1), item.get_socket(2), item.get_socket(3), item.get_socket(4), item.get_socket(5) }
  134.                         local boni = { {item.get_attr_type(0), item.get_attr_value(0)}, {item.get_attr_type(1), item.get_attr_value(1)}, {item.get_attr_type(2), item.get_attr_value(2)}, {item.get_attr_type(3), item.get_attr_value(3)}, {item.get_attr_type(4), item.get_attr_value(4)}, {item.get_attr_type(5), item.get_attr_value(5)}, {item.get_attr_type(6), item.get_attr_value(6)} }
  135.                         game.mysql_query("INSERT INTO player.handelscenter (owner_id,name,preis,count,vnum,socket0,socket1,socket2,socket3,socket4,socket5,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,type,subtype, date) VALUES ("..(pc.get_player_id())..",'"..(pc.get_name()).."',"..(tonumber(INPUT[4]))..", "..(item.get_count())..","..(item.get_vnum())..", "..(item.get_socket(0))..", "..(item.get_socket(1))..", "..(item.get_socket(2))..", "..(item.get_socket(3))..", "..(item.get_socket(4))..", "..(item.get_socket(5))..","..(boni[1][1])..","..(boni[1][2])..","..(boni[2][1])..","..(boni[2][2])..","..(boni[3][1])..","..(boni[3][2])..","..(boni[4][1])..","..(boni[4][2])..","..(boni[5][1])..","..(boni[5][2])..","..(boni[6][1])..","..(boni[6][2])..","..(boni[7][1])..","..(boni[7][2])..", '"..item.get_type().."', '"..item.get_sub_type().."', '"..get_time().."')")
  136.                         item.remove()
  137.                         syschat("Das Item wurde erfolgreich ins Handelscenter gestellt!")
  138.                     end
  139.                 else
  140.                     syschat("Ein Fehler ist aufgetreten!")
  141.                 end
  142.             end
  143.         end
  144.         function IsInTable(var, t)
  145.             for i=1, table.getn(t), 1 do
  146.                 if t[i]==var then
  147.                     return true
  148.                 end
  149.             end
  150.             return false
  151.         end
  152.         function NumberToMoneyString(money)
  153.             local sourceText = tostring(money)
  154.             while true do
  155.                 sourceText, k = string.gsub(sourceText, "^(-?%d+)(%d%d%d)", "%1.%2")
  156.                 if (k==0) then
  157.                     break
  158.                 end
  159.             end
  160.             return sourceText
  161.         end
  162.         function give_item_from_center(cen)
  163.             game.mysql_query("DELETE FROM player.handelscenter WHERE id = "..(cen.id[1])..";")
  164.             pc.give_item2_select(cen.vnum[1], cen.count[1])
  165.             item.set_value(0, cen.attrtype0[1], cen.attrvalue0[1])
  166.             item.set_value(1, cen.attrtype1[1], cen.attrvalue1[1])
  167.             item.set_value(2, cen.attrtype2[1], cen.attrvalue2[1])
  168.             item.set_value(3, cen.attrtype3[1], cen.attrvalue3[1])
  169.             item.set_value(4, cen.attrtype4[1], cen.attrvalue4[1])
  170.             item.set_value(5, cen.attrtype5[1], cen.attrvalue5[1])
  171.             item.set_value(6, cen.attrtype6[1], cen.attrvalue6[1])
  172.             item.set_socket(0, cen.socket0[1])
  173.             item.set_socket(1, cen.socket1[1])
  174.             item.set_socket(2, cen.socket2[1])
  175.             item.set_socket(3, cen.socket3[1])
  176.             item.set_socket(4, cen.socket4[1])
  177.             item.set_socket(5, cen.socket5[1])
  178.         end
  179.     end
  180. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement