Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254727 Messages dans 14037 Fils de discussion- par 6623 Membres - Dernier membre: Magicien

24 Mai 2012 à 08:50:55
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center] (Modérateurs: S!m, Xartrick)[Probleme] PlayeToPoint // Commande
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [Probleme] PlayeToPoint // Commande  (Lu 159 fois)
0 Membres et 1 Invité sur ce fil de discussion.
[F2G]Sc0rpi0n
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 39


« le: 23 Juillet 2009 à 16:50:30 »

Bonjour,Alors j'ai encore un probleme donc j'aimerais qu'on m'aide svp Sourire

Voici le probleme : J'ai un pickup qui marche parfaitement,je voudrais que quand l'on aille dessus cela nous TP dans un interieur.

Code:
AddStaticPickup(1239, 2,1518.1819,-1453.1005,14.2031); // PickUp 1

Donc ce PickUp marche correctement,maintenant je voudrais que quand l'on aille dessus cela nous TP a un intterieur mais je sais pas comment faire pour le PlayerToPoint

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2eme probleme,alors je voudrais que quand on est dans l'interieur l'on ait une commande /gilet


Code:
{
   if (strcmp(text, "armour", true) == 0)
   {
       new Float:armour, string[70];
       GetPlayerArmour(playerid, armour);
       return 0;
   }
 
   return 1;
}

Alors voila je pense que cette commande est pas loin d'être correcte mais je sais pas si il faut rajouter des new ou forward
Journalisée
°D@vid°
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 54


« Répondre #1 le: 23 Juillet 2009 à 17:49:20 »

Salut alors pour le premier,
Code:
  if(PlayerToPoint(5.0, playerid, 1518.1819,-1453.1005,14.2031))
    {
   SetPlayerPos(playerid, ta possition);
   SetPlayerInterior(playerid, ID);
   }

tu défini;

Code:
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}

Sans oublié le forward

Code:
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
« Dernière édition: 23 Juillet 2009 à 18:11:43 par °D@vid° » Journalisée
S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2260


« Répondre #2 le: 23 Juillet 2009 à 18:20:43 »

Salut,

sans vouloir te décevoir, insulter etc...

cette fonction n'est pas un vrai PlayerToPoint, elle défini un cube autour du point, non pas une sphère comme un PlayerToPoint devrait le faire...

Code:
PlayerToPoint(Float:radius, playerid, Float:X, Float:Y, Float:Z)
{
new Float:px, Float:py, Float:pz;
if(GetPlayerPos(playerid, px, py, pz))
{
px -= X;
py -= Y;
pz -= Z;
if((px * px) + (py * py) + (pz * pz) <= (radius * radius))
{
return 1;
}
}
return 0;
}

Cette fonction sera plus rapide et plus précise que la tienne...

ps. comporte possiblement certaines erreurs de frappe, je viens de l'écrire sur le forum...

++Sim++
Journalisée





°D@vid°
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 54


« Répondre #3 le: 23 Juillet 2009 à 18:22:01 »

Merci Sim je vais regarder je te dis sa !

Edit: quelques petite erreur mais rien de méchant maintenant reste à tester  Clin d'oeil merci bien !
« Dernière édition: 23 Juillet 2009 à 18:24:22 par °D@vid° » Journalisée
[F2G]Sc0rpi0n
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 39


« Répondre #4 le: 23 Juillet 2009 à 18:33:32 »

Merci pour ces codes Sourire Pour informations les deux test donc je peut prendre les deux ? Certes simple ou pas simples mais bon.

Merci d'avance pour m'aider a mon seconde probleme
Journalisée
Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.133 secondes avec 23 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact