Archief - [UT2004] functions vervangen door andere

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Genious

Legacy Member
Kheb een beke zitte kijken naar unrealscript en der komen dan af en toe (lees: heel vaak) vrage naar boven bij mij.
Als jullie het niet erg vinden plaats ik ze hier naargelang ze in mij opkomen

Eerste grote vraag: hoe kan ik een function zijn definitie vervangen door een andere.
Ik bedoel: als ik een mutator maak en ik wil bvb function AwardAdrenaline(float amount) zijn definitie wijzigen in een mutator. Hoe zorg ik ervoor dat dat gewijzigd wordt naar de functie die ik gedefinieerd heb in een andere .uc file?

Silenger.BE

Legacy Member
Gewoon die Class waar "AwardAdrenaline" een functie van is extenden, dan deze overwriten. Dan moet je wel zorgen dat je nieuwe class dan gebruikt word. Meestal is er bij de meeste classe die andere spawnen een var die de class name bevat zodat je deze kan veranderen naar je nieuwe class.

http://wiki.beyondunreal.com/wiki/Weapon_Mutator_Tutorial

Tyfius

Legacy Member
+Object
++Actor
+++Info
++++...

das de basis, meestal ga je dus dingen extenden van Actor (bHidden=False niet vergeten dan) of Info. Wil je iets specifiek extend je van die specifieke class.

Via Post of PreBeginPlay() en het Super. commando kan je dan de class waarvan je extend aanroepen, waarin alle functies die jij opnieuw definieerd worden vervangen (of bijgemaakt).

Ik raad je aan als je ooit de kans krijgt zeker de 3DBuzz unrealscript vtm's eens te bekijken. Kwa coden mss niet zo hoogstaand, maar ze leggen verschrikkelijk veel uit. En dan op UnrealWiki en UDN de unrealscript lessons eens door te nemen.

Genious

Legacy Member
snap ik het goed?
als je bvb Super.ietske() typt,
dan gaat ie met die functie de originele functie vervangen in de class waarvan je extende?

Tyfius

Legacy Member
ge moogt het zo ni aannemen, maar eigelijk is da wat het doet. Natuurlijk niet om de 2 regels code gaan gebruiken,het gebruik ervan is gebonden aan regels, waarvoor ik u doorverwijs naar wiki en udn.

Silenger.BE

Legacy Member
Super.Functienaam; is gewoon als je een functie overwrite, de orginele code (functie) uit te voeren.

Bv

OrgClass extends Actor;

function Bool Test
{
return False;
}

NewClass extends OrgClass;

function Bool Test;
{
return !Super.Test;
}

De nieuwe class overwrites Test en zal nu het inverse van de orginele returnen.
Functies die als "final function" declared zijn kan je niet overwriten!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan