Aller au contenu

Les Opcodes De Sanny Builder


Tuqmas

Messages recommandés

Il faudrait que tu testes tes liens avant de les mettre, parce que la ca marche pas; bon pour faire un portail qui bouge je te préviens c'est bien plus dur que ton petit opcode tout seul. Ca se fait en quelques étapes;

 

- On créé l'objet à sa position initiale

- On détermine sa position d'arrivé (si possible on ne le fait bouger que selon un axe, ca simplifie grandement la chose)

- Enfin on créé le mouvement entre les deux

 

Donc mettons que tu créés un objet qui s'appelle $Portail; tu le créé à sa position de départ puis il faut que quand le joueur est a côté le portail bouge (on va dire une translation suivant ton vecteur X); bon tu vas voir c'est pas ce qu'il y à de plus simple mais voilà un code qui marche (mais qui est perfectible)

 

:Objet

$X = 0.0

$Y = 0.0

Model.Load(#AD_FLATDOOR)

038B: load_requested_models

wait 1

0107: $portail = create_object #AD_FLATDOOR at $X $Y 4.0

0177: set_object $portail Z_angle_to 0.0

wait 2000

 

:Near_door

wait 1

if and

00ED: actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

not $X >= 5.0

jf @NOT_near_door

$X += 0.03

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

 

:Not_near_door

wait 1

if and

80ED: not actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

$X >= 0.0

jf @Near_door

$X += -0.05

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Salut dit moi, les seuls parties de se code a modifier sont bien celles que j'ai colorer ci dessous ?

$X = 0.0

$Y = 0.0

Model.Load(#AD_FLATDOOR)

038B: load_requested_models

wait 1

0107: $portail = create_object #AD_FLATDOOR at $X $Y 4.0

0177: set_object $portail Z_angle_to 0.0

wait 2000

 

:Near_door

wait 1

if and

00ED: actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

not $X >= 5.0

jf @NOT_near_door

$X += 0.03

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

 

:Not_near_door

wait 1

if and

80ED: not actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

$X >= 0.0

jf @Near_door

$X += -0.05

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Il faut changer l'objet et les coordonnées, seules les coordonnées en rouge sont à changer

 

DEFINE OBJECTS 1

DEFINE OBJECT RCBOMB // Object number -1

 

DEFINE MISSIONS 0

DEFINE EXTERNAL_SCRIPTS -1

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

 

//-------------MAIN---------------

03A4: name_thread 'MAIN'

042C: set_total_missions_to 0

030D: set_total_mission_points_to 187

0997: (unknown) 1339

01F0: set_max_wanted_level_to 0

0111: set_wasted_busted_check_to 0

00C0: set_current_time 7 00

016A: fade 0 10 ms

01B6: set_weather 0

04BB: select_interior 0

04E4: unknown_refresh_game_renderer_at 0.0 0.0

03CB: set_camera 0.0 0.0 0.0

0053: $PLAYER_CHAR = create_player #NULL at 5.0 0.0 6.0

 

:MAIN_117

07AF: $PLAYER_GROUP = player $PLAYER_CHAR group

01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR

0373: set_camera_directly_behind_player

0173: set_actor $PLAYER_ACTOR z_angle_to 0.0

0001: wait 0

Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)

Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)

Player.SetClothes($PLAYER_CHAR, "foot", "feet", Shoes)

Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)

070D: build_player $PLAYER_CHAR

016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0

016D: restart_if_busted at 1550.6801 -1675.49 14.51 angle 90.0 unknown 0

055E: set_player $PLAYER_CHAR max_health += 100

055F: set_player $PLAYER_CHAR max_armour += 100

0109: player $PLAYER_CHAR money = 1000

fade 1 1

wait 1000

 

:Objet

$X = 0.0

$Y = 0.0

Model.Load(#AD_FLATDOOR)

038B: load_requested_models

wait 1

0107: $portail = create_object #AD_FLATDOOR at $X $Y 4.0

0177: set_object $portail Z_angle_to 0.0

wait 2000

 

:Near_door

wait 0

if and

00ED: actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

not $X >= 5.0

jf @NOT_near_door

$X += 0.3

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

 

:Not_near_door

wait 0

if and

80ED: not actor $PLAYER_ACTOR 0 near_point $X $Y radius 5.0 5.0 on_foot

$X >= 0.0

jf @Near_door

$X += -0.3

01BC: put_object $portail at $X $Y 4.0

jump @Near_door

end_thread

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...