• 18 Juin 2024, 02:31:43


Auteur Sujet: Varible + chiffre + lettre  (Lu 1142 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Varible + chiffre + lettre
« le: 18 Mai 2009, 21:28:25 »
Bonjour,
J'aimerais savoir comment faire pour qu'une variable puisse être égal à des chiffres et des lettres, exemple :

Variable(playerid] = ABC123;

Et aussi comment faire si :

Truc = ABC123;
SendClientmessage(playerid, COLOR, "Voici la varible : %???"truc);
Je remplace quoi par les points d'interogation ?

Merci de me répondre !
« Modifié: 18 Mai 2009, 21:30:44 par lepro49 »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #1 le: 18 Mai 2009, 21:40:24 »
Salut,

tu dois savoir qu'une lettre, dans les array en pawn, correspond à un chiffre, de plus la ligne que tu as écrite truc = ABC123 correspond a un nombre en hexadécimal, il ne contiendra pas les caractères ABC123

donc si tu veut un texte:

new truc[] = "ABC123";
NB. Tu n'as pas besoin d'écrire la taille de l'array si tu en déclare la valeur ainsi, par contre si tu n'en détermine pas le contenu dès sa création, tu seras obligé d'y inscrire une taille (taille générale conseillé dans sa-mp : 128)

pour formater un string , tu devras utiliser la lettre s donc %s mais ta variable se doit d'être un string sinon d'étrange résultats apparaitront (peut-être un crash du serveur)

je suppose que tu aimerais savoir toutes les expressions de formatage:ICI

++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #2 le: 18 Mai 2009, 21:56:00 »
Beh comme te l as expliquer sim tu declare t as variable

mais toi tu veut faire avec playerid donc

Truc[][MAX_PLAYERS] = "Salut";

ensuite si tu veut le modif c' est tout simple

soit tu passe par un format
format(Truc[playerid],sizeof(Truc[playerid]),"Salut mon ami ca va ??? tu a quel age, ah ! tu as %d",Var dage ici); en esperant que je ne me suis pas tromper ici =D

ou bien comme ca
Truc[playerid] = "Yo Yo tire toujours la chasse d' eau ";



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

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #3 le: 18 Mai 2009, 22:02:54 »
Ok d'accord, donc Sasuke je peux faire comme ceci :

Truc[][MAX_PLAYERS] = "70 ans";
format(Truc[playerid],sizeof(Truc[playerid]),"Salut mon ami ca va ??? tu a quel age, ah ! tu as %d",truc);

Donc interger le 70 et le ans ?

Mon autre problème est que j'ai déjà une variable en lettre dans un fichier .ini, quand je le save c'ets comme ca :

         strmid(truclettre[idx][truclettre1], arrCoords[1], 0, strlen(arrCoords[1]), 255);

Si je veux mettre une variable en chiffre et en lettre je fais pareil ?




Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #4 le: 18 Mai 2009, 22:10:01 »
new Truc[][MAX_PLAYERS] = "70 ans"; // tu declare la variable au debut tout les joueur on 70 ans
Truc[][playerid] = "30 ans";// ici le joueur playerid a 30
new string[128];
format(string,sizeof(string),"Salut mon ami ca va ??? tu a quel age, ah ! tu as %d",truc[playerid]);// ici on dit que le string string portera ce msg
SendClientmessage(player,couleur en hexa,string);// ici on envoye le msg precedement formater =D

en esperant que tu es compris pck j explique tréééééés mal



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

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #5 le: 19 Mai 2009, 15:37:38 »
Ok, si si, j'ai compris, mais moi, mes
new Truc[][MAX_PLAYERS] = "70 ans";
sont dans un fichier .ini, donc ca me met par exemple quand je l'ouvre : "18, 52, Hello, 70 ans"

et pour que j'affiche le message "18", je fais comme ceci, les autre scripts sont dans le GF.
SendMessage("%d", TrucInfo[truc][truc1]);

Je dois faire pareil pour le 70 ans ?

Et comment faire pour changer le 70 ans de Truc dans une commande ?

Double post
( Désolé double post )

Voilà mon script :
new Truc[MAX_PLAYERS] = "V05350W";
et

format(string,sizeof(string),"* Vous avez changé la plaque d'immatriculation en : %d",Truc[playerid]);
SendClientMessage(playerid,COLOR_WHITE,string);

Mais il me dise que je l'ai changé en 86 !

Et aussi, voilà mon SetVehicleNumberPlate :

SetVehicleNumberPlate(carid1,Truc[playerid]);

Il ne marche pas, comment ca se fait ?
« Modifié: 19 Mai 2009, 16:25:47 par lepro49 »

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Varible + chiffre + lettre
« Réponse #6 le: 19 Mai 2009, 17:57:55 »
Ok, si si, j'ai compris, mais moi, mes
new Truc[][MAX_PLAYERS] = "70 ans";
sont dans un fichier .ini, donc ca me met par exemple quand je l'ouvre : "18, 52, Hello, 70 ans"

et pour que j'affiche le message "18", je fais comme ceci, les autre scripts sont dans le GF.
SendMessage("%d", TrucInfo[truc][truc1]);

Je dois faire pareil pour le 70 ans ?

Et comment faire pour changer le 70 ans de Truc dans une commande ?

Double post
( Désolé double post )

Voilà mon script :
new Truc[MAX_PLAYERS] = "V05350W";
et

format(string,sizeof(string),"* Vous avez changé la plaque d'immatriculation en : %d",Truc[playerid]);
SendClientMessage(playerid,COLOR_WHITE,string);

Mais il me dise que je l'ai changé en 86 !

Et aussi, voilà mon SetVehicleNumberPlate :

SetVehicleNumberPlate(carid1,Truc[playerid]);

Il ne marche pas, comment ca se fait ?


En relisant le post ce n'est pas " %d " car ce n'est pas un nombre mais des lettres et des nombre considérer comme un test on utiliser > "%s"

( a non c'est une erreur de sasuke ^^ )
(Mais il y a écdrit plus haut qu'il faut utiliser "%s" )

Aprés, le SetVehicleNumberPlate devrait normalement marcher :/
Non en faite  sur le wiki il y a :
Set the vehicle's licence plate. You need to respawn the vehicle afterwards for the changes to take effect.Donc sa donne ( d'aprés ce que je comprend )
>
Il doit respawn pour prendre effet !
^^
« Modifié: 19 Mai 2009, 18:08:33 par rivoal29 »


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Varible + chiffre + lettre
« Réponse #7 le: 19 Mai 2009, 18:08:50 »
-_- je vous avez dit que j ai du faire une erreur, mais je savais pas ou xD merci =D



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