Jump to content
Geplaatst:
comment_1206714

Hallo iedereen.

Ik ben bezig met een modje aan het maken dat de dealers die op straat echt nuttig worden

Als je ze momenteel aanspreekt kun je niks kopen. Dat wordt dus veranderd.

Ik heb hier al een redelijk eind gescript, de bedoeling is dat iedereen die wil het script mag testen op bugs, crashes enzovoort en ook mag helpen het te ontwikkelen, laten we zeggen, een soort van leersyteem voor mensen die geen SCM kunnen en voor diegenen die het wel al kunnen voor ervaring op te doen en voor een pak hulp en ervaring erbij omdat ik niet erg veel tijd heb om te testen.

Ik ga nu eerst alles in een stripped scm bestandje zetten want dat was nog niet zo.

:sigaar: Tom

Featured Replies

Geplaatst:
comment_1217780

Een hele belangrijke opmerking vooraf, je mag in een CLEO script geen gebruik maken van globale ($xx) variabelen, maar moet lokale variabelen gebruiken.

Ik heb geen idee waarom je in het begin deze opcode hebt staan:

009A: $411 = create_actor_pedtype 17 model #NULL at 0.0 0.0 0.0

Je spawn hiermee een actor met de skin van CJ (#null) ergens in Blueberry Acres.

R* gebruikt dit soort dingen om aan te geven dat de betreffende variabele een actor is, maar de code zelf wordt nooit uitgevoerd, er wordt altijd met een jump overheen gesprongen. Maar dit soort dingen hoef je zelf niet te doen, want ze zijn niet noodzakelijk.

Opcode 091c is niet de correcte opcode, deze wordt gebruikt om een ped in de buurt van een object van een bepaald model te zoeken.

In dit geval heb je opcode 08E5 nodig, je krijgt dan een willekeurige ped binnen de opgegeven straal. Je moet de variabele die je bij die opcode gebruikt, vooraf op -1 zetten, en als de opcode een ped vind van het model dat je opgeeft binnen de straal die je meegeeft, dan zet hij de handle van die ped in de variabele.

Achteraf moet je dus kijken of de variabele nog steeds de oude waarde (-1) heeft of niet. In dat laatste geval heeft hij dus een ped gevonden.

Dan kun je checken of het om een dealer gaat ( pedtype == 17 ), zoniet, dan moet je dus verder zoeken.

Je zou dus het zoeken naar een dealer in de buurt van de player op deze manier kunnen maken:

3@ = -1
repeat 
wait 100 ms
if player.defined($PLAYER_CHAR)
then
	00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
	08E5: get_actor_in_sphere 0@ 1@ 2@ radius 20.0 handle_as 3@ 
	if not 3@ == -1
	then
		// Een ped gevonden
		089F: get_actor 3@ pedtype_to 4@
		if not 4@ == 17
		then
		   // Geen dealer: vrijgeven en 3@ weer op -1 zetten
		   01C2: remove_references_to_actor 3@ 
		   3@ = -1 
		end
	end
end
until not 3@ == -1 

// Hieronder kun je 3@ als dealer-actor gebruiken 
:DEALER_333

Ongetest, maar het gaat om het idee.

Verder heb ik de code nog niet doorgenomen, maar ik hoop dat je er zo weer verder mee komt.

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.