|
You last visited: Today at 00:12
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/09/2015, 09:41
|
#11476
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by bastüh33
Code:
quest exp_ringe begin
state start begin
when 72001.use or 72002.use or 72003.use begin
local data = {6,12,24}
local id = item.vnum - 72000
if get_time() < pc.getqf("expring") then
return syschat("Du hast bereits einen Erfahrungsring aktiviert")
end
mysql_query("update account.account set silver_expire = ADDDATE(NOW(), INTERVAL ".. data[id] .." hour) where id = ".. pc.get_account_id() ..";")
pc.setqf("expring", get_time() + data[id]*60)
item.remove()
syschat("Du hast einen ".. data[id] .." Stunden Erfahrungsring aktiviert")
end
end
end
Wie baue ich eine Sperre ein das andere Char´s auf dem Acc den Ring, wenn er aktiv ist NICHT auch nochmal aktivieren können?
|
Code:
ALTER TABLE account.account ADD COLUMN expring_active int(25) NOT NULL DEFAULT 0;
Diese Query ausführen, wenn der Ring aktiviert wird:
Code:
mysql_query("UPDATE account.account SET expring_active = "..get_time()+HIER_DIE_SEKUNDEN_WIE_LANGE_DER_HÄLT_EINFÜGEN.." WHERE id = "..pc.get_account_id().." LIMIT 1;")
Und das hier noch hinzufügen:
Code:
when 72001.use or 72002.use or 72003.use begin
if tonumber(mysql_query("SELECT expring_active FROM account.account WHERE id = "..pc.get_account_id().." LIMIT 1;").expring_active[1]) > get_time() then
syschat("Du kannst keinen weiteren EXP-Ring aktivieren.")
return
end
[... hier deinen normalen code einfügen]
end
edit:
Code:
quest exp_ringe begin
state start begin
when 72001.use or 72002.use or 72003.use begin
if tonumber(mysql_query("SELECT expring_active FROM account.account WHERE id = "..pc.get_account_id().." LIMIT 1;").expring_active[1]) > get_time() then
syschat("Du kannst keinen weiteren EXP-Ring aktivieren.")
return
end
local data = ({6, 12, 24})[item.get_vnum()-72000]
mysql_query("UPDATE account.account SET silver_expire = ADDDATE(NOW(), INTERVAL "..data.." hour), expring_active = "..get_time()+(data*60).." WHERE id = "..pc.get_account_id().." LIMIT 1;")
pc.remove_item(item.get_vnum()) --zufrieden Remix? ;)
syschat("Du hast einen "..data.." Stunden Erfahrungsring aktiviert")
end
end
end
|
|
|
05/09/2015, 11:28
|
#11477
|
elite*gold: 0
Join Date: Dec 2011
Posts: 1,891
Received Thanks: 1,244
|
Guten Tag,
ich komme leider an einer Quest nicht weiter.
Und zwar wird das Item welches unten zu finden ist, von jedem Mob gedroppt.
jetzt wollte ich gerne fragen kann ich es in die 0,5er stelle umändern?
Ein Beispiel währe nett.. das Item soll selten natürlich zu droppen sein.
Code:
local random_number = number(1, 100)
if random_number >= 1 then
game.drop_item (30128, 1)
Gruß,
Souza.
|
|
|
05/09/2015, 11:39
|
#11478
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
die abfrage auf == 1 zu stellen sollte schon ein wenig helfen
Du droppst momentan quasi zu 99%
|
|
|
05/09/2015, 11:48
|
#11479
|
elite*gold: 0
Join Date: Dec 2011
Posts: 1,891
Received Thanks: 1,244
|
Quote:
Originally Posted by .Delta
die abfrage auf == 1 zu stellen sollte schon ein wenig helfen
Du droppst momentan quasi zu 99%
|
Also quasi " if random_number >= 50 then " 50% droppchance?
|
|
|
05/09/2015, 11:54
|
#11480
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
quasi,
deine random number ist eine zahl zwischen 1 und 100
wenn du jetzt abfragst >= 50 droppst du für alle ergebnisse zwischen 50 und 100.
1 bis 49 droppen nicht
|
|
|
05/09/2015, 12:10
|
#11481
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
du musst die random nummer aber nicht in einer variable speichern:
Code:
if number(1, 100) <= 1 then
das wäre eine chance von 1%
du kannst aber auch mal hier rein schauen:

