Jump to content
Geplaatst:
comment_880563

Hoe maak ik teleports via de scm?

En dan bedoel ik van die kleine rode spheres (die je ook ziet bij die hotdog-kraampjes) en geen enexen (van die gele omgedraaide piramides).

Dus als je in een sphere staat dat je dan ergens anders naar toe wordt geteleporteerd.

Featured Replies

Geplaatst:
comment_880607

Zo moeilijk is dat helemaal niet... ;) Gewoon een sphere maken, ik neem aan dat je wel weet hoe dat moet, en vervolgens de actor ergens anders spawnen. Dat kan met behulp van de volgende opcode:

Actor.PutAt($PLAYER_ACTOR, 213.9563, 1879.7477, 13.1406)

De laatste drie getallen zijn, vanzelfsprekend, de coördinaten.

Geplaatst:
  • Auteur
comment_880642

Bedankt, maar ik word direct naar de plek geteleporteerd.

:TELE
thread 'TELE'
03BC: 1@ = create_sphere_at 2463.84 -1658.92 12.3 radius 1.0
00EC: actor $PLAYER_ACTOR 0 near_point 2463.84 -1658.92 12.3 radius 1.0 1.0
Actor.PutAt($PLAYER_ACTOR, 213.9563, 1879.7477, 13.1406)
end_thread

Geplaatst:
comment_880647

Dat is vrij logisch, aangezien je nergens aangeeft dat het een voorwaarde is. Hier staat: Creeer een sphere, vervolgens een regeltje die niet eens afzonderlijk kan, omdat het nergens op slaat zo, en dan verplaats je de actor. Wat je dus moet doen, is een lus maken, die wacht tot de actor werkelijk op die plaats komt. Anders gaat hij snel over die ene "nutteloze" opcode heen, dus heb je niet de tijd om daar naartoe te gaan (onthoudt dat het vliegensvlug afgelezen wordt).

Dus, wat je moet doen, is een repeat-wait-until structuur, of een voorwaardelijke jump structuur maken (in de vorm van een lusje). Dus je kunt kiezen, óf:

:TELE
thread 'TELE'
03BC: 1@ = create_sphere_at 2463.84 -1658.92 12.3 radius 1.0

:TELE2
wait 0 ms
if
00EC: actor $PLAYER_ACTOR 0 near_point 2463.84 -1658.92 12.3 radius 1.0 1.0
jf @TELE2
Actor.PutAt($PLAYER_ACTOR, 213.9563, 1879.7477, 13.1406)
end_thread

Hier wacht hij tot aan de voorwaarde, namelijk dat de actor op dat punt is, is voldaan. Is dat niet het geval, dan springt hij terug naar het begin van het label. Vergeet de wait niet. Je kunt niet terugspringen naar "TELE", omdat hij dan ook het eerste gedeelte van het stukje code herhaald, waardoor er bijvoorbeeld heel vaak een sphere op die plaats wordt aangemaakt.

:TELE
thread 'TELE'
03BC: 1@ = create_sphere_at 2463.84 -1658.92 12.3 radius 1.0
repeat
wait 0 ms
until 00EC: actor $PLAYER_ACTOR 0 near_point 2463.84 -1658.92 12.3 radius 1.0 1.0
Actor.PutAt($PLAYER_ACTOR, 213.9563, 1879.7477, 13.1406)
end_thread

Dit is de andere manier.

Geplaatst:
  • Auteur
comment_881346

Het doet het, alleen de marker verdwijnt niet als ik er in ben geweest. :-(

03BC: 0@ = create_sphere_at 144.83 1965.0 17.87 radius 1.0
repeat
wait 0 ms
until 00EC: actor $PLAYER_ACTOR 0 near_point 144.83 1965.0 17.87 radius 1.0 1.0
Marker.Disable(0@)

wat is er fout? Ik denk zelf aan Marker.Disable.

Want ik kon er geen vinden voor de sphere.

EDIT: De Codebox deed het niet goed

Bewerkt: door Marioleo69

Geplaatst:
  • Auteur
comment_881429
Je moet deze gebruiken:

03BD: destroy_sphere 149@

Bedankt hij doet het, maar heb jij soms een ander opcode.txt?

Bij mij staat dit in de opcode search tool van SB:

03BD: delete_POI_cylinder 149@ //aka mission marker

Geplaatst:
comment_881472

Dat snap ik. Maar ik wist niet of je die TXT gebruikte, of een andere. Gebruik de opcode search tool maar, ik geloof niet dat die bij jou anders is dan bij mij.

Geplaatst:
comment_881506
Bedankt voor het uploaden. Ik heb gekeken.

Hij is hetzelfde.

Maar hoe kom jij dan aan die andere zin achter die opcode?

Waar haal je die vandaan?

Die staat in de opcodes.txt die ik net heb geupload..

Als je mijn opcodes.txt opent en dan CTRL + F en dan 03BD zoekt vind je dan niet dit zinnetje?:

03BD: destroy_sphere 149@

(In mijn opcodes.txt he, die is ook maar iets van 94 kb dus jij hebt een hele andere lijkt me :S)

Geplaatst:
comment_881530

Ja die van jou is inderdaad nogal raar :S Nouja gebruik maar gewoon de mijne dan is alles weer goed ^_^

EDIT @ Hieronder: Dat is inderdaad een goed idee, ik heb zelf deze versie uit het topic van Dutchy en PatrickW =]

Bewerkt: door AwiVC

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.