• 08 Juillet 2025, 19:08:11


Auteur Sujet: /vetement , petit problème.  (Lu 1433 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
/vetement , petit problème.
« le: 15 Janvier 2012, 17:21:25 »
Bonjour à tous, je suis nouveau sur le forum (Que je trouve vraiment pas mal), j'ai un petit problème à vous exposer.
Donc j'ai un serveur avec le GameMode " Une deuxième chance 2.0.3 " de Mehdi Jumper (U2C fait par FullDrive mais j'ai une modification de Mehdi Jumper, bref)
Et en allant au binco, j'ai trouver le système de /vetements avec suivant etc pas top.
/vetements de base :
}
if(strcmp(cmd, "/vetements", true) == 0 || strcmp(cmd, "/vetement", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pMember] >= 1)
        {
            if(IsAtClothShop(playerid))
{
    if(PlayerInfo[playerid][pMember] == 1) { ChosenSkin[playerid] = 280; SetPlayerSkin(playerid, 280); }
else if(PlayerInfo[playerid][pMember] == 2) { ChosenSkin[playerid] = 286; SetPlayerSkin(playerid, 286); }
else if(PlayerInfo[playerid][pMember] == 3) { ChosenSkin[playerid] = 287; SetPlayerSkin(playerid, 287); }
else if(PlayerInfo[playerid][pMember] == 4) { ChosenSkin[playerid] = 70; SetPlayerSkin(playerid, 70); }
else if(PlayerInfo[playerid][pMember] == 5) { ChosenSkin[playerid] = 117; SetPlayerSkin(playerid, 117); }
else if(PlayerInfo[playerid][pMember] == 6) { ChosenSkin[playerid] = 111; SetPlayerSkin(playerid, 111); }
else if(PlayerInfo[playerid][pMember] == 8) { ChosenSkin[playerid] = 249; SetPlayerSkin(playerid, 249); }
//else if(PlayerInfo[playerid][pMember] == 9) { ChosenSkin[playerid] = 148; SetPlayerSkin(playerid, 148); }
//else if(PlayerInfo[playerid][pJob] == 13) { ChosenSkin[playerid] = 255; SetPlayerSkin(playerid, 255); }
//else if(PlayerInfo[playerid][pMember] == 11) { ChosenSkin[playerid] = 59; SetPlayerSkin(playerid, 59); }
else if(PlayerInfo[playerid][pMember] == 14) { ChosenSkin[playerid] = 169; SetPlayerSkin(playerid, 169); }
else if(PlayerInfo[playerid][pMember] == 15) { ChosenSkin[playerid] = 127; SetPlayerSkin(playerid, 127); }
else if(PlayerInfo[playerid][pMember] == 16) { ChosenSkin[playerid] = 184; SetPlayerSkin(playerid, 184); }
else { return 1; }
GetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);
ChangePos2[playerid][0] = GetPlayerInterior(playerid);
ChangePos2[playerid][1] = 1;
    SetPlayerInterior(playerid,0);
new rand = random(sizeof(gInviteSpawns));
SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
TogglePlayerControllable(playerid, 0);
SelectChar[playerid] = 255;
SelectCharID[playerid] = PlayerInfo[playerid][pMember];
SelectCharPlace[playerid] = 1;
PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
    PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
    SendClientMessage(playerid, COLOR_LIGHTRED, "Utilisez 'suivant' pour passer au skin suivant.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Si vous avez trouvé le skin qui vous convient. Tapez 'terminer'.");
changementvetements[playerid] = 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Vous n'êtes pas dans un magasin de vêtements!");
return 1;
}
        }
        else
        {
            if(PlayerInfo[playerid][pLeader] != 0)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Vous ne pouvez pas changer de vêtements vous ête chef!");
                return 1;
            }
            if(IsAtClothShop(playerid))
            {
                if(PlayerInfo[playerid][pSex] == 1) { ChosenSkin[playerid] = 2; SetPlayerSkin(playerid, 2); PlayerInfo[playerid][pChar] = 2; }
                else if(PlayerInfo[playerid][pSex] == 2) { ChosenSkin[playerid] = 55; SetPlayerSkin(playerid, 55); PlayerInfo[playerid][pChar] = 55; }
                else { return 1; }
                GetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);
