• 04 Juin 2026, 07:15:52


Auteur Sujet: [RESOLU] Empecher le survol d'une zone  (Lu 2363 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
[RESOLU] Empecher le survol d'une zone
« le: 25 Décembre 2011, 18:30:50 »
Bonjour,

Sur mon serveur j'ai construit une sorte de base miliraire, le seul moyen d'y accédé c'est grace a une commande car cette base se situe en plein ocean mais le probleme c'est que je suis localisable sur le radar et donc cela n'empeche pas les joueurs de venir en avion ou helico.
Je voudrais donc savoir si vous avez une idée de comment empecher le survol de la zone.

dans le jeux solo il y a les lance missile de la Z51 mais en multi ils sont inactifs.

Help me please :)
« Modifié: 28 Décembre 2011, 20:21:16 par will »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #1 le: 25 Décembre 2011, 21:16:24 »
Salut,
J'imagines que tu veux faire un truc comme j'avais fait il y a quelques temps ?
[TEST] Sécurité QG des admins


Tu utilises un timer, et à chaque répétition, tu testes la position de chaque joueur. Si un joueur est dans la zone, tu en fait ce que tu veux : Kill, explosion, jail...
Il y a un tuto plus détaillé (Mais en anglais) pour t'aider sur le Wiki SA:MP.

++

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #2 le: 26 Décembre 2011, 03:29:15 »
A ouai c'est totalement ca :)
En fait tu crée une zone comme pour les gangs et tu choisis ce que tu souhaite affliger a ceux n'etant pas admin ok.

Mais comment tu fais ? Je ne suis pas super doué en pawn et donc ... je n'ai jamais reussis a faire de Timer, j'ai toujours des erreurs de compile :/



Double post
5h50 du mat et toujours dessu, j'ai essayé tout les tutos et rien a faire mon joueur ne meurt pas ...

J'ai reussi a créé une zone de gang et donc quand je joue j'ai bien mon rectangle rouge sur le radar donc mes coordonnées sont bonne.

La il faut que tu m'aide stp :/
« Modifié: 26 Décembre 2011, 05:51:56 par will »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #3 le: 26 Décembre 2011, 11:08:51 »
La gangzone, c'est juste pour la déco, ça n'a rien à voir. Il faut que tu récupères la position du joueur avec GetPlayerPos, et que tu testes si sa position sur l'axe Y et sur l'axe X avec une grosse condition (Tu peux aussi tester l'axe Z, celui de l'altitude si tu veux)

Un bon tuto : http://wiki.sa-mp.com/wiki/Areacheck
Et la map que j'avais faite pour un tuto sur les cooordonnées pour t'aider : http://tinyurl.com/86wk2t7

++

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #4 le: 26 Décembre 2011, 13:07:10 »
j'ai deja suivis ce tuto mais ca ne fonctionne pas :/


Double post
Alors voila :
En dessou de main()
forward isPlayerInArea();

___________________________________________________
Dans public OnGameModeInit()


SetTimer("isPlayerInArea", 1000, true);

__________________________________________________

public isPlayerInArea()
{

new Float:X, Float:Y, Float:Z; //We use this to store player position
  for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
    GetPlayerPos(i, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
        if (X <= 2470 && X >= 2424 && Y <= -1661 && Y >= -1640)
        /* This line is the important one!. Here, is where you change those numbers, by the ones
           you get from the /pos command. As you can see, those coordinates, are only the X and Y ones, the Z
           doesnt matter*/
        {
        SetPlayerHealth(i, -999999.9); //This will ensure, that our player gets killed if he tries to enter
        }
    }
}
« Modifié: 26 Décembre 2011, 14:06:37 par will »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #5 le: 26 Décembre 2011, 14:40:39 »
Tes positions sont inversées.

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #6 le: 26 Décembre 2011, 14:51:24 »
Cela ne fonctionne toujours pas, j'ai changer dans tout les sens et rien..

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #7 le: 26 Décembre 2011, 15:22:43 »
Pour moi c'est bien ça, regarde bien l'image. Tu testes si le joueur est au dessus de Y = -1640, ET en dessous de Y = -1661. C'est un peu impossible car ça demande d'être à deux positions différentes au même instant, donc la condition ne sera jamais validée.
Attention aux > et < avec les nombres négatifs ;)

++

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #8 le: 26 Décembre 2011, 15:35:50 »
Tu as vu juste j'avais tout melanger ....

Mais même en admin je meurt, comment tu fais pour faire en sorte que non ?

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #9 le: 26 Décembre 2011, 15:57:47 »
Il faut que tu fasses une nouvelle condition en fonction de ton système d'admin, tu utilises quel système ?

Hors ligne will

  • *
  • Criminel
  • Messages: 42
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #10 le: 26 Décembre 2011, 16:01:17 »
J'en utilise pas Oo
La seule façon d'etre admin c'est de faire Rcon login mdp

Double post
Bon allez les mecs aidez moi une fois pour toute la j'ai passé ma nuit et ma journée dessu j'en peux plus j'ai tout essayé.

La kill zone fonctionne et je n'arrive pas faire de condition pour l'admin :/

Double post
C'est bon j'etais partit sur un system complexe d'administration

mais un simple :

 if(IsPlayerAdmin(i))
       return 0;

a fait son travail it's good !
« Modifié: 26 Décembre 2011, 16:39:46 par will »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #11 le: 26 Décembre 2011, 17:43:17 »
Ah oui, pour le RCON c'est IsPlayerAdmin.
Tu peux simplifier en :

if(!IsPlayerAdmin(i))
{
    SetPlayerHealth(i,0);
}

PS : Tu ne changeras rien en mettant un nouveau message, comme ça ne fait qu'éditer personne ne verra que tu as up.
++

Hors ligne Lacuisse

  • *
  • Messages: 4083
    • Voir le profil
Re : Empecher le survol d'une zone
« Réponse #12 le: 26 Décembre 2011, 18:54:01 »
Will évites tes doubles post tu n'as qu'à faire modifier.  :)
 
++
L'avenir du monde est d'additionner nos différences et non pas de les soustraires (Antoine de Saint Exupéry).

De toutes les passions, la seule vraiment respectable me parait être la gourmandise. (Guy De Maupassant)