Raised This Month: $ Target: $400
 0% 

Lecture d'un fichier


  
 
 
Thread Tools Display Modes
Author Message
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 12-02-2011 , 17:39   Lecture d'un fichier
#1

Bonsoir à tous,

J'ai fais ça

Code:
public t( id ) {     new szConfigFile[ 128 ]     get_localinfo( "amxx_configsdir" , szConfigFile , charsmax( szConfigFile ) )         formatex( szConfigFile, charsmax( szConfigFile ), "%s/test.cfg", szConfigFile );         new fp = fopen( szConfigFile, "rt" );         if( !fp )     {         return PLUGIN_HANDLED;     }             new szData[ 1024 ], szKey[ 96 ], szValue[ 364 ];         while ( !feof( fp ) )     {         fgets( fp, szData, charsmax( szData ) );         trim( szData );                 if ( szData[ 0 ] == ';' || szData[ 0 ] == '#' || ( szData[ 0 ] == '/' && szData[ 1 ] == '/' ) || !szData[ 0 ] )         {             continue;         }                 parse( szData, szKey, charsmax( szKey ), szValue, charsmax( szValue ) );                 switch ( szKey[ 0 ] )         {             case 'S':             {                 if( equal( szKey , "STEAM_" , 6 ) )                 {                     new szSteamID[ 35 ]                     get_user_authid( id , szSteamID , charsmax( szSteamID ) )                                         if( equal( szKey , szSteamID ) )                     {                         client_print( 0 , print_chat , "test: %s" , szValue )                     }                                         else                     {                         client_print( 0 , print_chat , "error" )                     }                 }             }         }     }         return PLUGIN_HANDLED; }

mon fichier test.cfg :

Code:
"STEAM_0:0:1234567" "Success !"
en ayant prit soin de remplacer le steam id par le mien.

Cela m'affiche "error".

Quel est le problème ?

EDIT :

Mon switch ( szKey[ 0 ] ) n'a qu'un "cas" parce que c'est un test, bien entendu je compte en mettre plusieurs

Last edited by Devil259; 12-02-2011 at 17:42.
Devil259 is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 12-03-2011 , 03:49   Re: Lecture d'un fichier
#2

et fclose c'est pour quand ?
__________________
Arkshine is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 12-03-2011 , 04:44   Re: Lecture d'un fichier
#3

Oublier de le mettre ici. L'erreur est que j'suis en local donc forcément mon steam id est steam_id_lan...

EDIT : J'installe HLDS Update Tool ^^

Last edited by Devil259; 12-03-2011 at 05:08.
Devil259 is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-03-2011 , 06:26   Re: Lecture d'un fichier
#4

Boulet !!!

Tu utilises des client_print pour voir si ça fonctionne ou pas, c'est bien mais vas plus loin, fais un debug, utilise client_print pour afficher ton steamid, suivi de celui qui est censé correspondre, et tu peux alors comparer, voir où est le problème, etc...

Sinon si tu comptes ouvrir ce fichier plusieurs fois au cours de la map, c'est peut etre pas la meilleure solution, priviliégie alors nvault ou SQLite, après t'es peut etre juste en train de faire des tests.
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 12-03-2011 at 06:28.
ConnorMcLeod is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 12-03-2011 , 06:53   Re: Lecture d'un fichier
#5

Quote:
Originally Posted by ConnorMcLeod View Post
après t'es peut etre juste en train de faire des tests.
Exactement.

Je compte l'ouvrir 1 fois/connexion, dois-je utiliser nVault/SQLite ?

Last edited by Devil259; 12-03-2011 at 06:53.
Devil259 is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-03-2011 , 07:06   Re: Lecture d'un fichier
#6

Perso j'utilise nvault, je sais pas utiliser sqlite et je crois que de toute façon c'est pas plus rapide que nvault.
Après ça dépend encore de la masse de données que tu as à récupérer pour chaque joueur, et de combien de joueurs sont concernés. Si par exemple c'est que pour les admins mais qu'il y'a pas mal de données, je foutrais tout ça en mémoire dans une array dynamique ou une trie au changement de map, mais si ça concerne des centaines de joueurs c'est pas adapté.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 12-03-2011 , 07:11   Re: Lecture d'un fichier
#7

Tout dépend de comment j'utilise le plugin.

La ligne se compose comme ceci

"STEAM_0:0:1234567" "Exemple"

ou encore

"Devil259" "-Exemple-"

ça sera jamais du gros texte avec des centaines de caractères.

En faite j'ouvre le fichier .cfg à chaque fois que client_authorized est appelé, et si son pseudo/steam id se retrouve dans le fichier, la j'agit en fonction.

Tu me conseillerais de laisser tel quel ou d'utiliser nvault ?
Devil259 is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-03-2011 , 07:18   Re: Lecture d'un fichier
#8

nvault ça me parait bien, sauf si c'est que pour quelques joueurs genre admins + vip, enfin moins de 100 par exemple, dans ce cas tu peux lire ton fichier en début de map et tout foutre dans une Trie.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 12-03-2011 , 07:41   Re: Lecture d'un fichier
#9

C'est moins de 100, oui.

Merci bien.
Devil259 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode