[Release] Bonistufen automatisch verändern beim ändern der item_attr

08/31/2015 22:17 rollback#1
Funktion:
Werden die Bonistufen in der item_attr geändert, werden die Boni der Items in der item-Tabelle automatisch an die neuen Bonistufen angepasst.

Ist z.B. zuerst in lv3 bei MAX_HP 1000 eingetragen und ihr ändert lv3 auf 800, wird automatisch bei allen Items mit 1000 TP der Wert auf 800 TP geändert.

Einfügen:
Den nachfolgenden Trigger auf die player Datenbank laden:

Code:
delimiter //
CREATE TRIGGER update_boni
AFTER UPDATE ON item_attr
FOR EACH ROW
BEGIN
	DECLARE applyType INT;
	SET applyType = NEW.apply + 0;
	
	UPDATE item SET
		applyvalue0 = CASE
			WHEN applytype0 = applyType THEN CASE
				WHEN applyvalue0 = OLD.lv1 THEN
					NEW.lv1
				WHEN applyvalue0 = OLD.lv2 THEN
					NEW.lv2
				WHEN applyvalue0 = OLD.lv3 THEN
					NEW.lv3
				WHEN applyvalue0 = OLD.lv4 THEN
					NEW.lv4
				WHEN applyvalue0 = OLD.lv5 THEN
					NEW.lv5
				ELSE
					applyvalue0
				END
			ELSE
				applyvalue0
			END,
		applyvalue1 = CASE
			WHEN applytype1 = applyType THEN CASE
				WHEN applyvalue1 = OLD.lv1 THEN
					NEW.lv1
				WHEN applyvalue1 = OLD.lv2 THEN
					NEW.lv2
				WHEN applyvalue1 = OLD.lv3 THEN
					NEW.lv3
				WHEN applyvalue1 = OLD.lv4 THEN
					NEW.lv4
				WHEN applyvalue1 = OLD.lv5 THEN
					NEW.lv5
				ELSE
					applyvalue1
				END
			ELSE
				applyvalue1
			END,
		applyvalue2 = CASE
			WHEN applytype2 = applyType THEN CASE
				WHEN applyvalue2 = OLD.lv1 THEN
					NEW.lv1
				WHEN applyvalue2 = OLD.lv2 THEN
					NEW.lv2
				WHEN applyvalue2 = OLD.lv3 THEN
					NEW.lv3
				WHEN applyvalue2 = OLD.lv4 THEN
					NEW.lv4
				WHEN applyvalue2 = OLD.lv5 THEN
					NEW.lv5
				ELSE
					applyvalue2
				END
			ELSE
				applyvalue2
			END,
		applyvalue3 = CASE
			WHEN applytype3 = applyType THEN CASE
				WHEN applyvalue3 = OLD.lv1 THEN
					NEW.lv1
				WHEN applyvalue3 = OLD.lv2 THEN
					NEW.lv2
				WHEN applyvalue3 = OLD.lv3 THEN
					NEW.lv3
				WHEN applyvalue3 = OLD.lv4 THEN
					NEW.lv4
				WHEN applyvalue3 = OLD.lv5 THEN
					NEW.lv5
				ELSE
					applyvalue3
				END
			ELSE
				applyvalue3
			END,
		applyvalue4 = CASE
			WHEN applytype4 = applyType THEN CASE
				WHEN applyvalue4 = OLD.lv1 THEN
					NEW.lv1
				WHEN applyvalue4 = OLD.lv2 THEN
					NEW.lv2
				WHEN applyvalue4 = OLD.lv3 THEN
					NEW.lv3
				WHEN applyvalue4 = OLD.lv4 THEN
					NEW.lv4
				WHEN applyvalue4 = OLD.lv5 THEN
					NEW.lv5
				ELSE
					applyvalue4
				END
			ELSE
				applyvalue4
			END;
END;//
delimiter ;
08/31/2015 22:24 .K0rí#2
Das hast du gut gemacht mein guter ;)


.Kori
08/31/2015 22:36 ~> Thalion ッ <~#3
Finde des kram was du in letzter Zeit released echt hammer ;)
09/01/2015 14:52 mrapc#4
Nice das spart mal richtig Zeit, dank dir :handsdown:
09/01/2015 17:44 He3o Crysis#5
Jarr. Du mit deinen SQL-Triggers.
Naja. Gute Arbeit! :3
09/01/2015 18:30 MrTherzon#6
RRRRICHTIGER Sensi.


Feiner Mann danke sehr!
09/01/2015 22:25 iPeri /..#7
Guter Release,

ist ein Super System um Bugfixe's oder Veränderungen einzuführen :)!
09/03/2015 13:40 ehm Remix#8
Eins der besten bzw nützlichsten Releases seit langem.
Um Längen besser als die ganzen Releases der möchtegern Coder hier.

Schön zu sehen, dass es noch Leute gibt, die auch was dazu lernen anstatt nur irgendeinen veralteten Scheiß aus dem Source abzuschreiben und dann auf C++ Coder zu tun.
09/03/2015 21:53 .J0ker#9
Sehr schön vielen Dank :=)