• 06 Juin 2026, 13:19:48


Auteur Sujet: Probleme "ispassenger"  (Lu 3992 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #15 le: 04 Décembre 2010, 19:55:31 »
un truc du genre s'est orrible alors?

if(giveplayerid == playerid) { Message(playerid,4000,"~r~Vous ne pouvez pas utilisez cette commande sur vous meme."); return 1; }
        if(!IsPlayerConnected(giveplayerid) || JoueurInfos[giveplayerid][jSpawn] != 1) { Message(playerid,4000,"~r~Ce joueur n'est pas connecte ou n'a pas encore spawn."); return 1; }
            if(!IsPlayerInAnyVehicle(playerid)){ Message(playerid,4000,"~r~Vous n'etes pas dans un vehicule de police."); return 1; }
if(!GetDistanceBetweenPlayers(playerid,giveplayerid,5.0)) { Message(playerid,4000,"~r~Ce joueur n'est pas pres de vous."); return 1; }
            new carid = GetPlayerVehicleID(playerid);
if(VehiculeInfos[carid][vType] != 8) { Message(playerid,4000,"~r~Vous n'etes pas dans un vehicule de police."); return 1; }
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) { Message(playerid,4000,"~r~Vous n'etes pas conducteur."); return 1; }
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #16 le: 04 Décembre 2010, 20:07:10 »
sa exist un code aussi sale :o
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 scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #17 le: 04 Décembre 2010, 20:17:42 »
Sérieusement?

Et on l'optimiserais comment?
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Probleme "ispassenger"
« Réponse #18 le: 04 Décembre 2010, 20:34:15 »
Vraiment mal indenté, je vois également des return partout alors qu'on pourrait en utiliser qu'un seul grâce à else if.
Voilà un code bien indenté et légèrement optimisé !

Code: (Pawn) [Sélectionner]
new carid = GetPlayerVehicleID(playerid);

if(giveplayerid == playerid)
{
Message(playerid, 4000, "~r~Vous ne pouvez pas utilisez cette commande sur vous meme.");
}
else if(!IsPlayerConnected(giveplayerid) || JoueurInfos[giveplayerid][jSpawn] != 1)
{
Message(playerid, 4000, "~r~Ce joueur n'est pas connecte ou n'a pas encore spawn.");
}
else if(!IsPlayerInAnyVehicle(playerid))
{
Message(playerid, 4000, "~r~Vous n'etes pas dans un vehicule de police.");
}
else if(!GetDistanceBetweenPlayers(playerid, giveplayerid, 5.0))
{
Message(playerid, 4000, "~r~Ce joueur n'est pas pres de vous.");
}
else if(VehiculeInfos[carid][vType] != 8)
{
Message(playerid, 4000, "~r~Vous n'etes pas dans un vehicule de police.");
}
else if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
Message(playerid, 4000, "~r~Vous n'etes pas conducteur.");
}
return 1;

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #19 le: 04 Décembre 2010, 21:24:11 »
Quelqu'un pourrait il m'expliquer l'intendation?

Ce que s'est et en quoi ça conciste ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #20 le: 04 Décembre 2010, 21:33:38 »
Sa consiste a rendre le code plus "beau" plus compréhensible, apres je sais pas si c'est pareil pour le logiciel que pour nous(plus comprehensible).
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #21 le: 04 Décembre 2010, 22:07:57 »
Oo j'avais repondut mon post ni est plus pour le compilot c'est plus lisible

mais juste un truc pourquoi ne pas regarder si le playerid remplit les condition avant le giveplayerid c'est pas logique le code
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 Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Probleme "ispassenger"
« Réponse #22 le: 04 Décembre 2010, 22:20:22 »
L'indentation permet une meilleur lisibilité du code présenté.
Cela donne plus envie à une personne de lire et de comprendre ton code sans avoir à le déchiffrer !


Indentation:
Très souvent utilisée en programmation, elle rend le code source plus clair et plus lisible.
- Wikipedia.org


EDIT: Voici trois code identique mais qui sont indenté différemment.
Tu pourra me dire quelle est pour toi la meilleur chose à faire: indenter ou ne pas indenter.

Code indenté

Code: (Pawn) [Sélectionner]
if(CPS_IsPlayerInCheckpoint(playerid, cpammu2)) {
AMMUBOX[playerid] = 0;

if(gTeam[playerid] != COP && gTeam[playerid] != Medic && gTeam[playerid] != SWAT && gTeam[playerid] != FBI && gTeam[playerid] != ARMY) {
if(Ammu2RecentlyRobbed == 0) {
new chances = random(500);

if(chances >= 0 && chances <= 400) {
new string[250];

RobAmmu2[playerid] = 20;
Ammu2RecentlyRobbed = 150;

format(string, sizeof(string), "%s[ID:%d] started a robbery at Ammunation!", name, playerid);
Announce(string);

return true;
}
else if(chances >= 401 && chances <= 500) {
new copmsg[250];

SendClientMessage(playerid, ERROR, "Your attempt to rob Ammunation failed!");
SendClientMessage(playerid, ERROR, "The Police are on their way to the store.");

SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 5);

format(copmsg, sizeof(copmsg), "[HQ] %s attemped to rob Ammunation.", name);
SendRadioMessageToCops(copmsg);

Ammu2RecentlyRobbed = 100;

return true;
}
}
else if(Ammu2RecentlyRobbed > 0) return SendClientMessage(playerid, ERROR, "Ammunation has been robbed recently!");
}
else SendClientMessage(playerid, ERROR, "Your team cannot rob anything.");
}

