JeuWeb - Crée ton jeu par navigateur
Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... (/showthread.php?tid=210)

Pages : 1 2 3


Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Mr-Blonde - 28-06-2008

Bonjour à tous, j'ai du m'absenter pendant quelques semaines à cause d'une petite panne...

Vous le saviez peut être déjà après avoir lu mes autres message mais je suis en train de programmer un MMORPG complet sur la base de PHPore (le moteur complet sera open-source) mais c'est un dur défi à relever pour un débutant comme moi :p

Je vais commencer par 2 screens :

Ma base SQL comprenant tout les messages
[Image: phpmyadminmw6.png]

Mon module de messagerie
[Image: boitedemessageriene5.png]
(Le trait bleu est en fait le cadre qui comprendra tout les messages)

Les pages de PHPore sont générées sur ce modèle : Les pages PHP comprennent toutes les variables et tout les processus de la page en question, une page .tpl y est rattachée et comprend toute la mise en page en html/css.

Voici le code de la page map.php qui comprend toutes les variables.
Code PHP :
<?php 
$template
->assign_vars(array(

'PAGE_NAME' => $lang->page_map . ' : ' . $map->name,

'MAP_BACKGROUND' => 'images/tiles/' . $map->tiles[0][0][0],

'MAP_NAME' => $map->name,

'MAP_WIDTH' => $map->width,

'MAP_HEIGHT' => $map->height,
'MAP_HEIGHT10' => $map->height + 10,

'TILE_SIZE' => $config->tile_size,

//'PLAYER_ANCHOR_LEFT' => $user->map_left * $config->tile_size - 3 * $config->tile_size,

//'PLAYER_ANCHOR_TOP' => $user->map_top * $config->tile_size - 3 * $config->tile_size,

'REFRESH_METHOD' => $config->refresh_method,

'CHARASET' => $user->charaset,

//'REFRESH_CALL' => quotes($refresh->refresh_call(1, true)),

'MAP_MOVES' => $user->map_moves,

'MAP_SID' => $user->map_sid,

'MAP_ID' => $user->map_id,

'LAST_CHAT_ID' => $last_id,

'PLAYER_X' => $user->map_left,

'PLAYER_Y' => $user->map_top,
'MONEY' => $user->money,
'CHAR_WIDTH' => ceil($user->pic_width/4),

'CHAR_HEIGHT' => ceil($user->pic_height/4),

'CHATBOX_STATE' => $user->chatbox_state,

));
"$user","$config" sont des tables de la base SQL, la base comprenant les messages est "$messages".

Et la code de la page TPL comprenant tout le module de messages
Citation :<fieldset class="bloc">
<legend><b>{L_PAGE_MESS}</b></legend>
<br><div class="bloc">{MESSAGE}</div>
<br><br><div align="left">Destinataire : <INPUT class="bloc" type=text name="Destinataire">
<br><br>Votre Message : <INPUT class="bloc" type=text name="Contenu"><div>
<div align="center"><br><INPUT class="bloc" type="submit" value="Envoyer"></div>
</fieldset>
"{}" renvoie à une variable de la page map.php "{L_}" renvoie à une variable du fichier de langage.

Le cadre comprenant tout les messages (voir screen) devrait afficher les 5 plus récents messages dont le champ "Destinataire" serait égal au pseudo du joueur sous cette forme :
Citation :Pseudo de l'expediteur : Message......
Pseudo de l'expediteur : Message......
Pseudo de l'expediteur : Message......
Pseudo de l'expediteur : Message......
Pseudo de l'expediteur : Message......

Sachant que cette base de code n'est pas de moi et qu'en plus je ne suis pas vraiment expérimenté j'en c*** comme un russe pour arriver au résultat recherché alors si vous pouviez m'éclairer un peu ce serait bien cool pour la suite de la programmation :good:

Merci d'avance à tous et bonne soirée ! :glace:


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Plume - 28-06-2008

T'as déjà vu un russe chier ?
C'est dommage, ton post est bien expliqué, mais je ne connais pas la syntaxe de PHPore donc pour t'aider...

