• 05 Juin 2026, 10:06:33


Auteur Sujet: Besoin de précison  (Lu 2478 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Besoin de précison
« le: 16 Juillet 2010, 11:41:47 »
Bonjour à tous,
Enfaite je voudrais créer une commande qui ferais perdre 50% de vie à tous ceux qui sont à 1 mètre de celui qui a exécuter la commande.
Il faut utiliser le ProxDetector?
Si oui comment (ce qui faut mettre dans les parentèses juste après)
Merci de vos réponces !!

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #1 le: 16 Juillet 2010, 12:00:17 »
Ok merci ben
EDIT:Enfaite c'est pour une faction et j'ai un problème j'ai juste modifié le nom des rangs des instructeurs et ça me met une erreur:
L'erreur:
\ONESTE~1\GAMEMO~1\larp.pwn(9898) : error 001: expected token: "-string end-", but found "-identifier-"La ligne 9898
else if(PlayerInfo[targetid][pRank] == 5) { rtext = "Legende"(5); }J'utilise le LARP de Scott1 !
« Modifié: 16 Juillet 2010, 12:04:34 par ewendu44 »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Besoin de précison
« Réponse #2 le: 16 Juillet 2010, 13:12:08 »
new Float:x = 0.0, Float:y = 0.0, Float:z = 0.0; // On déclare les variables qui vont contenir la position du joueur
GetPlayerPos( playerid, x, y, z ); // On sotcke la position du joueur dans les variables précedement déclarée

for( new i = 0; i < MAX_PLAYERS; i++ ) // On fait une boucle qui va de 0 à 500
{
if( IsPlayerConnected( i ) ) // On Test si le joueur " i " est connecté
{
    if( IsPlayerInRangeOfPoint( i, 1, x, y, z) ) // On test si le joueur est à 1 mètres la position qui est stockée dans les variables x, y, z
    {
        SetPlayerHealth( i, 0.0 ); // on tue le joueur " i "
    }
}
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Re : Besoin de précison
« Réponse #3 le: 16 Juillet 2010, 13:20:08 »
Je me permet une petite correction ( rien de grave hein :P) , la tu tue le joueur alors qu'on veut juste mettre sa vie à 50  :happy

Ah oui, mal compris ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #4 le: 16 Juillet 2010, 13:47:26 »
Merci pour vos réponses !!
Mais c'est possible de faire un truc genre le joueur à 80 de vie et il pert 50% de cela (donc il a plus que 40)?
Et faut pas que celui qui execute la commande meurt !!
« Modifié: 16 Juillet 2010, 14:05:08 par ewendu44 »

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Besoin de précison
« Réponse #5 le: 16 Juillet 2010, 14:30:17 »
Bonjour, Pour retirer la santé au joueur est non le mettre à 50 % de vie :

- Tout simplement une soustraction comme ceci SetPlayerHealth( i, -50.0 );
EDIT : Sinon, Par exemple si le joueur à 40% de vie on lui retire 50 %, Donc il meurt ...
 :dry D0os-Nox  ;D
« Modifié: 16 Juillet 2010, 14:33:57 par D0os-Nox »




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Besoin de précison
« Réponse #6 le: 16 Juillet 2010, 14:51:26 »
Va falloir réviser vos cours sur les pourcentages les gars .....  :(

Pour enlever 50 % de vie à un joueur, il suffit de la diviser par 2 :
SetPlayerHealth (i, GetPlayerHealth (i)/2.0);
Plus généralement, pour enlever X % de vie à un joueur :
new Vie=GetPlayerHealth (i);
SetPlayerHealth (i, Vie - (Vie*X)/100);

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Besoin de précison
« Réponse #7 le: 16 Juillet 2010, 14:53:52 »
Humph on a tous mal compris lol



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #8 le: 16 Juillet 2010, 15:00:41 »
Merci à vous tous !!

Double post
Désoler du double post
Mais j'ai mis ce que vous avez mit et j'ai mit aussi 2 3 trucs mais il y a 26 erreurs qui ne sont pas du tous dans ce que j'ai fais
Voici le code:
if(strcmp(cmd, "/pdf", true) == 0)
{
new Float:x = 0.0, Float:y = 0.0, Float:z = 0.0;
GetPlayerPos( playerid, x, y, z );

for( new i = 0; i < MAX_PLAYERS; i++ )
{
    if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11)
{
SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas catcheur"),
}
if (PlayerToPoint (30, 1362.1768,2163.4197,11.9345)
    {
    SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas sur le ring");
    }
    if( IsPlayerInRangeOfPoint( i, 1, x, y, z) )
    {
        SetPlayerHealth (i, GetPlayerHealth (i)/2.0);
        }
return 1;
}

Et les erreurs:
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2307) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2336) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2372) : error 004: function "SafeResetPlayerWeapons" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2373) : error 004: function "SafeGivePlayerWeapon" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2400) : error 004: function "SafeResetPlayerWeapons" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2882) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2893) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2905) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2909) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2921) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2925) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2929) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2933) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2937) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2941) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2945) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2949) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2961) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2965) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2969) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2973) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2977) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2989) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2993) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(2997) : error 004: function "PlayerToPoint" is not implemented
C:\DOCUME~1\EWEN~1.DM-\MESDOC~1\ONESTE~1\GAMEMO~1\larp.pwn(3009) : error 004: function "PlayerToPoint" is not implemented
« Modifié: 16 Juillet 2010, 15:20:24 par ewendu44 »

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Besoin de précison
« Réponse #9 le: 16 Juillet 2010, 15:46:11 »
RE : Il te manque une accolade avant le return 1;  :