ChangePos2[playerid][0] = GetPlayerInterior(playerid);
ChangePos2[playerid][1] = 1;
SetPlayerInterior(playerid,0);
new rand = random(sizeof(gInviteSpawns));
SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
TogglePlayerControllable(playerid, 0);
SelectChar[playerid] = 255;
if(PlayerInfo[playerid][pSex] == 1) { SelectCharID[playerid] = 20; }
else if(PlayerInfo[playerid][pSex] == 2) { SelectCharID[playerid] = 30; }
else { return 1; }
SelectCharPlace[playerid] = 1;
PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
SendClientMessage(playerid, COLOR_LIGHTRED, "Utilisez 'suivant' pour passer au skin suivant.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Si vous avez trouvé le skin qui vous convient. Tapez 'terminer'.");
            }
        }
    }
    return 1;

J'ai décider d'aller voir un peu sur Google si je pouvais trouver un système de /vetement [ID Du skin] j'en ai trouver quelque un que j'ai modifié à ma guise, au final, ça donne ça :

}
if (strcmp(cmdtext, "/vetement", true)==0)
{
        if(IsPlayerConnected(playerid))
    {
        if(IsAtClothShop(playerid))
{
                                        if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /vetement [skin id]");
return 1;
}
new pskin;
tmp = strtok(cmdtext, idx);
pskin = strval(tmp);
{
    PlayerInfo[playerid][pChar] = pskin;
SetPlayerSkin(playerid, pskin);
SendClientMessage(playerid,COLOR_GREEN,"Cette tenue vous va très bien!");
}
}
}
return 1;

Mais il y a un petit problème que je ne comprend pas, quand je vais IG au binco et que je fais /vetement, cela me mais bien USAGE: /vetement [skin id], mais quand je fais /vetement [ID d'un skin] cela me mais que la commande n’existe pas..
Je ne comprends pas trop ou est l'erreur, je demande donc un peu d'aide.
(Je ne veux surtout pas passer pour le type qui demande le script tout entier et qui s’en fou du reste, je voudrais juste un peu d'aide et qu'on m’explique ou est l'erreur)
Bonne journée !
[/b]

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : /vetement , petit problème.
« Réponse #1 le: 15 Janvier 2012, 17:26:24 »
if (strcmp(cmdtext, "/vetement", true)==0)
if (strcmp(cmdtext, "/vetement", true, 9) == 0)
Citation de: Wiki
strcmp(const string1[], const string2[], bool:ignorecase, length)

length (optional)   When this length is set, the first x chars will be compared - doing "Hello" and "Hell No" with a length of 4 will say it's the same string.

Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Re : /vetement , petit problème.
« Réponse #2 le: 15 Janvier 2012, 17:39:25 »
Bonjour,
Tout d'abord merci beaucoup de ton aide, mais maintenant, quand je fais /vetement [Id d'un skin], il ne me dit plus que la commande n'existe pas, mais il me redit " USAGE: /vetement [skin id] "
Étrange, en tout cas merci de ton aide !


}
if (strcmp(cmdtext, "/vetement", true, 9) == 0)
{
        if(IsPlayerConnected(playerid))
    {
        if(IsAtClothShop(playerid))
{
                                        if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /vetement [skin id]");
return 1;
}
new pskin;
tmp = strtok(cmdtext, idx);
pskin = strval(tmp);
                if((pskin >= 163 && pskin <= 166) || (pskin >= 274 && pskin <= 287) || pskin > 300 || pskin < 0)
{
    PlayerInfo[playerid][pChar] = pskin;
SetPlayerSkin(playerid, pskin);
SendClientMessage(playerid,COLOR_GREEN,"Cette tenue vous va très bien!");
}
}
}
return 1;

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : /vetement , petit problème.
« Réponse #3 le: 15 Janvier 2012, 18:20:52 »
Salut,

