Hoe zit het met.. makkelijk featureverbs programmeren
Door Doesbo
Als je nieuwe bouwvakker bent in de metro wil je het vast erg
graag: je eigen leuke verbjes programmeren op een eigen feature.
Pest iemand met irritante mensen of objecten die binnenkomen,
spoel iemand door de WC, of maak iets om iemand helemaal te
vereren! Maar hoe?
1. Het feature maken!
Het Mama Feature voor iedereen is $feature. Dus je eigen feature daarvan maak je met:
@maak $feature genaamd "naam van je feature"
Verzin wel een leukere naam natuurlijk! Nu hebben we een
feature, met een eigen objectnummer, onthou dat want we gaan het
later gebruiken. Nu nog geen leuk verb! Tekstvoorbeeldjes van het
programmeren van verbs zijn er genoeg, ik volsta hier door even
twee verbs uit te leggen die je kunnen helpen als je een verb
maakt dat betrekking op iemand heeft. Dat houdt in dat je
<verb> <persoon> kunt tikken, bijv. 'taart doesbo'.
Als je zo'n verb wilt maak je het aan met:
@verb #nummer:verb any none none rxd
Ik leg even uit:
@verb |
→ |
het commando om een verb te maken |
#nummer |
→ |
het nummer van je feature. Ik zou dus #4002 moeten nemen |
: |
→ |
een dubbele punt geeft aan dat het om verbs gaat |
verb |
→ |
naam van het verb, in het voorbeeld geval dus 'taart' |
any |
→ |
3 aanduidingen voor voorzetsels, any none none betekent gewoon dat er maar op een iets wordt gecheckt, bijv. een none speler |
rxd |
→ |
Readable, eXecutable, en Debugging
aan. Oftewel: het verb is te lezen, men kan het van je
feature uitvoeren, en als er iets misgaat krijg je altijd
een error te zien. |
Heb je je eerste verb al? En heb je eigenlijk je feature al
toegevoegd met @addfeature? Mooi! Dan gaan we nu proggen met 2
utilities, alle 2 van de hand van Knuffel!
Maak van de eerste regel van je verb:
wie = $knuf_utils:match_player(dobjstr);
Dit zorgt ervoor dat het verb weet wie hij te grazen moet
nemen. Als je in zou tikken 'taart doesbo' dan weet de Metro al
wel dat hij 'doesbo' moet hebben (da's dobjstr) maar niet wat het
objectnummertje daarvan is. Dit utility zoekt het voor je op, en
'wie' wordt dat nummer, in dit geval #4001. Het utility werkt ook
goed als je een naam vergeet of je tikt een verkeerde naam.
Een handig utility om teksten voor elkaar af te beelden is
$knuf_utils:print, hier zie je hoe:
$knuf_utils:print(player, wie, "Een stukkie tekst.");
Dit laat 'Een stukkie tekst.' zien op het scherm van jezelf,
de speler op wie je het uitvoert, en op iedereen die bij jou
en/of die speler in de kamer zitten. Maar er is nog meer!
$knuf_utils:print(player, wie, "%1n
gooit bij %2n een taart in het gezicht!");
Je ziet dat er nu opeens %1n en %2n in het verb staan. Het
print utility checkt daarop en vult als substituten de namen van
resp player (jezelf) en wie (het slachtoffer in). Stel je voor
dat ik dat taart verb dus heb en ik gooi een taart naar Hiske
(met 'taart hi'), en bij Hiske in de kamer staat Knuffel, dan
ziet het er voor hun zo uit:
<Doesbo> Je gooit bij Hiske een taart in het gezicht!
<Hiske> Doesbo gooit bij je een taart in het gezicht!
<Knuffel> Doesbo gooit bij Hiske een taart in het gezicht!
Zo ziet het er voor iedereen netjes uit. Het is soms wel even
zoeken naar de juiste formulering zodat de zin voor iedereen
klopt, let daar dus op. Je kunt ook met nog meer van die checkjes
werken, hier zijn ze:
%1n naam
%1s hij/zij/het
%1p zijn/haar/zijn
%1z zich
%1o hem/haar/het
%1r zichzelf
Deze zijn erg handig voor het behandelen van mannelijke en
vrouwelijke spelers. Hier zie je een mooi klein verbje wat zou
moeten werken:
@verb #nummer:taart any none none rxd
@edit #nummer:taart
wie = $knuf_utils:match_player(dobjstr);
$knuf_utils:print(player, wie, "%1n gooit bij %2n een taart in %2p gezicht!");
Zo wordt het programmeren van een feature dus nog een stuk makkelijker...
Wil je uitgebreidere info over featureprogrammeren? Tik in de Metro: lees #15357
|