• 05 Juin 2026, 22:52:22


Auteur Sujet: [ J'aimerais Comprendre ] Diverses Question  (Lu 3390 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #15 le: 15 Octobre 2010, 23:23:33 »
J'ai pas pu m' empêcher d'améliorer ton code ^^


if(strcmp(cmd,"/permis",true)==0)
{
        if(IsPlayerConnected(playerid))
        {
            new TextP[ 5 ] = "Passé", TextNp[ 10 ] = "Non Passé";
            SendClientMessage(playerid, COLOR_WHITE, "|__________________ Licenses __________________|");
            format(string, sizeof(string), "** Permi Conduire: %s.", (PlayerInfo[playerid][pCarLic] ? TextP : TextNp ));
            SendClientMessage(playerid, COLOR_GREY, string);
            format(string, sizeof(string), "** Point Permis: %d.",PlayerInfo[playerid][pPointPermis]);
            SendClientMessage(playerid, COLOR_GREY, string);
            format(string, sizeof(string), "** Permi Vol: %s.", (PlayerInfo[playerid][pFlyLic] ? TextP : TextNp ));
            SendClientMessage(playerid, COLOR_GREY, string);
            format(string, sizeof(string), "** Permi Navigation: %s.", (PlayerInfo[playerid][pBoatLic] ? TextP : TextNp ));
            SendClientMessage(playerid, COLOR_GREY, string);
            format(string, sizeof(string), "** Permi Pêche: %s.", (PlayerInfo[playerid][pFishLic] ? TextP : TextNp ));
            SendClientMessage(playerid, COLOR_GREY, string);
            format(string, sizeof(string), "** Permi Arme: %s.", (PlayerInfo[playerid][pGunLic] ? TextP : TextNp ));
            SendClientMessage(playerid, COLOR_GREY, string);
            SendClientMessage(playerid, COLOR_WHITE, "|______________________________________________|");
}
return 1;
}

Si ça compile pas dit le moi ^^



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

Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #16 le: 15 Octobre 2010, 23:28:18 »
Oui c'est super gentil moi le truc c'est que je veut que les point permis devant permis passé  :(

PS : mais ji vais quand meme essayer

PS 2 : j'ai ajouter ton code et sa me donne :

C:\Documents and Settings\Administrateur\Bureau\[GM] En Cours\gamemodes\SJ.pwn(34468) : error 018: initialization data exceeds declared size
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
« Modifié: 15 Octobre 2010, 23:31:40 par Jerome02 »


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #17 le: 15 Octobre 2010, 23:51:50 »
TextP[ 5 ] -> TextP[ 6 ]


Pour le problème il me faut le script en entier ^^



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

Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #18 le: 15 Octobre 2010, 23:58:46 »

Citer
Pour le problème il me faut le script en entier ^^

Comment sa ?! le GM ou le système de point ?


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #19 le: 16 Octobre 2010, 03:50:13 »
Salut,

Juste pour être sûr:
Quand tu place la ligne concernant les points avant le reste, il te sort 12 ?
Si tu le place après le reste, il te sort 15?

As-tu changé autre chose?
Tu as testé de replacer après pour voir?
Car faut avouer..... c'est complètement invraisemblable.

Conseil:
Vérifie avec ctrl+f tous les endroits ou tu touche à pPointPermis.
Au besoin, ajoute des printf afin de vérifier sa valeur après et/ou avant chaque manipulation de la variable.

Pour ce qui est des textdraw (je crois que tu n'as pas eu de réponses depuis celle de sasuke), utilise simplement TextDrawCreate, TextDrawUseBox, TextDrawTextSize et TextDrawShowForPlayer (si ma mémoire est bonne). Bref, la boite du textdraw en noir et tu l'étend de façon à couvrir une section de l'écran. Dans ce cas, il te faut un textdraw pour le haut et un pour le bas.

En passant, les premières question (les avis sur les Role-Play) ne servent à rien, on arrivera jamais à un consensus. Même si on y arriverais, ça changerais quoi? Absolument rien, bref, toute cette partie partie est inutile.... (et même pratiquement hors-sujet (c'est pas du script !!!)). La seule question dont la réponse peut en valoir la peine: le temps passé à la création d'un RP de A à Z : plusieurs mois.

++Sim++





Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #20 le: 16 Octobre 2010, 10:53:09 »
Citer
Juste pour être sûr:
Quand tu place la ligne concernant les points avant le reste, il te sort 12 ?
Si tu le place après le reste, il te sort 15?

Enfaite quand je met les point devant le Permis passé / Non Passé sa me dit 15 point in gamme ! alors que j'en est mit 12 partout ou j'utilise les point permis comme :


Sa C'est la Commande des admins !

else if(strcmp(x_nr,"conduire",true) == 0)
                {
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "USAGE: /donnerpermis PermisDeConduire [playerid/PartiDuNom]");
                        return 1;
                    }
                    giveplayerid = ReturnUser(tmp);
                    if(IsPlayerConnected(giveplayerid))
                    {
                        if(giveplayerid != INVALID_PLAYER_ID)
                        {
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            format(string, sizeof(string), "* Vous avez donner le permis de conduire à %s.",giveplayer);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                            format(string, sizeof(string), "* L'Admin %s Vous à donner le permis de conduire.",sendername);
                            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                            PlayerInfo[giveplayerid][pCarLic] = 1;
                            PlayerInfo[giveplayerid][pPointPermis] = 12;
                            return 1;
                        }
                    }



Celle ci des instructeur :

if(strcmp(x_nr,"conduite",true) == 0)
                {
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "USAGE: /donnerlicense conduite [playerid/PartiDuNom] [Prix]");
                        return 1;
                    }
                    giveplayerid = ReturnUser(tmp);
                    if(IsPlayerConnected(giveplayerid))
                    {
                        if(giveplayerid != INVALID_PLAYER_ID)
                        {

                            tmp = strtok(cmdtext, idx);
                            if(!strlen(tmp))
                            {
                                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /donnerlicense conduite [playerid/PartiDuNom] [Prix]");
                                return 1;
                            }
                            new price;
                            price = strval(tmp);
                            if(price < 50 || price > 500) { SendClientMessage(playerid, COLOR_GREY, " Prix non inférieur à 50, ou au-dessus de 500!"); return 1; }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            format(string, sizeof(string), "* Vous offrez à %s d'acheter le permis de conduite pour $%d .", giveplayer, price);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            format(string, sizeof(string), "* L'Instructeur %s vous vend le permis de conduite pour $%d, (Utilisez /accepter license) pour l'achetez.", sendername, price);
                            SendClientMessage(giveplayerid, COLOR_WHITE, string);
                            LicenseOffer[giveplayerid] = playerid;
                            LicensePrice[giveplayerid] = price;
                            LicenseType[giveplayerid] = 1;
                            PlayerInfo[giveplayerid][pPointPermis] = 12;
                            return 1;
                        }
                    }



Mais quand je met les point permis en dessous du permis passé / non passé sa marche ! c'est sa que j'arrive pas a comprendre pourquoi en dessous et pas devant  :-\


Citer
Pour ce qui est des textdraw (je crois que tu n'as pas eu de réponses depuis celle de sasuke), utilise simplement TextDrawCreate, TextDrawUseBox, TextDrawTextSize et TextDrawShowForPlayer (si ma mémoire est bonne). Bref, la boite du textdraw en noir et tu l'étend de façon à couvrir une section de l'écran. Dans ce cas, il te faut un textdraw pour le haut et un pour le bas.


Ceci j'ai réussi en cherchent un peu sur wiki-samp Merci quand même de m'avoir donner les TextDraw qu'il faut utiliser il me manquer le TextDrawUseBox :)



Merci de votre réponse, bonne journée !

« Modifié: 16 Octobre 2010, 10:57:10 par Jerome02 »


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #21 le: 16 Octobre 2010, 11:24:03 »
Je suis sur qu'à un endroit tu incrémente sans vérifié que la valeur de la variable est déjà à 12, donc la valeur dépasse les 12 points.



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

Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #22 le: 16 Octobre 2010, 13:26:53 »

Citer
Je suis sur qu'à un endroit tu incrémente sans vérifié que la valeur de la variable est déjà à 12, donc la valeur dépasse les 12 points.


Problème résolue !  :D :D Merci  sasuke78200 et Sim Pour votre aide  ::) 


PS : Si j'ai encore des question je poste a la suite !




Bonne appétit, et bonne journée   ;)


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #23 le: 16 Octobre 2010, 13:39:01 »
Pas de problème ^^



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

Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #24 le: 16 Octobre 2010, 18:31:08 »
Re Bonjour,

Cette apres-midi j'ai télécharger l'include de Mr Fredo ( il marche plutôt bien ) mais j'ai un petit problème dans mon scripte, je m'explique :

avant d'ajouter l'include Gveh j'ai enlever toute les voiture de faction du serveur pour après avec le Gveh les mettre correctement j'ai enlever le systeme de vente de voiture qui il avais deja dans le scripte ( LARP ) et j'ai mit Gveh j'ai ajouter les voiture Faction et en Vente, Mais quand j'ai voulue essayer les vehicule en vente bah il démarre pas  :-X , en suite je suis monter dans les véhicule de faction et ils démarre toutes  :( sauf ce en vente,

J'ai essayer d'ajouter

if(idcar == 233 || idcar == 307)
                    {
                        return 1;
                    }

( les véhicule en vente commence a la ligne 233 jusqu'à 307 )

dans /demarrer, dans public Startup(playerid, vehicleid), OnPlayerStateChange(playerid, newstate, oldstate), et OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

la ou il y a les ids des voiture mais rien ce passe, je compile pas d'erreur ji vais in game et les voiture faction demarre toujours et pas ce en vente  :-X Pourquoi ?!


Si quelqu'un peu m'expliquer ce qui vas pas Merci de votre d'aide


EDIT :

Désoler javais oublier voici ce qu'il y a dans le scripte :

public Startup(playerid, vehicleid) :

http://pastebin.gtaonline.fr/pastebin.php?show=905

OnPlayerStateChange(playerid, newstate, oldstate) :

http://pastebin.gtaonline.fr/pastebin.php?show=906

/Demarrer :

http://pastebin.gtaonline.fr/pastebin.php?show=907

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) :

http://pastebin.gtaonline.fr/pastebin.php?show=908



Bonne fin de journée  ;)
« Modifié: 16 Octobre 2010, 18:47:00 par Jerome02 »


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne Jerome02

  • *
  • Tueur en série
  • Messages: 211
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #25 le: 21 Octobre 2010, 17:05:37 »
Petit Up   :-[


((** Débute dans le scripte mais connais deja pas mal de chose
mais beaucoup a apprendre encore :) **))

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [ J'aimerais Comprendre ] Diverses Question
« Réponse #26 le: 22 Octobre 2010, 04:34:37 »
Salut,

déjà, ton test if(idcar ...) ne vérifie pas ce que tu veut, il ne vérifie que si le id est l'un des deux spécifiés.

ps.

dans la fonction startup, à quoi correspond: pveh != 510 && pveh != 462 && newcar != 59 && newcar != 60 && newcar != 233 && newcar != 307

et en passant ta fonction Startup c'est beaucoup de code pour rien, comme pratiquement tous les codes des rp, version plus simple effectuant exactement la même chose:

public Startup(playerid, vehicleid)
{
new newcar = GetPlayerVehicleID(playerid);
new pveh = GetVehicleModel(newcar);
if(!engineOn[vehicleid] && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)//séparer le test en 2 parties, celle sur le joueur et le moteur du véhicule
{
  if(pveh != 510 && pveh != 462 && newcar != 59 && newcar != 60 && newcar != 233 && newcar != 307 && !IsAPlane(newcar) && !IsAHarvest(newcar) && !IsADrugHarvest(newcar) && !IsASweeper(newcar))//celle sur le type du véhicule (+ vehicleid)
{
SendClientMessage(playerid, COLOR_LIGHT_BLUE, "Attention! Tappez /demarrer ou appuié sur le bouton Tire pour démarré votre moteur!");
TogglePlayerControllable(playerid, false);
vehicleEntered[playerid][vehicleid] = true;
}
}
return 1;
}

Même chose pour ta callback OnPlayerStateChange:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string[256];
new vehicle = GetPlayerVehicleID(playerid);
new pveh = GetVehicleModel(vehicle);
Script_OnPlayerStateChange(playerid, newstate);
if(newstate == PLAYER_STATE_DRIVER)
{
if(pveh != 509 && pveh != 481 && pveh != 510 && pveh != 233 && pveh != 307 && !IsAPlane(vehicle) && !IsAHarvest(vehicle) && !IsADrugHarvest(vehicle) && !IsASweeper(vehicle))
{
SetTimerEx("Startup", 1, false, "ii", playerid, vehicle);
SetTimerEx("engine2", 2500, false, "ii", playerid);
}
}
...
return 1;
}

ces codes me dégoutent, vraiment. Dans ce cas ci tu avais très exactement le même test 2 fois..... pourquoi? Le type qui a codé ça était payé à la ligne de code j'imagine?
ps. quand le joueur est en PLAYER_STATE_DRIVER, il est forcément dans un véhicule....pas besoin de test IsPlayerInAnyVehicle, le seul cas où c'est possible c'est avec des cheateurs. Normalement il ne devrait pas y en avoir....

Enfin, regarde tous les codes parce que là franchement.... ça fait dur

++Sim++