• 06 Juin 2026, 18:23:39


Auteur Sujet: [Aide] Mes questions Scripting.  (Lu 7760 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
[Aide] Mes questions Scripting.
« le: 27 Janvier 2010, 14:05:26 »
Bonjour à tous,

Voila je crée ce message pour poser toutes mes questions et mes problème
sur les scripts ...

Merci d'avance !
Dauvix

Hors ligne ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #1 le: 27 Janvier 2010, 14:06:23 »
Ta question ?

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #2 le: 27 Janvier 2010, 14:17:16 »
Oui,  :)
Voici ma première question:

J'ai rajouté la ligne avec le ***** pour changer de skin quand on se log en admin mais qu'est ce que je dois
mettre apres pour que quand l'admin se remette en civil son skin se remette comme avant ?

if(!strcmp(cmdtext, "/adu", true)) // By Ellis et Modification by Dauvix
{
if(IsPlayerConnected(playerid))
{
    if(gPlayerLogged[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous inentifiez !");
return 1;
    }
    if(PlayerInfo[playerid][pAdmin] > 0)
    {
        if(AdminDuty[playerid] == 0)
        {
            AdminDuty[playerid] = 1;
*****             SetPlayerSkin(playerid, 264); // Le skin quand l'admin se met en /adu
            SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337) // Niveau admin requis pour utiliser cette commande
{
    for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
        }
        else if(AdminDuty[playerid] == 1)
        {
            AdminDuty[playerid] = 0;
            SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s n'est plus en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
        }
    }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas admin !");
        return 1;
    }
}
    return 1;
}

Hors ligne ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #3 le: 27 Janvier 2010, 14:39:26 »
Stock le skin de la personne avant de lui changer puis restaure la après ;)

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : Re : [Aide] Mes questions Scripting.
« Réponse #4 le: 27 Janvier 2010, 15:45:45 »
Stock le skin de la personne avant de lui changer puis restaure la après ;)

D'accord mais qu'elle est cette ligne pour pouvoir stocker le skin ?
Merci désolé j'ai chercher dans le script pour voir si il y en avait  mais je n'est pas trouver  :-\

Hors ligne ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #5 le: 27 Janvier 2010, 16:30:57 »
Alors,
quand le joueur ce met Admin, avant de changer son skin tu met le précédent dans une variable et lorsqu'il refait la cmd pour se remettre joueur tu lui remet. Exemple :

Au début du script tu définie la variable :
new backskin[MAX_PLAYERS];
et dans la cmd, avant de mettre le skin Admin tu fait :
backskin[playerid] = GetPlayerSkin(playerid);et pour restaurer le skin :
SetPlayerskin(playerid, backskin[playerid]);
A toi de placer tous sa ;)

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : Re : [Aide] Mes questions Scripting.
« Réponse #6 le: 27 Janvier 2010, 17:00:30 »
SetPlayerskin(playerid, backskin[playerid]);


Super Merci Juste un petite faute au S de skin:
SetPlayerSkin(playerid, backskin[playerid]);
Merci beaucoup !


Double post
J'ai essayé comme ca mais quand gait /adu ca me met en CJ ...
Et quand je refait /adu ca le perso reste CJ ...
Je dois faire comment ?

AdminDuty[playerid] = 1;
backskin[playerid] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, backskin[264]); // Le skin quand l'admin se met en /adu
SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin [ID:%d]%s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337)

Merci d'avance !
« Modifié: 27 Janvier 2010, 21:09:00 par Dauvix »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #7 le: 27 Janvier 2010, 21:18:59 »
reflechit

SetPlayerSkin(playerid, backskin[264]); // Le skin quand l'admin se met en /adu

sa c'est pas reflechit
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 ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #8 le: 27 Janvier 2010, 21:22:41 »
Ouais  :-X

le nombre entre les crochet correspond au joueur qui fait la commande donc mettre 254 ne sert à rien ;)

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #9 le: 27 Janvier 2010, 21:46:42 »
backskin[playerid] = SetPlayerSkin(playerid, 264);
SetPlayerSkin(playerid, backskin[playerid]);

J'ai essayé comme ceci, le skin apparait bien quand on fait la commande /adu
mais quand je refait la commande /adu pour ne plus etre en service,
le skin reste ... et moi j'aimerais que ce soit le skin d'avant qui revienne ...
Merci

Hors ligne ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #10 le: 27 Janvier 2010, 21:47:42 »
Les 2 instructions ne vont pas aux même endroit, à toi de réfléchir un peu.

Hors ligne Diablo62

  • *
  • Bandit
  • Script seulement pour m'amuser :)
  • Messages: 305
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #11 le: 27 Janvier 2010, 22:59:56 »
Salut.

Ta commande doit se composer en 2 étape.

La première étape, c'est un civil:
* Il obtient donc un certain Rang Admin
* Il obtient un nouveau Skin
* Il se met en Service (AdminDuty = 1 comme tu as fais dans ton script est bien)

La seconde étape, c'est un Admin:
* il faut vérifier qu'il est admin
* il faut lui enlever ses droits admins
* il faut lui redonner son skin de base
* il faut lui enlever son Service (AdminDuty = 0 pour suivre avec ton exemple)

Sur mon Script, j'avais fait la commande /Duty pour les flics plus ou moins de la même façon. Sauf que pour moi, ils devaient aller dans les Vestiaires (un point Fixe) pour se changer (que se soit pour se mettre en Civil ou en Faction ) et je n'avais pas eu besoin de créer une nouvelle Variable (j'avais utiliser pChar + SetSpawnInfo + SpawnPlayer que j'avais trouver en copiant le /quitfaction ) et je n'ai jamais eu aucun Problème ;)
Merci à Colonel Marco pour la Signature

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #12 le: 27 Janvier 2010, 23:15:08 »
if(!strcmp(cmdtext, "/adu", true)) // By Ellis et Modification by Dauvix
{
if(IsPlayerConnected(playerid))
{
   if(gPlayerLogged[playerid] == 0)
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous devez d'abord vous inentifiez !");
return 1;
   }
   if(PlayerInfo[playerid][pAdmin] > 0)
   {
       if(AdminDuty[playerid] == 0)
       {
           AdminDuty[playerid] = 1;
           backskin[playerid] = SetPlayerSkin(playerid, 264); // Le skin quand l'admin se met en /adu
           SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
SetPlayerColor(playerid,TEAM_VAGOS_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s est en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
if(PlayerInfo[playerid][pAdmin] >= 1337) // Niveau admin requis pour utiliser cette commande
{
   for(new i = 0; i < sizeof(CarInfo); i++)
{
SetVehicleParamsForPlayer(i,playerid,0,0);
}
}
return 1;
       }
       else if(AdminDuty[playerid] == 1)
       {
           AdminDuty[playerid] = 0;
                            SetPlayerSkin(playerid, backskin[playerid]);
           SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
SetPlayerColor(playerid,TEAM_HIT_COLOR);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "L'admin %s n'est plus en service !", playerid, sendername);
ABroadCast(COLOR_YELLOW,string,1);
return 1;
       }
   }
   else
   {
       SendClientMessage(playerid, COLOR_GREY, "   Vous n'etes pas admin !");
       return 1;
   }
}
   return 1;
}
 
 
« Modifié: 27 Janvier 2010, 23:19:37 par Dauvix »

Hors ligne ghm94

  • *
  • Grand Banditisme
  • Messages: 886
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #13 le: 27 Janvier 2010, 23:16:20 »
Réfléchit un peu c'est super logique :)

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : [Aide] Mes questions Scripting.
« Réponse #14 le: 27 Janvier 2010, 23:34:27 »
Ca m'énerve je comprends pas et j'arrive pas xd !
Avec cette commande la dernière que j'ai mise ca va quand je fait /adu puis quand je refait /adu
c'est se skin  qui apparait ! Mais je comprends pas quand je regarde dans la commande .

Diablo Sorry j'avais pas vu ton message ...
Oui je suppose qu'il ya pas mal de moyen pour effectuer cette action mais bon
je connait pas encore tous dans les details du script et comme backskin me semble bien
je vais continuer avec  :)
Mais la je sens que j'ai qu'une chose a corriger mais je ne la trouve pas ...
« Modifié: 27 Janvier 2010, 23:48:27 par Dauvix »