• 16 Avril 2024, 14:46:20


Auteur Sujet: probleme dans la declaration  (Lu 1386 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Tomop

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
probleme dans la declaration
« le: 22 Janvier 2011, 21:49:26 »
(J'ai essayez de corrigez mes fautes)
Bonjour ,
J'ai encore 1 problème j'ai su comment créer une commande , les gamemode et filterscript et include se sont quoi
et ses quoi les callsback et comment créer des véhicule objets etc ..
Mais je sais rien en public
Voila mon problème :
 [ code=pawn]forward PlayerHealth
public health54()
{
   if PlayerHealth(playerid,>=15)
   {
       SendClientMessage(i, COLOR_YELLOW, "Vous étés blessez et évanouie si vous voulez appelez un médecin (tapez /service médecin ");
       SendClientMessage(i, COLOR_YELLOW, "Ou cliquez sur /mourir ");
       TogglePlayerControllable(playerid,0)
       SetPlayerCameraPos(giveplayerid, 2000,-2000,2000);
        SetPlayerCameraLookAt(giveplayerid, 2000,-2000,2000);
           }
   return 1;
}
[ /code]
J'ai créer la commande /mourir avec votre aide Merci ! .
mais maitenant je sais pas comment déclarer Si la vie du joueur et moins que 15 faire : ......
j'ai mis if playerhealth mais sa marche pas veuillez m'aidez et merci d'avance

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : probleme dans la declaration
« Réponse #1 le: 22 Janvier 2011, 22:38:50 »
if(GetPlayerHealth(playerid) < 15)
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Re : probleme dans la declaration
« Réponse #2 le: 23 Janvier 2011, 10:52:36 »
Je crois que comme c'est un float, par conséquent un nombre à virgule, il faut que tu mettes < 15.000 mais je ne suis pas sûr :P

Pour ton quote, pourquoi mettre :

Citer
forward PlayerHealth

Sachant que si tu veuille absolument mettre un forward, il faut le déclarer comme ceci :

Citer
forward PlayerHealth();

Et je pense qu'une fonction pour connaître la vie d'un joueur prend en paramètre playerid pour savoir de quel joueur il s'agit.

Ta fonction (public) doit avoir le même nom que sa déclaration (forward) ce qui reviendrais à (avec playerid en paramètre) :

Citer
forward PlayerHealth(playerid);

public PlayerHealth(playerid)
{
   if(GetPlayerHealth(playerid) <= 15)
    {
       SendClientMessage(playerid, COLOR_YELLOW, "Vous étés blessez et évanouie si vous voulez appelez un médecin (tapez /service médecin ");
       SendClientMessage(playerid, COLOR_YELLOW, "Ou cliquez sur /mourir ");
       TogglePlayerControllable(playerid,0)
       SetPlayerCameraPos(playerid, 2000,-2000,2000);
       SetPlayerCameraLookAt(playerid, 2000,-2000,2000);
    }
    return 1;
}

Rappel (que tu es censé connaître) : < : strictement inférieur à; > strictement supérieur à; <= inférieur ou égal à; >= supérieur ou égal à.

J'ai vu que tu avais mis en lieu et place de playerid un i et i est très souvent utilisé pour parcourir une boucle for qur tu as certainement dû apprendre dans le tutoriel de Gilux.

Ce qui reviendrais à supprimer le paramètre playerid et de mettre un boucle for qui parcourt tous les joueurs :

Citer
forward PlayerHealth();

public PlayerHealth(playerid)
{
   for(new i = 0; i < MAX_PLAYERS; i++)
    {
      if(GetPlayerHealth(i) <= 15)
       {
           SendClientMessage(i, COLOR_YELLOW, "Vous étés blessez et évanouie si vous voulez appelez un médecin (tapez /service médecin ");
           SendClientMessage(i, COLOR_YELLOW, "Ou cliquez sur /mourir ");
           TogglePlayerControllable(i,0)
           SetPlayerCameraPos(i, 2000,-2000,2000);
           SetPlayerCameraLookAt(i, 2000,-2000,2000);
       }
       return 1;
    }
}

Mais je ne vois pas pourquoi tu dirais à chaque joueur de regarder à telle position s'il est mort...

Bref, prends le temps de bien lire ma réponse (j'ai mis du temps à la rédiger correctement) ;)

EDIT : J'ai mis en gras des parties du code mais la balise code ne le prend pas en compte, donc j'ai mis des quotes ;)
« Modifié: 23 Janvier 2011, 10:54:48 par Myk3L »

Hors ligne Tomop

  • *
  • Nouveau
  • Messages: 12
    • Voir le profil
Re : probleme dans la declaration
« Réponse #3 le: 23 Janvier 2011, 19:14:57 »
 :wall  :-\  :-X  :-[ et pourquoi je fait tous sa si le joueur est mort ... T'a Raison Que je suis idiot  !!
Mais Je veux créer un System De chose de voiture quand il a un accident en nous dit  tu est blesse et après il et diminue 50 % de ta vie mais comment faire   :lmao








                                 Sandreas:RolePlay
[/font]
Voiture System : 100 %
Map: 50 %
CMD Admin : 50 %
CMD General : 60 %
Faction : 70 %
JOB: 100 %
« Modifié: 23 Janvier 2011, 19:20:00 par Tomop »