• 06 Juin 2026, 22:23:50


Auteur Sujet: Question de début ?  (Lu 1284 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Question de début ?
« le: 12 Décembre 2010, 12:28:31 »
Salut,
Je cherche comment donné une couleur alétoire a un joueur sur mon serveur au Spawn...
Et aussi comme faire une sorte de commande réserver uniquement au VIP personne que j'aurait mi avent du genre je fait une commande pour le mettre VIP et ensuite il a droit a des nouvelle commandes ?
Merci de m'aidé ?
Nippah !

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Question de début ?
« Réponse #1 le: 12 Décembre 2010, 14:22:12 »
La couleur aléatoire est déjà donnée par défaut.
Pour le système de compte privilège, il suffit de créer une variable, et si elle est vrai, lui donner les droits que tu lui réserve, et si elle est fausse, tu ne lui donne rien.


new IsVIP = 0;

IsVIP = 1;

if(IsVIP == 1)
{
// Il est VIP
}
else if(IsVIP == 0)
{
// Il n'est pas VIP
}

Simple condition qui est juste une base, cela ne marchera pas car la variable est attribué à tous les joueurs et non à un seul particulièrement.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Question de début ?
« Réponse #2 le: 12 Décembre 2010, 14:56:01 »
Dizzy-Beno, ce n'est pas une variable (variante ?!) car elle ne varie seulement si l'on redémarre le serveur et il me semble qu'il est actuellement impossible de changer le nombre de place d'un serveur en route.
Nous parlerons alors ici d'une constante et non d'une variable.

Bonne chance pour la suite Xolokos, ton système n'est vraiment pas très difficile à mettre en place.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Question de début ?
« Réponse #3 le: 12 Décembre 2010, 15:23:18 »
Exact, petite erreur d’inattention, mais le principe reste le même, c'est une constante et non une variable.

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Question de début ?
« Réponse #4 le: 12 Décembre 2010, 16:18:23 »
Salut,

afin d'être plus spécifique dans les noms employés, il serait plus judicieux ici de parler de tableau (en anglais un array).

en passant, MAX_PLAYERS ne vaut pas nécessairement 500, on peut en changer la valeur. Personnellement je l'ajuste à mon serveur. Présentement je l'ai mise à 32.
Petite manipulation très simple pour en changer la valeur, à placer en haut complètement du script (après a_samp quand même...):

#undef MAX_PLAYERS
#define MAX_PLAYERS 32

Comme ça vous lui donnez la valeur que vous voulez.

++Sim++





Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Question de début ?
« Réponse #5 le: 12 Décembre 2010, 17:32:10 »
Alors voilà j'ai suivuit vos conseils et j'ai fait cela.
//[COMMANDE VIP]
{
if (strcmp("/kill", cmdtext, true, 10) == 0)
{
  if(IsVIP == 1)

    {

SetPlayerHealth(playerid, 0);
SendClientMessage(playerid, 0xA60000FF, "Vous vous êtes tué en VIP la classe quoi...");

}

else if(IsVIP == 0)

{

SendClientMessage(playerid, 0xC43C3CFF, "Tu est pas VIP casse toi clochard.");

}

return 1;
}

Avec biensûre
new IsVIP = 0;
new IsVIP = 1;

Toute en haut le problème c'est que j'ai 1 erreur avec ça...
J:\Death Match [FR] Projet's\gamemodes\[FR]DeathMatch(2).pwn(5) : error 021: symbol already defined: "IsVIP"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Voilà j'ai ça mais j'ai remplacer
new IsVIP = 0;par celà
new IsnotVIP = 0;Et le code de /kill de en haut par celui la
j'ai remplacer le IsVip == 0 par IsnotVip ==0{
if (strcmp("/kill", cmdtext, true, 10) == 0)
{
  if(IsVIP == 1)

    {

SetPlayerHealth(playerid, 0);
SendClientMessage(playerid, 0xA60000FF, "Vous vous êtes tué en VIP la classe quoi...");

}

else if(IsnotVIP == 0)

{

SendClientMessage(playerid, 0xC43C3CFF, "Tu est pas VIP casse toi clochard.");

}

return 1;
}

Et je voudrait ssavoir comment donner la valeur 1 pour que le joueur sois VIP avec une commande Admin ?
Merci ? Et aussi d'enregistrer si le joueur et VIP ou pas ?
Nippah !

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Question de début ?
« Réponse #6 le: 12 Décembre 2010, 17:56:55 »
Ici, tu définit une variable générale, donc elle sera la même pour tout les joueurs.

new IsVIP[MAX_PLAYERS];

if(IsVIP[playerid] == 1)
{
// VIP
}
else if(IsVIP[playerid] == 0)
{
// Pas VIP
}

Comme ceci, chaque joueur aura SA variable.
Ensuite, il ne faut pas oublier de réinitialiser la variable à chaque déconnexion ou connexion.