[Fix] - [55R3Rc3] ResMake Ersatz/fix

Bugs und Bugfixes bitte im Topic mit [Bug] und [Fix] makieren.

Moderator: Mods - Sphere

Antworten
Nachricht
Autor
Darek

[Fix] - [55R3Rc3] ResMake Ersatz/fix

#1 Beitrag von Darek » 07 Apr 2004 17:44

Die neue 55R3Rx3 besitzt diese schöne Funktion ResMake mit dem man sich die Ressourcen eines Items in Klartext zurück geben lassen kann.
Leider habe ich gemerkt das diese Funktion nicht immer richtig arbeitet und statt dem Namen einer Ressource die BaseID schreibt.
Also habe ich einfach mal fix einen Ersatz für diese Funktion geschrieben.
Meine Funktion fragt maximal bis zu 10’ten Ressource ab. Wer mehr braucht muss einfach nur die 10 bei For entsprechend ändern.
Wichtig: Diese Funktion funktioniert erst ab Sphere55R3Rc3. Bei den Vorgänger Versionen funktionierte das Abfragen der Ressourcen noch nicht.

Code: Alles auswählen

[FUNCTION f_ResMake]
TAG.ResMakeReturn
IF !StrMatch(<SERV.Itemdef(<Args>).Resources.1.Key>,)
	Serv.NewItem <SERV.Itemdef(<Args>).Resources.1.Key>
	TAG.ResMakeReturn = <SERV.Itemdef(<Args>).Resources.1.VAL><NEW.Name>
	NEW.Remove
ENDIF
FOR 2 10
	IF !StrMatch(<SERV.Itemdef(<Args>).Resources.<Local._For>.Key>,)
		Serv.NewItem <SERV.Itemdef(<Args>).Resources.<Local._For>.Key>
		TAG.ResMakeReturn = <TAG.ResMakeReturn>, <SERV.Itemdef(<Args>).Resources.<Local._For>.VAL><NEW.Name>
		NEW.Remove
	ELSE
		Return <TAG.ResMakeReturn>
	ENDIF	
ENDFOR
Return <TAG.ResMakeReturn>
Der Aufruf ist einfach
zB.
Src.SysMessage Ressourcen: <SRC.f_ResMake i_meinItem>

Antworten