Toutefois, je pense qu'il manque en syntaxe template ou dans l'affectation des variables de template, la définition d'un bloc, non ?


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Mr-Blonde - 28-06-2008

Tu parle de ça :
Citation :<fieldset class="bloc">
?

C'est juste une classe CSS :
Citation :.bloc{
border : 1px solid #7297d8;
}
Rien de plus.

Citation :T'as déjà vu un russe chier ?

Et bien plus encore.

EDIT : Ca en guidera peut être quelques-uns, PHPore est basé sur le noyau PHPBB.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - keke - 30-06-2008

Moi, j'ai pas compris la question.

C'est quoi qui ne marche pas ? Je sais que c'est
1°/ une panne
2°/ la messagerie devrait s'afficher d'une certaine manière
3°/ tu en $^*^ comme un russe

Mais il est où ton problème ? tu as quel affichage ? une erreur de SQL ? Un problème de template ? un exemple ou une adresse à nous montrer ?

Kéké.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Mr-Blonde - 30-06-2008

Je pense que j'ai assez détaillé non ? :p
Je n'ai pas de panne, c'est juste que je ne comprend pas comment programmer cette messagerie parce que je suis un gros NOoB !
Je sais que c'est direct, un peu trop surement, mais qui ne tente rien n'a rien...


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Eluox - 30-06-2008

Mr-Blonde a écrit :Je pense que j'ai assez détaillé non ? :p
Je n'ai pas de panne, c'est juste que je ne comprend pas comment programmer cette messagerie parce que je suis un gros NOoB !
Je sais que c'est direct, un peu trop surement, mais qui ne tente rien n'a rien...

Si vraiment t'es un noob, pourquoi ne pas apprendre et developper le php normalement et ensuite utilisé phpore ?

Big Grin


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Mr-Blonde - 30-06-2008

Parce qu'en m'expliquant comment faire je pourrais enchaîner tout les autres systèmes du jeu rapidement.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - keke - 30-06-2008

Ha pardon ... Bon alors effectivement, je comprends mieux ton message maintenant. Merci d'avoir fait des sous titres aussi direct ^^

Bon, en premier lieu tu ne devrait pas avoir le nom de l'emetteur ni celui du recepteur dans ta table Message.
Il faut que tu emploies des ID pour cela. Je t'encourage à aller voir le site du Zéro pour ce principe.

Après pour l'affichage tu emploies un Template ... qui se base sur des classes. Il faut que tu fouilles dans ta classe Map pour comprendre la structure de message. Dedans il doit y avoir une commande SQL qui permet d'aller chercher des données en base.
Si je suis pas très clair ... ou si tu me comprends pas ... commence par faire un tutorial tout simple avec accès à une BDD...

Avant de continuer dans les explications, dis mois si je suis bien parti.

kéké.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Harparine - 30-06-2008

Citation :Parce qu'en m'expliquant comment faire je pourrais enchaîner tout les autres systèmes du jeu rapidement.

Non, tu ne pourras pas... Pour la simple raison que l'on fait difficilement plus facile qu'un système de messagerie et que si tu bloques maintenant, je doute que tu puisses "enchaîner tous les autres systèmes de jeu rapidement". J'ai du mal à comprendre cet acharnement à galérer sur des gros scripts de type usine à gaz alors qu'il serait tellement plus facile d'apprendre le php en commençant par le début... Enfin, personne ne pourra t'expliquer le php (à part des profs d'info), c'est à toi de l'apprendre de toi-même, ce qui est déjà la preuve d'un esprit d'initiative (indispensable pour développer quelques chose).


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - keke - 30-06-2008

<mode déconne ON>
La guerre du langage direct est en cours... un missile a été envoyé par Harparine. Avec un peu de chance une part de l'humanité sera épargné. Sa puissance de feu est tellement impressionnante.
<mode déconne OFF>

Harparine +1 ! Tu ne tournes pas autour du pot et encore une fois, tu as raison. Au lieu de tripatouiller un code, il faut connaitre les bases.

MR-Blonde. Bon courage à toi.
PS : en fait je t'avais déjà donné un +1 pour la même raison ... donc il m'est impossible de le rajouter.