Code non-indenté
if(CPS_IsPlayerInCheckpoint(playerid, cpammu2))
{
AMMUBOX[playerid] = 0;
if(gTeam[playerid] != COP && gTeam[playerid] != Medic && gTeam[playerid] != SWAT && gTeam[playerid] != FBI && gTeam[playerid] != ARMY)
{
if(Ammu2RecentlyRobbed == 0)
{
new chances = random(500);
if(chances >= 0 && chances <= 400)
{
new string[250];
RobAmmu2[playerid] = 20;
Ammu2RecentlyRobbed = 150;
format(string, sizeof(string), "%s[ID:%d] started a robbery at Ammunation!", name, playerid);
Announce(string);
return true;
}
else if(chances >= 401 && chances <= 500)
{
new copmsg[250];
SendClientMessage(playerid, ERROR, "Your attempt to rob Ammunation failed!");
SendClientMessage(playerid, ERROR, "The Police are on their way to the store.");
SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+ 5);
format(copmsg, sizeof(copmsg), "[HQ] %s attemped to rob Ammunation.", name);
SendRadioMessageToCops(copmsg);
Ammu2RecentlyRobbed = 100;
return true;
}
}
else if(Ammu2RecentlyRobbed > 0) return SendClientMessage(playerid, ERROR, "Ammunation has been robbed recently!");
}
else SendClientMessage(playerid, ERROR, "Your team cannot rob anything.");
}

Code non-indenté et mal rangé
if(CPS_IsPlayerInCheckpoint(playerid, cpammu2)){AMMUBOX[playerid] = 0;
if(gTeam[playerid] != COP && gTeam[playerid] != Medic && gTeam[playerid] != SWAT && gTeam[playerid] != FBI && gTeam[playerid] != ARMY){if(Ammu2RecentlyRobbed == 0)
{new chances = random(500);if(chances >= 0 && chances <= 400){new string[250];RobAmmu2[playerid] = 20;Ammu2RecentlyRobbed = 150;
format(string, sizeof(string), "%s[ID:%d] started a robbery at Ammunation!", name, playerid);Announce(string);
return true;}else if(chances >= 401 && chances <= 500){new copmsg[250];SendClientMessage(playerid, ERROR, "Your attempt to rob Ammunation failed!");
SendClientMessage(playerid, ERROR, "The Police are on their way to the store.");SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+ 5);
format(copmsg, sizeof(copmsg), "[HQ] %s attemped to rob Ammunation.", name);SendRadioMessageToCops(copmsg);Ammu2RecentlyRobbed = 100;
return true;}}else if(Ammu2RecentlyRobbed > 0) return SendClientMessage(playerid, ERROR, "Ammunation has been robbed recently!");
}else SendClientMessage(playerid, ERROR, "Your team cannot rob anything.");}

Tu pourra remarquer que le dernier code est très petit (en ligne) mais est complètement illisible !
PS: Code tiré aléatoirement du gamemode RuNix's Cops and Robbers codé par Raul_Ro du forum officiel de SA:MP.
« Modifié: 04 Décembre 2010, 22:33:44 par Xartrick »

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #23 le: 04 Décembre 2010, 22:50:55 »
Donc pour le serveur, le dernier est le pire?
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Probleme "ispassenger"
« Réponse #24 le: 04 Décembre 2010, 22:52:38 »
Après être compiler, un code est un code.
Le compilateur lui, peut avoir du mal à diriger ton code mais ton serveur, une fois qu'il à un code compilé (sans erreurs), il l'exécute mais l'indentation ne l'affectera pas (à moins que je me trompe).

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Re : Probleme "ispassenger"
« Réponse #25 le: 05 Décembre 2010, 00:19:58 »
Après être compiler, un code est un code.
Le compilateur lui, peut avoir du mal à diriger ton code mais ton serveur, une fois qu'il à un code compilé (sans erreurs), il l'exécute mais l'indentation ne l'affectera pas (à moins que je me trompe).


Donc en fait je choisis la methode que je prefere.

ça n'affecte pas les performance? Ooooh grand maitre syg passe par ici ;)


Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Probleme "ispassenger"
« Réponse #26 le: 05 Décembre 2010, 00:20:43 »
Syg te conseillera d'indenter ton code, pas besoin de l'attendre ;) !

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #27 le: 05 Décembre 2010, 00:33:57 »
En faite à la compilation leur compilateur enlève tout les "Blancs" donc que le code soit indenté ou pas ça n'affecte pas le compilateur ( sauf pour les warning d'indentation ), mais comme le dit Xartrick Syg te conseillerai d'indenter ton code.



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

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #28 le: 05 Décembre 2010, 00:37:46 »
L'indenter pour ma lecture, mais pas pour celle du serveur, donc pas de soucis au niveau des performance.


Je suis bisard mais cette écriture me plait donc si niveau performance aucun soucis, je la garde.
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Probleme "ispassenger"
« Réponse #29 le: 05 Décembre 2010, 21:04:42 »
Salut,

effectivement il n'y a aucun soucis à l'exécution, ni à la compilation. Comme tous les autres l'ont dit, le fichier compilé n'est pas influencé par l'indentation (C'est un peu comme si tu laisse des lignes vides dans ton script pour séparer deux parties, il n'y aura pas de lignes vides dans le code compilé, de toute façon ce n'est pas du texte alors...)

Par contre, quand tu demande de l'aide, il est beaucoup plus difficile et moins tentant de t'aider avec un code non indenté et mal arrangé. Après, si ça te plait, c'est toi qui voit.

PS. comme c'est aussi plus évident de voir les niveaux de code etc... c'est plus évident de voir les erreurs d'accolade, de return mal placés....

++Sim++