Comme ceci :

if(strcmp(cmd, "/pdf", true) == 0)
{
new Float:x = 0.0, Float:y = 0.0, Float:z = 0.0;
GetPlayerPos( playerid, x, y, z );

for( new i = 0; i < MAX_PLAYERS; i++ )
{
  if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11)
{
SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas catcheur"),
}
if (PlayerToPoint (30, 1362.1768,2163.4197,11.9345)
             {
             SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas sur le ring");
   }
       if( IsPlayerInRangeOfPoint( i, 1, x, y, z) )
             {
                     SetPlayerHealth (i, GetPlayerHealth (i)/2.0);
             }
         }
return 1;
}

 :laugh D0os-Nox  :ohmy




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #10 le: 16 Juillet 2010, 15:52:57 »
Non c'est pas l'accolade  :( mais merci quand même
Mais ç m'a fait ça quand j'ai rajouté le PlayerToPoint

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Besoin de précison
« Réponse #11 le: 16 Juillet 2010, 16:02:13 »
RE : Excuse, j'avais pas vérifier donc forcement, il te manque 2 accolade en faite donc :

if(strcmp(cmd, "/pdf", true) == 0)
{
new Float:x = 0.0, Float:y = 0.0, Float:z = 0.0;
GetPlayerPos( playerid, x, y, z );

for( new i = 0; i < MAX_PLAYERS; i++ )
{
  if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11)
{
SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas catcheur"),
}
if (PlayerToPoint (30, 1362.1768,2163.4197,11.9345)
   {
     SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas sur le ring");
   }
     if( IsPlayerInRangeOfPoint( i, 1, x, y, z) )
       {
         SetPlayerHealth (i, GetPlayerHealth (i)/2.0);
         }
        }
   }
return 1;
}

PS : Les fonction sont mal defini regarde exemple : SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas catcheur"), > SendClientMessage (playerid, COLOR_FADE3, "Vous n'êtes pas catcheur");   (( Mais à toi de modifier ))

 :) D0os-Nox  :D
« Modifié: 16 Juillet 2010, 16:04:29 par D0os-Nox »




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #12 le: 16 Juillet 2010, 16:09:25 »
A merci beaucoup,les accolades m'ont toujours poser des problèmes  :lmfao

Double post
Encore un double post dsl :(
Cette fois ba pour exécuter la commande je suis normalement dans le stade ouvert de LV mais quand j'y suis ça ne marche pas,mais quand je suis en dehors ça marche très bien !!
Aussi je perd pas la moitié mais presque tous !!
« Modifié: 16 Juillet 2010, 16:59:52 par ewendu44 »

Hors ligne D0os-Nox

  • Connais toi - toi même
  • *
  • Tueur en série
  • Retourne toi, t'es déjà mort
  • Messages: 144
    • Voir le profil
    • :.. UG - Communauté d'entraide, de production vidéo games et multigaming ..:
Re : Besoin de précison
« Réponse #13 le: 16 Juillet 2010, 17:23:25 »
RE :  Normale explication :

- En fait dans la fonction PlayerToPoint, tu à mis la position mais là tu lui dit que si il est à la position du ring sa lui envoie seulement le message d'avertissement !


Donc, pour faire le contraire : if (!PlayerToPoint (30, 1362.1768,2163.4197,11.9345))

 8) D0os-Nox  :laugh




Citer
La vrai paix n'existe pas, nous somme le reflet de l'ignorance d'un monde détruit par la guerre ![/glow]
Citer
Chaque jours, la haine nous renferme dans l'obscurité ![/glow]
(Citations par D0os)

Hors ligne Nesik

  • *
  • Grand Banditisme
  • Messages: 674
    • Voir le profil
    • Uknow
Re : Besoin de précison
« Réponse #14 le: 16 Juillet 2010, 17:28:21 »
A merci encore une fois,j'ai encore beaucoup de chose à apprendre !!