• 04 Juin 2026, 01:27:35


Auteur Sujet: [Topic Général] Aide de Chneubeul - Lire en plusieurs fois sscanf  (Lu 9108 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #15 le: 26 Novembre 2010, 20:07:44 »
Citation de: sasuke78200
Une boucle c'est du code qui se répète tant que la condition est vrai, si elle est fausse alors la boucle est arrêtée ^^

C'est le contraire il me semble, tant que la condition est fausse, elle se répète et s’arrête quand elle est vrai !

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #16 le: 26 Novembre 2010, 20:08:29 »
Dans les 2 cas, c'est bon. Ça dépend comment tu code..  :happy

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #17 le: 26 Novembre 2010, 20:18:34 »
Euh ? Je dirai comme mon prof de français "Je suis dans la 4ème dimension ?" lol

for( new i = 0; i < 10; i++ )Lit ce code et tu comprendra par toi même ^^





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

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #18 le: 26 Novembre 2010, 21:34:19 »
Oui, c'est bien que se que je dis, tant que i n'est pas égal à 10 (faux), on incrémente i.
Mais on peut le voir des deux côtés si on réfléchie bien, car tant que i est plus petit que 10 (vrai), on incrémente i.
Cela revient à dire deux choses opposés pour deux choses égales, mais je me demande laquelle est réellement la bonne !
« Modifié: 26 Novembre 2010, 21:36:05 par Xartrick »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #19 le: 26 Novembre 2010, 21:36:51 »
L'opérateur < ne veut pas du tout dire égal, il veut dire plus petit que.

Donc si i est plus petit que 10 on l'incrémente, sinon on arrête la boucle ^^

édit: rooh faillais pas édit ton texte maintenant le mien ne veut plus rien dire lol
« Modifié: 26 Novembre 2010, 21:39:52 par sasuke78200 »



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

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #20 le: 26 Novembre 2010, 21:41:10 »
Sa reviens au même, c'est "plus petit que" mais cela repend exactement ce que je dis au mot prés.
Je pense que nous avons tout les deux raisons mais nous avons un raisonnement différent.
Une autre personne pourrait nous éclaircir ?

Hors ligne UZI-I

  • BinaryIPL Manager
  • *
  • Grand Banditisme
  • http://www.yoa2n.fr
  • Messages: 825
    • Voir le profil
    • Yoa2n.fr
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #21 le: 26 Novembre 2010, 21:46:23 »
@Xartrick : Ton raisonnement est pas tout à fait faux, il n'est pas tout à fait vrai non plus. Et en lisant cette phrase, tu te retrouve dans la même situation qu'une boucle conditionnelle. Le soucis c'est que tu mélange tout, a la fois une boucle et à la fois une condition. La boucle "for" peut ne pas être conditionnelle et pourtant elle bouclera. Ce qui est appelé une boucle conditionnelle c'est une boucle qui bouclera tant que son expression conditionnelle sera vrai. Par conséquent tant que dans l'exemple a sasuke i sera inférieur a 10 ça executera le code. Des que i sera supérieur ou egal a 10 l'expression conditionnelle sera fausse et la boucle s'arretera.

Apres c'est une erreur de langage, une expression vrai l'est autant qu'une expression pas fausse...

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Re : [Topic Général] Aide de Chneubeul - Fblockwrite
« Réponse #22 le: 26 Novembre 2010, 22:29:05 »
Bonjour, :)

Voila donc je poste mon code pour enregistrer les positions, j'aimerais savoir si celui est bon et/ou comment l'optimiser.
Merci de votre aide.


function PrisePos(playerid)
{
new Float:X, Float:Y, Float:Z, stringg[32], string[32] = "anderiusmap.ini";
GetPlayerPos(playerid, X, Y, Z);
new File:File = fopen(string, io_write);
if (File)
{
    format(stringg, sizeof(stringg), "%.1f|%.1f|%.1f\r\n", X, Y, Z);
        fblockwrite(File,stringg, 20);
fclose(File);
}
}


Chneubeul je te conseil d'ouvrir le fichier avec io_readwrite comme mode, sinon à l'ouverture de ton fichier le contenu du fichier sera effacé ^^



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

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #23 le: 26 Novembre 2010, 23:08:51 »
Je comprend mieux maintenant.

Merci à Sasuke78200 et UZI-I.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #24 le: 26 Novembre 2010, 23:13:08 »
Mais derien :)


( ça fais plaisir de voir des gens comme toi, qui ne font pas que de râler ^^ )



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

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #25 le: 26 Novembre 2010, 23:49:16 »
C'est bien mieux en effet.
Donc si je comprend bien, selon les boucles, leurs sens peuvent changer ?
Certaines boucles vont s'exécuter au moins une fois même si c'est faux, et d'autres, si la valeur est fausse, ne vont pas s'exécuter une seule fois.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #26 le: 27 Novembre 2010, 11:46:16 »
En faite seul do-while s'exécute une fois sans tester sa condition, while et for ( si for est conditionnel ) test toujours la condition avant d'exécuter le code ^^



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

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #27 le: 27 Novembre 2010, 13:28:46 »
C'est plus facile à comprendre quand on comprend :)
Merci encore !

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #28 le: 27 Novembre 2010, 19:33:11 »
Citer
C'est plus facile à comprendre quand on comprend
Philosophe ? x')

Xartrick et Sasuke, je vous remercie d'avoir skouaté mon topic, j'ai appris des choses ^^
Pour le script pour relever les pts, je vais le faire finalement pour gta united, le mod anderius est trop sophistiqués, je ne veut pas passer 100 ans à checker des zones particulières.. ^^ Du coup je vais faire autrement, et ça surement mieux comme ça. Pour GTA-United si des personnes sont intéressés, ben faudra attendre que je trouve un PC pour héberger le script avec gta en route ^^


Double post
Soir'

J'aimerais faire une sorte d'auto ciblage, en fonction de où le joueur regarde. Le soucis c'est que j'me souviens vaguement d'un script ou l'on cliqué et une explosion se produise à l'endroit ou l'on regarder.
Je sais que ce script est très différent de celui du wiki que voila :


public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/test camera vector"))
{
new
Float:fPX, Float:fPY, Float:fPZ,
Float:fVX, Float:fVY, Float:fVZ,
Float:object_x, Float:object_y, Float:object_z;
 
// Change me to change the scale you want. A larger scale increases the distance from the camera.
// A negative scale will inverse the vectors and make them face in the opposite direction.
const
Float:fScale = 5.0;
 
GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);
 
object_x = fPX + floatmul(fVX, fScale);
object_y = fPY + floatmul(fVY, fScale);
object_z = fPZ + floatmul(fVZ, fScale);
 
CreateObject(345, object_x, object_y, object_z, 0.0, 0.0, 0.0);
 
return 1;
}
 
return 0;
}


Mais j'aimerais savoir pourquoi on doit faire un tas de calcul avant d'avoir la position, et surtout est-ce que sa vaut vraiment le coup, car mon script va être appeler en boucle et donc à force de calcul, le serveur va lagguer avec du peuple..

Merci de votre aide.
Sam.  :dling
« Modifié: 27 Novembre 2010, 20:03:33 par chneubeul »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Question sur fonction ''do"
« Réponse #29 le: 27 Novembre 2010, 20:20:50 »
Je ne pense pas que le nombre de personne puisse influer car ton calcul ne s'exécute seulement quand on tape une commande et non en permanence.
Après, si 200 joueurs exécute en même temps la commande, je pense que là oui, ton serveur va avoir quelque problème temporaire :-\ !