euch wieder zwei nette Quest.
Da ich Sie nicht mehr benutze, teile ich sie euch.
Ist nur ein "when" Block, fügt sie also in irgendeiner bereits
vorhanden quest ein die nicht beendet wird.
Funktion :
Man kann bei Seon-Pyeong Magische Steine herstellen. Hierbei
benötigt man 100.000 Yang, 1 Magisches Kupfererz(70035) und Eisen
verarbeitet (30065). Die Kunst hierbei ist, dass die Erfolgschance
abhängig von den Eisen-Mengen ist. Je mehr "Eisen verarbeitet" man
für einen "Versuch" zur Verfügung stellt, desto höher die Erfolgschance.
1 Eisen = 10% usw.
5 Eisen = 50% usw.
8 Eisen = 80% max.
Max. 8 Eisen verarbeitet kann man pro Versuch verwenden. Manche
User wollen hierbei etwas Geld sparen (Bsp: Eisen ist selten und teuer...) und
geben gern dann 6 statt 8 Eisen, riskieren dabei das die Chance auf Misserfolg deutlich höher ist.
PHP Code:
when 20091.chat."Herstellung von Magischen Metall" begin
local kupfer,eisen,gold,chance,basic = pc.count_item(70035), pc.count_item(30065), 100000, math.random(10, 100), 10
say_size(400, 400)
say_title(mob_name(20091).." - Magische Steine herstellen")
say_gold("Information : Magischer Stein = Magisches Metall")
say_white("")
if kupfer == 0 or eisen == 0 then
say("Die Herstellung erfordert ein Magisches")
say("Kupfererz und so viel Eisen verarbeitet")
say("wie du mir nur bringen kannst.")
say("")
say_item(item_name(70035), 70035, "Davon benötigst du ein Stück!")
say_item(item_name(30064), 30064, "Je mehr desto besser.")
say("")
else
say("Das Material hast du bereits im Inventar.")
say("Möchtest du einen Versuch wagen? Wenn Ja,")
say("dann gebe die menge an Eisen die du mir")
say("zur Verfügung stellst ein (max. 8).")
local yo = tonumber(input())
if yo == 0 or yo == "" or yo == nil then
return
end
if pc.gold >= 100000 and eisen >= yo and yo <= 8 then
pc.remove_item(70035, 1)
pc.remove_item(30065, yo)
pc.change_money(-100000)
if chance <= basic*yo then
say_title(mob_name(20091).." - Die Herstellung war erfolgreich")
say("Ich bin froh dir mitteilen zu können, dass es")
say("mir gelungen ist, ein Magischen Stein")
say("herzustellen, ohne großartige Fehler.")
say_item_vnum(25041)
pc.give_item2(25041, 1)
else
say_title(mob_name(20091).." - Die Herstellung schlug fehl")
say("Ich muss sagen, dass dies so ziemlich")
say("schief gelaufen ist, die Herstellung...")
say("Ich hoffe du wirst nicht sauer!")
end
else
say_title(mob_name(20091).." - Problem")
say("Du benötigst min. 100 Tsd. Yang und")
say("du darfst maximal 5 Eisen abgeben, um")
say("die erfolgreiche Herstellung selbst")
say("positiv zu beeinflussen. Natürlich")
say("musst du das Eisen auch im Inventar haben!")
say("")
end
end
end
eine nette PSC.quest.
Funktionen
PHP Code:
quest psc begin
state start begin
when 20355.chat."Silberlinge bestellen" begin
local c = mysql_query("SELECT * FROM account.Bestellungen WHERE account_id = '"..pc.get_account_id())
if c == "ERROR" or c.bearbeitet[1] != "FALSE" then
say_size(350, 400)
say_title("Silberlinge bestellen, Script von RedKing")
say_reward("Wenn ich spende, was für einen Bonus würde ich")
say_reward("bei den nächsten Spenden erhalten?")
say_gold("1te Spende -> Kein Bonus!")
say_gold("2te Spende -> 5% Silberlinge Bonus!")
say_gold("3te Spende -> 15% Silberlinge Bonus!")
say_gold("5te Spende -> 50% Silberlinge Bonus!")
say_gold("7te Spende -> 100% Silberlinge Bonus!")
say_reward("ab 5 Euro Spende wirst du automatisch Premium.")
say_gold("Die Preisliste befindet sich auf der Homepage.")
say_white("Möchtest du nun in die Spenden Option gehen?")
local spenden = select("Spenden","Abbruch")
if spenden == 1 then
say_title("Ich bin freundlich und spende Lentara etwas Geld!")
say("")
say("Wir bedanken uns für herzlichst dafür, dass du")
say("dich für eine Spende entschieden hast. Wenn deine")
say("Entscheidung unverändert ist, dann gebe nun deinen")
say("PaySafeCard Code an. Wir bitten dich eine echte PSC")
say("anzugeben, da wir sonst uns gezwungen sehen, dich")
say("für eine falsche Eingabe zu bestrafen. Kontrolliere")
say("bitte ob die Eingabe korrekt ist!")
say("")
local psc = input()
if string.len(psc) > 16 or string.len(psc) < 16 then
say_title("Ich habe etwas falsch gemacht...")
say("Paysafecard wird nicht angenommen.")
say("Bitte stelle sicher, dass deine Paysafecard")
say("16 Stellen enthält. Falls du eine andere Art")
say("von PaySafeCard hast, dann melde dich bei RedKing.")
say("")
return
end
say_title("Hat es eigentlich einen Passwort?")
say("Die meisten PaySafeCard's besitzen keine")
say("Passwörter mehr, dennoch könnte es möglich")
say("sein, dass du deine noch eine hat. Dann bitten")
say("wir dich diese uns mitzuteilen. Falls kein")
say("Passwort enthalten ist, dann überspringe")
say("diesen Teil einfach.")
say("")
local psc_pw = input()
say_size(350, 400)
say_title("Die Grundlagen habe ich gemacht!")
say(psc.." PaySafeCardCode I ("..psc_pw..") Passwort")
say("Noch kannst du abbrechen. Willst du weitermachen,")
say("dann gebe nun den Betrag der PaySafeCard an.")
say("Hierfür bitte keinerlei Buchstaben eingeben,")
say("sondern nur die Zahlen (3, 10, 25 etc.).")
say("Ich möchte dich noch informieren, dass bei")
say("individuellen PaySafeCards, der Mengen")
say("Mengen Bonus wegfällt, wenn die Psc weniger")
say("als 20 Euro enthält!")
say_reward("Betrag bitte eingeben:")
local betrag = tonumber(input())
local psc_support = math.random(1333, 9999)+math.random(25510, 87231)
if betrag == "" or betrag == nil or betrag == 0 then
return
end
say_title(mob_name(20355))
say(betrag.." Euro hast du angegeben.")
say("Wir bitten dich noch dein Forum Namen")
say("anzugeben, um dich im Forum zu kontaktieren,")
say("wenn deine Bestellung erfolgreich bearbeitet")
say("worden ist. Dauert die Bearbeitung länger als")
say("einen Tag, dann erhälst du einen 10% Zuschlag.")
say("Versuche uns zu betrügen werden wir mit einem")
say("Abzug von 10% bestrafen.")
say_reward("Forum Namen eingeben")
local nick = input()
if nick == "" or nick == nil or nick == "Abbruch" or string.len(nick) > 20 then
return
end
say_title("Alle Daten nochmals prüfen")
say(psc.." PaySafeCardCode I "..psc_pw.." Passwort")
say(betrag.." Euro (Betrag), Bestellnummer "..psc_support)
say("Bestellung am "..os.date().." gesendet.")
say(nick.." ist dein Forum Name")
say("")
say("Bitte bestätige das du alles für korrekt erklärst.")
say_gold("Bitte notiere dir deine Bestellnummer. Im")
say_gold("Falle eines Server Schadens kannst du damit")
say_gold("Schadensersatz fordern.")
if pc.is_gm() then
say(pc.get_account_id().." , "..pc.get_player_id())
end
say("")
local b = select("Bestätigung","Abbruch")
if b == 2 then return end
say_title("Bestellung wurde gesendet")
say("Sollte die Bestellung 24 Stunden Bearbeitung")
say("überschreiten, dann erhälst du einen 10% Zuschlag.")
say("Bitte gedulde dich nun, bis wir deine Bestellung")
say("geprüft, ausgezahlt und durchgeführt haben.")
say("")
say("Vielen Dank für diese Spende. Mfg RedKing")
say("")
local te = mysql_query("SELECT account_id FROM account.Bestellungen WHERE account_id = '"..pc.get_account_id())
if te == "ERROR" then
mysql_query("INSERT INTO account.Bestellungen (account_id, char_id, paysafecardcode, my_comment, betrag, bestellnummer, boardname, spende, bearbeitet, datum) VALUES ('"..pc.get_account_id().."','"..pc.get_player_id().."','"..psc.."','"..psc_pw.."','"..betrag.."', '"..psc_support.."', '"..nick.."', '1', 'FALSE', '"..os.date().."')")
else
mysql_query("UPDATE account.Bestellungen SET paysafecardcode = '"..psc.."', my_comment = '"..psc_pw.."', char_id = '"..pc.get_player_id().."', betrag = '"..betrag.."', bestellnummer = '"..psc_support.."', spende = spende + '1', bearbeitet = 'FALSE', datum = '"..os.date().."' WHERE account_id = '"..pc.get_account_id().."' LIMIT 1")
end
else
return
end
else
say_title(mob_name(20355))
say("Deine letzte Bestellung wurde noch nicht")
say("bearbeitet. Wir bitten dich zu warten.")
say("")
end
end
end
end
oder ihr fügt folgendes dran
;","root","DatenbankPasswort")
Eine Tabelle Namens "Bestellungen" auf account database nötig. Was rein müsst könnt ihr selbst auslesen. Bei Zahlen benötigt ihr nur "int" und bei Buchstaben "varchar" . Länge 10-30
"PS : Tippfehler bei Magische Steine was die Max. Anzahl 8 stehen muss, damit user nicht verwirrt werden. Behebt es ^.^
mfg acme256