GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Gilux le 12 Décembre 2010, 20:23:48
-
Salut, j'ai tenté de faire un log en HTML, histoire de rendre la lecture d'un log plus facilement (un span pour les connexions, un autre pour le chat, etc)
Donc ça ressemble à ça : (pièce jointe)
J'ai donc fait la base, avec la configuration du CSS et le début du tableau.
J'aimerais juste écrire à un endroit précis du code HTML (C'est à dire pour rajouter des cellules <tr> et <td> au tableau)
Cependant, j'ai essayé fopen avec io_append, et ça ne rajoute absolument rien au tableau, et avec fwrite, ça efface ma page :(
Si quelqu'un pourrait m'expliquer une méthode pour faire ceci, ça ne serait pas de refus parce que je ne suis pas doué avec file.inc :ninja
EDIT : Le code pour la connexion du joueur, ce qui correspond à une case Jaune :
public OnPlayerConnect(playerid)
{
new Name[MAX_PLAYER_NAME], IP[16], String[60], Jour, Mois, Annee, Heure, Minute, Seconde;
getdate(Annee,Mois,Jour);
gettime(Heure,Minute,Seconde);
GetPlayerName(playerid,Name,sizeof(Name));
GetPlayerIp(playerid,IP,sizeof(IP));
format(String,sizeof(String),"<tr class=\"connexion\"> <td>%i/%i/%i - %i:%i</td><td>%s</td><td>IP : %s</td></tr>",Jour,Mois,Annee,Heure,Minute,Name,IP);
fwrite(log,String);
return 1;
}
(PS : Prenez pas garde au délire perso sur le screen, c'est juste pour faire la base :laugh)
++
-
Salut,
Je pense qu'il faudrait réécrire chaque ligne du code. Par contre je sais que ça existe en php et ça tourne niquel. Donc essaie de voir le fonctionnement avec le système de fichier. ^^
-
Pour te positionner dans le fichier tu doit utiliser la fonction fseek ^^
-
En PHP, c'est le même principe oui ^^
Merci Sasuke, je vais regarder ça, ca permettra d'avoir une page HTML valide avec </body> et </html> au bout :P
Par contre, je comprend vraiment pas pourquoi rien ne s'écrit >:( le io serait faux peut être ?
++
-
Tu n'ouvres pas ton fichier dans le script que tu nous montre. ^^
Sasuke, j'avais oublier cette fonction. Par contre pour ce placer, on compte les bits ?
-
L'ouverture du fichier est dans OnFilterScriptInit ;)
-
Bonjour,
Cela m'intéresse pour mon serveur.
Pourriez-vous m'expliquer comment faire s'il vous plaît?
Merci,
S@omy
-
Si je savais le faire, je ne posterais pas ici pour avoir de l'aide :lmfao
Enfin sinon tu crées un fichier HTML avec les propriétés CSS dans une balise <style> et tu attribues une background-color différente pour chaque évènement.
Après, tu places le fichier HTML dans le dossier scriptfiles, et tu codes le FS en te servant de fopen,fwrite
++
EDIT : Il semble que le problème soit résolu, je vais me faire quelques tests et je vous dit ça ;)
-
Si tu ouvre un fichier dans ongamemodeinit, et que tu le ferme à la connexion d'un joueur et que tu ne l'ouvres pas. Le fichier reste fermer après le premier joueurs :p
Je te conseillerais de procéder comme ceci :
{
Ouverture
Ecriture
Fermeture
}
Comme ceci, c'est simple et tu n'aurais pas de problèmes ^^
-
Le système que j'utilisé au début de xBanSyst était d'ouvrir le fichier, et un autre fichier temporaire.
Ensuite, je lissais le fichier ligne par ligne jusqu'à arriver à l'endroit que je voulais et j'entré le texte voulu puis je reprenais l'écriture normal de mon fichier.
Sinon, tu pourrait travailler avec PHP, tu pourra utiliser les fonctions de PHP. plus celle de Pawn.
-
Pourquoi utiliser PHP sur un serveur SAMP ? Oo
Bref, le système fonctionne très bien, à un petit détail près : Les accents ne sont pas restitués, exemple le "à" devient un "Ã" ;D
Je ne pense pas qu'il y ait une solution à ça, enfin merci, je pense publier ce script quand il sera totalement finalisé ;)
-
problème de caractère
-
Oui, pour pouvoir générer les logs à la place de ton serveur !
Sinon, pour ton autre question, il y a une solution !
http://www.degraeve.com/reference/specialcharacters.php (http://www.degraeve.com/reference/specialcharacters.php)
-
Bonne idée, je vais essayer avec strfind :)