die funktion kannst du dann einfach so benutzen:
Code:
if perc_chance(1) then
für eine 1% chance
oder
Code:
if perc_chance(20) then
für eine 20% chance
|
|
|
05/10/2015, 01:48
|
#11482
|
elite*gold: 0
Join Date: Oct 2011
Posts: 66
Received Thanks: 8
|
Hallo Liebe Com
Hätte einer Evtl eine lösung für mich wie ich diesen fehler beheben könnte ??
Error occured on compile quest
arena_manager.quest
Aber wenn ich diese quest lösche kommt der fehler bei der nächsten quest da ich nichts brauchbares gefunden habe in der SuFu oder bei google Frage ich Einfach mal euch Währe nett wenn ihr mir da Weiter helfen könntet
Mfg 99nos1234
|
|
|
05/10/2015, 02:00
|
#11483
|
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
|
Quote:
Originally Posted by 99nos1234
Hallo Liebe Com
Hätte einer Evtl eine lösung für mich wie ich diesen fehler beheben könnte ??
Error occured on compile quest
arena_manager.quest
Aber wenn ich diese quest lösche kommt der fehler bei der nächsten quest da ich nichts brauchbares gefunden habe in der SuFu oder bei google Frage ich Einfach mal euch Währe nett wenn ihr mir da Weiter helfen könntet
Mfg 99nos1234
|
überprüfe mal ob diese Quest auch in deinem quest Ordner ist oder entferne sie aus deiner locale_list
|
|
|
05/10/2015, 02:48
|
#11484
|
elite*gold: 0
Join Date: Oct 2011
Posts: 66
Received Thanks: 8
|
Ja diese quest ist in meinem quest odrner aber wenn ich diese quest entferne kommt der fehler bei der nächsten quest
ich habe sogar schon alle quests aus der Locale_list gelöscht und eine quest genommen die bei den daroo files 100% geklappt hat
und da hat sie nicht getahn
mfg 99nos1234
|
|
|
05/10/2015, 10:47
|
#11485
|
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
|
Quote:
Originally Posted by usr.setVnum(1093)
du musst die random nummer aber nicht in einer variable speichern:
Code:
if number(1, 100) <= 1 then
das wäre eine chance von 1%
du kannst aber auch mal hier rein schauen:

die funktion kannst du dann einfach so benutzen:
Code:
if perc_chance(1) then
für eine 1% chance
oder
Code:
if perc_chance(20) then
für eine 20% chance
|
Dann müsste er eine neue Funktion einfügen.
Ist meiner Meinung nach aufwendiger als "if number(1,100) <= 20 then"
|
|
|
05/10/2015, 11:12
|
#11486
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by i[Remix]
Dann müsste er eine neue Funktion einfügen.
Ist meiner Meinung nach aufwendiger als "if number(1,100) <= 20 then"
|
wenn er aber mal chancen unter 1% braucht deutlich einfacher
|
|
|
05/10/2015, 11:52
|
#11487
|
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
|
Quote:
Originally Posted by usr.setVnum(1093)
wenn er aber mal chancen unter 1% braucht deutlich einfacher
|
Braucht er jetzt aber nicht.
Also wozu die Funktion einbauen?
Wieso willst du eigtl. immer Leute dazu bewegen deine Sachen einzubauen obwohl sie sie nicht brauchen?
|
|
|
05/10/2015, 12:09
|
#11488
|
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,833
|
Quote:
Originally Posted by i[Remix]
Braucht er jetzt aber nicht.
Also wozu die Funktion einbauen?
Wieso willst du eigtl. immer Leute dazu bewegen deine Sachen einzubauen obwohl sie sie nicht brauchen?
|
Ich verstehe ehrlich nicht wo dein Problem ist.
Er gibt ihm lediglich eine Funktion welche das
Problem was er hat auch lösen kann.
Zudem hat er ja auch die andere Variante gepostet.
Wenn es also nun ein Problem für dich ist, dass
er nur vorsorglich dem Nutzer auf seine Funktion,
die auch Chancen unter 1% ermöglichen, hinweist,
dann ist dies echt naja - gibt sinnvollere und
wichtigere Probleme auf der Welt.
Liebe Grüße,
Poccix
|
|
|
05/10/2015, 12:56
|
#11489
|
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
|
Quote:
Originally Posted by Poccix
Ich verstehe ehrlich nicht wo dein Problem ist.
Er gibt ihm lediglich eine Funktion welche das
Problem was er hat auch lösen kann.
Zudem hat er ja auch die andere Variante gepostet.
Wenn es also nun ein Problem für dich ist, dass
er nur vorsorglich dem Nutzer auf seine Funktion,
die auch Chancen unter 1% ermöglichen, hinweist,
dann ist dies echt naja - gibt sinnvollere und
wichtigere Probleme auf der Welt.
Liebe Grüße,
Poccix
|
Könnte ihm auch eine Lösung geben, die 20 Funktionen nutzt, die er nicht braucht.
Hast du je ein professionelles Programm gesehen, das unnötige Funktionen hat?
Und warum müsst ihr ihn immer rechtfertigen?
|
|
|
05/10/2015, 13:04
|
#11490
|
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,833
|
Quote:
Originally Posted by i[Remix]
Könnte ihm auch eine Lösung geben, die 20 Funktionen nutzt, die er nicht braucht.
Hast du je ein professionelles Programm gesehen, das unnötige Funktionen hat?
Und warum müsst ihr ihn immer rechtfertigen?
|
Ich sehe aktuell das Erste mal, dass ich ihn "rechtfertige".
Zudem war es wie vorher schon gesagt nur ein Vorschlag
von ihm, welcher für zukünftige Dinge, wo er mal unter
1% braucht, diese nutzen kann.
Und wenn du ihm eine Lösung geben willst die 20 Funktionen
nutzt, glückwünsch, da nutz ich doch lieber die eine von
Sensenmann 
Liebe Grüße,
Poccix
|
|
|
All times are GMT +1. The time now is 00:13.
|
|