Advertisement
Guest User

Quest.lua

a guest
Oct 20th, 2018
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.42 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. local MAX_INVENTAR_YANG = 1999999999
  11. if INPUT[1]=="open" then
  12. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  13. local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 10;")
  14. if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  15. for i=1, table.getn(q.id), 1 do
  16. 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)
  17. end
  18. cmdchat("Handelscenter finishsending/")
  19. elseif INPUT[1]=="logs" then
  20. local q = mysql_query("SELECT * FROM player.handelscenter_logs where owner_id = '"..pc.get_player_id().."' order by date DESC LIMIT 20;")
  21. if q.owner_id==nil then syschat("Gibt keine Logs") cmdchat("Handelscenter nologs/") return end
  22. for i=1, table.getn(q.owner_id), 1 do
  23. if q.owner[i]==pc.get_name() then
  24. q.owner[i] = "dir"
  25. end
  26. if q.buyer[i]==pc.get_name() then
  27. q.buyer[i] = "Du"
  28. end
  29. text = string.gsub(os.date("[%d.%m.%Y %H:%M:%S]", tonumber(q.date[i])), "%s", "$")
  30. cmdchat("Handelscenter logs/"..q.owner[i].."/"..q.vnum[i].."/"..q.count[i].."/"..q.preis[i].."/"..q.buyer[i].."/"..text)
  31. end
  32. cmdchat("Handelscenter finishlogs/")
  33. elseif INPUT[1]=="kategorie" then
  34. local typetable = {
  35. ["Schwerter"] = {1, 0},
  36. ["Zweihänder"] = {1, 3},
  37. ["Dolche"] = {1, 1},
  38. ["Bögen"] = {1, 2},
  39. ["Glocke"] = {1, 4},
  40. ["Fächer"] = {1, 5},
  41. ["Rüstungen"] = {2, 0},
  42. ["Helme"] = {2, 1},
  43. ["Schilder"] = {2, 2},
  44. ["Armbänder"] = {2, 3},
  45. ["Schuhe"] = {2, 4},
  46. ["Halsketten"] = {2, 5},
  47. ["Ohrringe"] = {2, 6},
  48. ["Kostüme"] = {28, 0},
  49. ["Frisuren"] = {28, 1},
  50. ["Gürtel"] = {34, 0},
  51. ["Steine"] = {10, 0}
  52. }
  53. if typetable[INPUT[2]] then
  54. local q = 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].."';")
  55. if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  56. for i=1, table.getn(q.id), 1 do
  57. 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)
  58. end
  59. cmdchat("Handelscenter finishsending/")
  60. else
  61. local q = 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));")
  62. if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  63. for i=1, table.getn(q.id), 1 do
  64. 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)
  65. end
  66. cmdchat("Handelscenter finishsending/")
  67. end
  68. elseif INPUT[1]=="change_button" then
  69. if INPUT[2]=="OWN_ITEMS" then
  70. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  71. local q = mysql_query("SELECT * FROM player.handelscenter WHERE owner_id='"..pc.get_player_id().."';")
  72. if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/OWN_ITEMS") return end
  73. for i=1, table.getn(q.id), 1 do
  74. 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)
  75. end
  76. cmdchat("Handelscenter finishsending/")
  77. elseif INPUT[2]=="ITEMS" then
  78. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  79. local q = mysql_query("SELECT * FROM player.handelscenter where not owner_id = '"..pc.get_player_id().."';")
  80. if q.id==nil then syschat("Es gibt keine Items zu kaufen.") cmdchat("Handelscenter noitems/ITEMS") return end
  81. for i=1, table.getn(q.id), 1 do
  82. 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)
  83. end
  84. cmdchat("Handelscenter finishsending/")
  85. end
  86. elseif INPUT[1]=="buyrem_button" then
  87. if INPUT[2]=="OWN_ITEMS" then
  88. local q = mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
  89. if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4]) return end
  90. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  91. cmdchat("Handelscenter remove/OWN_ITEMS/"..INPUT[4])
  92. y04iL98R80tK.give_item_from_center(q)
  93. elseif INPUT[2]=="ITEMS" then
  94. local q = mysql_query("SELECT * FROM player.handelscenter WHERE id = '"..INPUT[3].."' LIMIT 1;")
  95. if q.vnum==nil then syschat("Das Item wurde wohl schon gekauft!") cmdchat("Handelscenter remove/ITEMS/"..INPUT[4]) return end
  96. if tonumber(q.preis[1])>tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("No enough money") return end
  97. mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..q.preis[1].."' WHERE id = '"..q.owner_id[1].."';")
  98. mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..q.preis[1].."' WHERE id = '"..pc.get_player_id().."';")
  99. 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().."')")
  100. 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().."')")
  101. y04iL98R80tK.give_item_from_center(q)
  102. cmdchat("Handelscenter remove/ITEMS/"..INPUT[4])
  103. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  104. end
  105. elseif INPUT[1]=="yangabheben" then
  106. local inp = tonumber(INPUT[2])
  107. if inp==nil or inp<1 then return end
  108. if inp+pc.get_money()>MAX_INVENTAR_YANG then syschat("So viel kannste nicht im Inventar haben!") return end
  109. if inp>tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1]) then syschat("Nicht so viel Geld im Handelscenter") return end
  110. pc.change_money(inp)
  111. mysql_query("UPDATE player.player SET handelsyang = handelsyang - '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
  112. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  113. elseif INPUT[1]=="yangabgeben" then
  114. local inp = tonumber(INPUT[2])
  115. if inp==nil or inp<1 then return end
  116. if inp>pc.get_money() then syschat("So viel Yang haste nicht im Inventar!") return end
  117. if inp+tonumber(mysql_query("SELECT handelsyang FROM player.player WHERE id = '"..pc.get_player_id().."';").handelsyang[1])>99999999999999 then syschat("Zu viel Yang im Handelscenter!") return end
  118. pc.change_money(-inp)
  119. mysql_query("UPDATE player.player SET handelsyang = handelsyang + '"..inp.."' WHERE id = '"..pc.get_player_id().."';")
  120. cmdchat("Handelscenter yangingui/"..mysql_query("SELECT * FROM player.player WHERE id = '"..pc.get_player_id().."' LIMIT 1;").handelsyang[1])
  121. elseif INPUT[1]=="additem" then
  122. if item.select_cell(tonumber(INPUT[2])) then -- Abfrage ob Item vorhanden
  123. if item.get_vnum()!=tonumber(INPUT[3]) then
  124. syschat("Ein Fehler ist aufgetreten!")
  125. else
  126. 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) }
  127. 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)} }
  128. 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().."')")
  129. item.remove()
  130. syschat("Das Item wurde erfolgreich ins Handelscenter gestellt!")
  131. end
  132. else
  133. syschat("Ein Fehler ist aufgetreten!")
  134. end
  135. end
  136. end
  137. function NumberToMoneyString(money)
  138. local sourceText = tostring(money)
  139. while true do
  140. sourceText, k = string.gsub(sourceText, "^(-?%d+)(%d%d%d)", "%1.%2")
  141. if (k==0) then
  142. break
  143. end
  144. end
  145. return sourceText
  146. end
  147. function give_item_from_center(cen)
  148. mysql_query("DELETE FROM player.handelscenter WHERE id = "..(cen.id[1])..";")
  149. pc.give_item2_select(tonumber(cen.vnum[1]), tonumber(cen.count[1]))
  150. item.set_attr(tonumber(cen.attrtype0[1]), tonumber(cen.attrvalue0[1]), 0)
  151. item.set_attr(tonumber(cen.attrtype1[1]), tonumber(cen.attrvalue1[1]), 1)
  152. item.set_attr(tonumber(cen.attrtype2[1]), tonumber(cen.attrvalue2[1]), 2)
  153. item.set_attr(tonumber(cen.attrtype3[1]), tonumber(cen.attrvalue3[1]), 3)
  154. item.set_attr(tonumber(cen.attrtype4[1]), tonumber(cen.attrvalue4[1]), 4)
  155. item.set_attr(tonumber(cen.attrtype5[1]), tonumber(cen.attrvalue5[1]), 5)
  156. item.set_attr(tonumber(cen.attrtype6[1]), tonumber(cen.attrvalue6[1]), 6)
  157. item.set_socket(0, tonumber(cen.socket0[1]))
  158. item.set_socket(1, tonumber(cen.socket1[1]))
  159. item.set_socket(2, tonumber(cen.socket2[1]))
  160. item.set_socket(3, tonumber(cen.socket3[1]))
  161. item.set_socket(4, tonumber(cen.socket4[1]))
  162. item.set_socket(5, tonumber(cen.socket5[1]))
  163. end
  164. end
  165. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement