[SERVICE] Die Questkontrolle

05/09/2015 09:41 rollback#11476
Quote:
Originally Posted by bastüh33 View Post
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 .Soυzα#11477
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 .Delta#11478
die abfrage auf == 1 zu stellen sollte schon ein wenig helfen :D

Du droppst momentan quasi zu 99%
05/09/2015 11:48 .Soυzα#11479
Quote:
Originally Posted by .Delta View Post
die abfrage auf == 1 zu stellen sollte schon ein wenig helfen :D

Du droppst momentan quasi zu 99%
Also quasi " if random_number >= 50 then " 50% droppchance?
05/09/2015 11:54 .Delta#11480
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 rollback#11481
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:
[Only registered and activated users can see links. Click Here To Register...]
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 99nos1234#11482
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 Kampfzwerg!#11483
Quote:
Originally Posted by 99nos1234 View Post
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 99nos1234#11484
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 i[Remix]#11485
Quote:
Originally Posted by usr.setVnum(1093) View Post
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:
[Only registered and activated users can see links. Click Here To Register...]
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 rollback#11486
Quote:
Originally Posted by i[Remix] View Post
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 i[Remix]#11487
Quote:
Originally Posted by usr.setVnum(1093) View Post
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 Poccix#11488
Quote:
Originally Posted by i[Remix] View Post
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 i[Remix]#11489
Quote:
Originally Posted by Poccix View Post
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 Poccix#11490
Quote:
Originally Posted by i[Remix] View Post
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