28-06-2008, 07:15 PM
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
Mon module de messagerie
(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.
"$user","$config" sont des tables de la base SQL, la base comprenant les messages est "$messages".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
Mon module de messagerie
(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,
));
Et la code de la page TPL comprenant tout le module de messages
Citation :<fieldset class="bloc">"{}" renvoie à une variable de la page map.php "{L_}" renvoie à une variable du fichier de langage.
<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>
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: