• 19 Mai 2024, 07:06:06


Auteur Sujet: Grille Automatique ?  (Lu 2862 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Grille Automatique ?
« le: 20 Juillet 2013, 18:05:04 »
Voila,je possède un Serveur Gta RP Zombie (En V0.2 Beta), et je voudrais Installer une Grille Automatique sur la Map ( Aux Niveau de Area 69 )

Une grille qui s'ouvrirais avec un mot,style : /open69

Voila les image:




je voudrais remplacer la grille avec inscrit: Airport Security...,Par cette fameuse grille automatique.

PS: je n'ais pas crée de Groupe mais j'aimerais en crée également,un Groupe dont on ne peux y accéder que par l'autorisation d'un Admin.
« Modifié: 20 Juillet 2013, 21:33:49 par TheExtraCrow »
I Aint Afraid Of No Ghosts

Hors ligne Ouzdi Broono

  • Fondateur de World War 3
  • *
  • Criminel
  • Fan de jeux vidéos et du web !
  • Messages: 36
    • Voir le profil
    • World War 3
Re : Problème Grille Automatique
« Réponse #1 le: 20 Juillet 2013, 18:10:29 »
Salut, tu débute en pawn ?
Je te donne des indications et si tu n'y arrive pas je t'en donnerais un peu plus.
Tu dois utiliser les fonctions suivantes: À bientôt. :bye:

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Problème Grille Automatique
« Réponse #2 le: 20 Juillet 2013, 18:14:00 »
Effectivement je suis un apprenti Pawno, est pour tout de dire,j'ais bien lu les paramètre pour crée cette Grille,mais je doit t'avouer que... :blink: Je ne sait pas trop comment m'y prendre  :wacko:
« Modifié: 20 Juillet 2013, 18:21:43 par TheExtraCrow »
I Aint Afraid Of No Ghosts

Hors ligne Ouzdi Broono

  • Fondateur de World War 3
  • *
  • Criminel
  • Fan de jeux vidéos et du web !
  • Messages: 36
    • Voir le profil
    • World War 3
Re : Problème Grille Automatique
« Réponse #3 le: 20 Juillet 2013, 18:27:40 »
Si tu débute il est normal que ce genre de fonctions ne sont pas faciles à utiliser.
Je vais t'expliquer en détails.
Tu dois déjà placer une variable globale tout en haut de ton GameMode. (à la suite de tes autres variables)
Exemple:

new grille;
Ensuite il faut que tu cherche ton objet dans le GameMode, soit la ligne CreateObject de la grille. (utilise le raccourci CTRL + F pour ta recherche)
Devant cette ligne tu ajoute "grille =" ce qui donnera:

grille = CreateObject(id, x, y, z);
Puis dans ta commande tu utilise la fonction MoveObject avec la nouvelle position de la grille une fois ouverte.
Fais déjà ça et dis moi si tu bloque avec le MoveObject, dans ce cas je t'en dirais un peu plus.
Bon courage.

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Problème Grille Automatique
« Réponse #4 le: 20 Juillet 2013, 18:49:13 »
Bien,c'est fait:

new thisanimid=0;
new lastanimid=0;
new grille;


grille =CreateObject(988,96.6288910,1920.3472900,17.1445045,0.0000000,0.0000000,270.0000000);//object(ws_apgate) (1)
I Aint Afraid Of No Ghosts

Hors ligne Ouzdi Broono

  • Fondateur de World War 3
  • *
  • Criminel
  • Fan de jeux vidéos et du web !
  • Messages: 36
    • Voir le profil
    • World War 3
Re : Problème Grille Automatique
« Réponse #5 le: 20 Juillet 2013, 18:51:54 »
Super, maintenant il te reste plus qu'à suivre mes indications et à t'aider de ce liens http://wiki.sa-mp.com/wiki/MoveObject pour créer ton MoveObject.

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Problème Grille Automatique
« Réponse #6 le: 20 Juillet 2013, 18:56:15 »
Alors,je ne Comprend pas bien.

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/open69", true) == 0)
    {
        new string[50];
        new movetime = MoveObject(obj, 0, 0, 10, 2.00);
        format(string, sizeof(string), "Object will finish moving in %d milliseconds", movetime);
        SendClientMessage(playerid, 0xFF000000, string);
        return 1;
    }
    return 0;
}

Je doit remplacer quoi comme Script ?
I Aint Afraid Of No Ghosts

Hors ligne Ouzdi Broono

  • Fondateur de World War 3
  • *
  • Criminel
  • Fan de jeux vidéos et du web !
  • Messages: 36
    • Voir le profil
    • World War 3
Re : Problème Grille Automatique
« Réponse #7 le: 20 Juillet 2013, 19:11:51 »
À la place de

obj
Tu met le nom de ta variable et après tu remplace:

0, 0, 10
Par la nouvelle position de ta grille, celle de cette dernière une fois ouverte.

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Problème Grille Automatique
« Réponse #8 le: 20 Juillet 2013, 19:21:51 »
Eh, sa marche,Enfin Non,je fait /open69 la porte s'envole,je puis elle ne revient pas a sa place (fermer). :sad: :sad: :sad:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/open69", true) == 0)
    {
        new string[50];
        new movetime = MoveObject(grille,988,96.6640625,1924.5603027,17.8266354,0.0000000,0.0000000,270.0000000, 2.00);
        format(string, sizeof(string), "Object will finish moving in %d milliseconds", movetime);
        SendClientMessage(playerid, 0xFF000000, string);
        return 1;
    }
    return 0;
}
« Modifié: 20 Juillet 2013, 21:35:02 par TheExtraCrow »
I Aint Afraid Of No Ghosts

Hors ligne Ouzdi Broono

  • Fondateur de World War 3
  • *
  • Criminel
  • Fan de jeux vidéos et du web !
  • Messages: 36
    • Voir le profil
    • World War 3
Re : Problème Grille Automatique
« Réponse #9 le: 20 Juillet 2013, 19:54:39 »
Retire:

,0.0000000,0.0000000,270.0000000

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Problème Grille Automatique
« Réponse #10 le: 20 Juillet 2013, 20:16:00 »
Non la grille s'envole Encore  :sad: .
A oui est sa me marque : Object will finish moving in [une dizaine de nombre] milliseconds
« Modifié: 20 Juillet 2013, 21:31:16 par TheExtraCrow »
I Aint Afraid Of No Ghosts

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Grille Automatique ?
« Réponse #11 le: 21 Juillet 2013, 00:22:34 »
Je t'invite a relire le la page du wiki
Tu as fait un MoveObject avec 9 paramètres alors que cette dernière n'en demande que 8.
Sachant aussi que tu peux ne passer que 5 paramètre car les 3 derniers  ont une valeur assigné si tu ne les renseigne pas.
Après je ne sais pas quelle animation tu souhaite réaliser mais dans ton cas il est normal que la grille s’élève puisque tu modifie le paramètre Z.

Hors ligne TheExtraCrow

  • *
  • Criminel
  • Fan de Paranormal
  • Messages: 31
    • Voir le profil
Re : Grille Automatique ?
« Réponse #12 le: 21 Juillet 2013, 00:26:37 »
Eh...Je Pas comprit  :wink:
« Modifié: 21 Juillet 2013, 00:32:39 par TheExtraCrow »
I Aint Afraid Of No Ghosts

Hors ligne rafffel

  • *
  • Bandit
  • Messages: 493
    • Voir le profil
Re : Grille Automatique ?
« Réponse #13 le: 21 Juillet 2013, 10:24:51 »
bon alors dans la page du wiki ils nous indiquent que la fonction MoveObject doit avoir les paramètre suivants :
objectid   The ID of the object to move.
Float:X   The X coordinate to move the object to.
Float:Y   The Y coordinate to move the object to.
Float:Z   The Z coordinate to move the object to.
Float:Speed   The speed at which to move the object (units per second).
Float:RotX   The FINAL X rotation (optional).
Float:RotY   The FINAL Y rotation (optional).
Float:RotZ   The FINAL Z rotation (optional).


on a donc 8 paramètre a passer :
L'objet a déplacer,
sa position final x,
sa position final y,
sa position final z,
sa vitesse de déplacement par seconde.,
Sa rotation final sur l'axe x (optionnel car une valeur lui est attribué par défaut si tu ne met rien),
Sa rotation final sur l'axe y (optionnel car une valeur lui est attribué par défaut si tu ne met rien),
Sa rotation final sur l'axe z (optionnel car une valeur lui est attribué par défaut si tu ne met rien)

Or toi tu as mis sa :

Code: (pawn) [Sélectionner]
grille =CreateObject(988,96.6288910,1920.3472900,17.1445045,0.0000000,0.0000000,270.0000000);
puis :
MoveObject(grille,988,96.6640625,1924.5603027,17.8266354,0.0000000,0.0000000,270.0000000, 2.00);

donc en corespondance tu aurais:

l'objet a déplacé : grille (ça semble cohérent car tu l'as créé précédemment)
sa position final x: l'objet va donc passer de la coordonnée 988 a 988 ( donc aucun déplacement sur l'axe x)
sa position final y: l'objet va donc passer de la coordonnée 96.6288910 a 96.6640625 ( donc ton objet va bouger sur l'axe y)
sa position final z: l'objet va donc passer de la coordonnée 1920.3472900 a 1924.5603027 ( donc aucun déplacement sur l'axe z)
sa vitesse de déplacement sera de 17.8266354 unité par seconde
Sa rotation par rapport a l’état actuel sur l'axe x :0 ( aucune rotation)(optionel peut être enlevée si tu ne souhaite pas de rotation sur cette axe)
Sa rotation par rapport a l’état actuel sur l'axe y : 0 (aucune rotation)(optionel peut être enlevée si tu ne souhaite pas de rotation sur cette axe)
Sa rotation par rapport a l’état actuel sur l'axe z : 270 (rotation de 270°)(optionel peut être enlevée si tu ne souhaite pas de rotation sur cette axe)
Puis tu as ajouté un dernier apramètre 2 qui ne correspond a rien et qui derait te mettre une erreur de compilation en téhorie qui est donc a enlevée.

Voilà en espérant être plus clair.

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Grille Automatique ?
« Réponse #14 le: 22 Juillet 2013, 05:19:03 »
Pour faire simple tu dois créer deux variables, une qu'à précédemment montré Ouzdi Broono, et une autre pour savoir si la grille est fermée est ouverte
Petit exemple :

new grille, agrille;
//PLUS BAS DANS LE CODE
grille=CreateObject(etc...)
//DANS TA COMMANDE
    if(strcmp(cmdtext, "/open69", true) == 0)
    {
        if(agrille==0)
        {
            MoveObject(grille, etc...); //COORDONNES POUR LA PORTE OUVERTE
            agrille=1;
            return 1;
        }
        if(agrille==1)
        {
            MoveObject(grille, etc...); //COORDONNES POUR LA PORTE FERMEE
            agrille=0;
            return 1;
        }
    }
Voilà tout  :happy:

[/url]