GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Maeda_Yaemon le 04 Mars 2011, 17:14:56

Titre: Ascenseur
Posté par: Maeda_Yaemon le 04 Mars 2011, 17:14:56
Bonjour je voudrais créer une sorte d ascenseur, enfaite j ai un mapping et j'ai un objet que je voudrais elever grace a une commande (/elever par exemple) quand le personnage est dessus

je voudrais que l'objet puisse monter jusque a la barre (je pourrais le faire ça) mais je n'ai aucune idée du "comment elever l'objet"

Si quelqu'un d'entre vous pourrais m'indiquer les étapes à faire ^^

Merci d'avance et bonne journée
Titre: Re : Ascenseur
Posté par: mjlayak le 04 Mars 2011, 17:20:22
Utilise la fonction MoveObjet .

MoveObject(ID de l'object,X,Y,Z, Vitesse );
XYZ = Ou placé l'objet
La vitesse recommandé est 1.5
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 04 Mars 2011, 21:43:00
Merci de ton aide, j'ai bien avancer mais avant de tester tout ça, comment le script va savoir si il faut déplacer l'objet vers la gauche / droite / haut / bas ?

Et j'aimerai l'associer à une commande, faut-il rajouter des trucs au MoveObject ?


Merci beaucoup pour ton aide
Titre: Re : Ascenseur
Posté par: Xartrick le 04 Mars 2011, 22:06:31
Le système le devine seul, en faite, il se charge juste d'aller à un point A vers le point B (il est bête et discipliné).
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 04 Mars 2011, 23:35:29
Merci de votre aide, je vais finaliser tout ça !

Je vous en dirais plus demain Maximum

Double post
Voilà j'ai voulu compiler mais j'ai 2 erreurs sur la même ligne, j'ai chercher, j'ai trouver mais j'ai du mal à corriger les deux erreurs sur cette même ligne:

Erreurs:

 error 017: undefined symbol "cmdtext"
error 036: empty statement


Voici la ligne qui contient les erreurs :

if (strcmp(cmdtext, "/elever", true)==0);

Je ne vois pas du tout ce qui cloche, si vous pourriez m'éclairer (Peut-être que l'erreur est simple mais je ne la vois pas moi ^^)

Merci d'avance et bonne journée!
(http://www.gtaonline.fr/forums/Themes/proton/images/warnwarn.gif) Double Post !
Titre: Re : Ascenseur
Posté par: Xartrick le 05 Mars 2011, 20:16:21
Pour commencer, pourquoi utilise tu un point-virgule à la fin de ta condition ?
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 05 Mars 2011, 22:51:49
Je l'ai enlever, me voilà avec 26 Errors ^^

 error 004: function "PlayerToPoint" is not implemented
 error 004: function "SendRadioMessage" is not implemented
 error 004: function "SendRadioMessage" is not implemented
 error 004: function "SendRadioMessage" is not implemented
 error 004: function "SendRadioMessage" is not implemented
 error 017: undefined symbol "SetVehicleParamsForPlayerEx"
 error 017: undefined symbol "SetVehicleParamsForPlayerEx"
 error 017: undefined symbol "ConvertToMoney"
 error 004: function "ProxDetector" is not implemented
 error 017: undefined symbol "SetLocalHUD"
 error 004: function "ProxDetector" is not implemented
 error 017: undefined symbol "SetLocalHUD"
 error 004: function "ProxDetector" is not implemented
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "ConvertToMoney"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"
 error 017: undefined symbol "SetLocalHUD"

Je ne sais pas quoi dire sur ces erreurs ^^ Merci quand même et bonne soirée
Titre: Re : Ascenseur
Posté par: Xartrick le 05 Mars 2011, 22:55:58
Pourrait-on voir l'intégralité du code ?
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 05 Mars 2011, 23:00:07
Voilà le code:


{
if (strcmp(cmdtext,"/elevateur", true)==0)
}
{
MoveObject(elevateur1,-1966.618164025,93.427734375,26.80256652832, 3.5);//On bouge l'objet


SetTimer("Urban", 7000, 0);//On active le Urban xd(Le Timer)


return 1;

}
Titre: Re : Ascenseur
Posté par: Pixect le 05 Mars 2011, 23:06:29
Salut,

Pour commencer, insère ton code dans la balise [code ][/code ], cela évitera de voir quelque chose de très moche.

Ensuite, pourquoi mettre des accolades avant et après la condition ? ;D

++
ReGaX
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 05 Mars 2011, 23:14:55
Je vous remercie pour ces réponses

@Gzsume: Que devrais-je placer dans OnPlayerCommandText ?


@ReGaX: Compris, pour les accolades, elles ne servent à rien je vais les supprimer de suite !

Cdt
Titre: Re : Ascenseur
Posté par: Pixect le 05 Mars 2011, 23:19:15
Salut,

Tu devrais placer l'intégralité du code que tu nous a donné (sans les accolades que je t'ai indiqué bien sûr :P ) dans la callback
OnPlayerCommandText.