regarde ça:

                                if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /vetement [skin id]");
return 1;
}
new pskin;
tmp = strtok(cmdtext, idx);

tu ne trouve pas qu'il y a un petit problème?

tu tente d'évaluer la longueur du texte contenu dans la variable tmp et tu y stocke du texte après... normalement on fait l'inverse:

tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0)
...

bonne chance

++Sim++





Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Re : /vetement , petit problème.
« Réponse #4 le: 15 Janvier 2012, 18:47:34 »
Salut S!m, et merci de ton aide.
Donc maintenant j'ai fait ça :
}
if (strcmp(cmdtext, "/vetement", true, 9) == 0)
{
      if(IsPlayerConnected(playerid))
   {
       if(IsAtClothShop(playerid))
{
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /vetement [skin id]");
return 1;
}
                new pskin;
tmp = strtok(cmdtext, idx);
                if(strlen(tmp) == 0)
{
   PlayerInfo[playerid][pChar] = pskin;
SetPlayerSkin(playerid, pskin);
SendClientMessage(playerid,COLOR_GREEN,"Cette tenue vous va très bien!");
}

}
}
return 1;
}
Mais quand je compile, ça me donne ça :
C:\Documents and Settings\HP_Administrateur\Bureau\2.0.3\gamemodes\u2c-rp.pwn(51615) : warning 225: unreachable code
Pourquoi  " warning 225: unreachable code "? Ou est l'erreur ?
Merci encore
« Modifié: 15 Janvier 2012, 18:49:27 par Raptor2x »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : /vetement , petit problème.
« Réponse #5 le: 15 Janvier 2012, 19:12:42 »
if (strcmp(cmdtext, "/vetement", true, 9) == 0)
{
    if (IsPlayerConnected(playerid))
    {
        if (IsAtClothShop(playerid))
        {
            { // ?
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /vetement [skin id]");
               
                return 1;
            } // ?
           
            new pskin;
           
            tmp = strtok(cmdtext, idx);
           
            if(strlen(tmp) == 0)
            {
                PlayerInfo[playerid][pChar] = pskin; // pskin toujours égal à 0, aucune attribution de valeur.
               
                SetPlayerSkin(playerid, pskin); // pskin toujours égal à 0, aucune attribution de valeur.
                SendClientMessage(playerid, COLOR_GREEN, "Cette tenue vous va très bien!");
            }
        }
    }
   
    return 1;
}

Hors ligne Antonio_Pedretti

  • *
  • Criminel
  • Codeur Pawn, HTLM, CSS++
  • Messages: 34
    • Voir le profil
    • CeNouveauMonde RôlePlay
Re : /vetement , petit problème.
« Réponse #6 le: 17 Janvier 2012, 18:44:30 »
les warnings ne sont pas très important, tant que ta le fichier .amx quand tu compiles, c'est bon.

Hors ligne FR_SalutSSBB

  • Stunter
  • *
  • Tueur
  • Stunter - Killer - SSBB Wii - Pro !
  • Messages: 93
    • Voir le profil
Re : /vetement , petit problème.
« Réponse #7 le: 19 Janvier 2012, 16:56:41 »
Mais sa risque a ton code de le pas faire marcher ou avoir des problème avec ton code

les warnings ne sont pas très important, tant que ta le fichier .amx quand tu compiles, c'est bon.
« Modifié: 19 Janvier 2012, 17:06:38 par FR_SalutSSBB »
Y'en à marre des personnes avec un script de serveur stunt de 2000 lignes ?

Cliquez ici pour un script de 15672 lignes !

Et regardez bien pour voir si je suis bête ou pas ! Je sais scripter et un peu mapper mais je suis pas ça :

Clique dedans ! Tu vas bien aimer ta leçon !!