++
ReGaX
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 05 Mars 2011, 23:27:16
J'ai mis ce code:
if (strcmp(cmdtext, "/elevateur", true)==0)

{
MoveObject(3117,-1966.6181640625, 93.427734375, 26.80256652832, 3.5);//On bouge l'objet

SetTimer("Urban", 7000, 0);//On active le Urban xd(Le Timer)

SendClientMessage(playerid, COLOR_YELLOW,"Fermeture dans 7 secondes");//Onaverti

return 1;
sans les accolades mais toujours ces 2 erreurs ...

Merci d'être aussi patient
Titre: Re : Ascenseur
Posté par: Raptor le 05 Mars 2011, 23:40:28
Si tu pouvais le mettre en pawn, sa serait sympa ...;)

Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 05 Mars 2011, 23:44:45
J'avais oublier de le mettre entre
Faut-il le mettre sur PasteBin ?
Titre: Re : Ascenseur
Posté par: Raptor le 06 Mars 2011, 00:08:38
Si il est petit, tu peut le mettre en code  ;)
Titre: Re : Ascenseur
Posté par: Pixect le 06 Mars 2011, 00:21:59
Salut,

L'as-tu bien mis dans la callback
OnPlayerCommandText ?
Regarde:

<?php // Ceci est pour colorer le texte, ne t'inquiètes pas.

public OnPlayerCommandText(playeridcmdtext[]) // Ici, la callback OnPlayerCommandText.
{
    if(
strcmp(cmdtext"/elevateur"true) == 0// Ici, la vérification de la commande.
    
// Si la commande est "/elevateur"...
        
MoveObject(3117,-1966.618164062593.42773437526.802566528323.5); // On bouge l'objet.
        
SetTimer("Urban"70000); // On active le timer.
        
SendClientMessage(playeridCOLOR_YELLOW,"Fermeture dans 7 secondes"); // On averti le joueur de la fermeture des portes.
        
return 1// On retourne 1 (true), car l'action s'est bien déroulée.
    
}
    return 
0// On retourne 0 (false), car si aucune commande ne correspond à celle entrée par le joueur, on renvoie que l'action s'est mal déroulée.
}

++
ReGaX
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 06 Mars 2011, 11:39:36
Je vais regarder si je n'ai pas fais une erreur, bien que ça m'étonnerai mais je me retrouve avec 2 Erreurs mais maintenant, une a changer


error 017: undefined symbol "playerid"
error 017: undefined symbol "cmdtext"

L'erreur concernant playerid concerne cette ligne:

SendClientMessage(playerid, COLOR_YELLOW,"Fermeture dans 7 secondes");//Onaverti
Et l'erreur avec le cmdtext concerne cette ligne:

if (strcmp(cmdtext, "/elevateur", true)==0)
Je vais tenter plusieurs manipulations avec la CallBack de OnPlayerCommandText [J'ai compris a quoi elle servait grâce à vous ^^]

Je vous remercie pleinement de votre patience

Maeda
Titre: Re : Ascenseur
Posté par: Xartrick le 06 Mars 2011, 11:40:55
Si c'est deux variables n'existe pas, c'est tous simplement que tu n'es pas dans la bonne fonction.
Titre: Re : Ascenseur
Posté par: Maeda_Yaemon le 06 Mars 2011, 12:41:35
J'ai supprimer le script de OnGame... pour le laisser dans le OnPlayerCommandText, a vrai dire plus une commande ne fonctionnait, juste le /elevateur mais rien n'apparaissaît sauf le texte ^^

Je cherche encore de mon côté


Merci et bonne journée !
Titre: Re : Ascenseur
Posté par: Pixect le 06 Mars 2011, 13:17:59
Salut,

Es-tu bien sûr d'avoir placé ce code dans la callback
OnPlayerCommandText ? ...

++
ReGaX