Codes & Scripts JeuxWeb

Système de Bot et de Bot-Mail

Pour que le joueur soit au courant de ce qui arrive à son personnage en son absence, un système de message de BOT s'avère efficace et bien souvent plébicité par les joueurs !

Derrière chaque action entreprie par le joueur, il convient donc d'envoyer un petit message avec quelques détails au joueur lui même et, à la cible du joueur ... Script commenté :

function bot($dest,$evenement,$mess)
{
  $emetteur = 'BOT'; //l'emmeteur ne sera pas un personnage, mais BOT
  $dest = strtoupper($dest); // ID du perso destinaire
  $memomess = $mess;
  $mess = htmlentities($mess,ENT_QUOTES); 
  //Si le message de bot doit comporter des mise en forme html (balises)
  $date = date("U", time()); // La date en format UNIX
  $date2 = $date = date("d/m/y - G\:i\:s\ ",$date); //La date en format texte
  $titre = addslashes('MESSAGE DE BOT : ' . $evenement); 
  // Le titre du message de bot ... dans $evenement, 
  // quand on appelle la fonction, on précise s'il s'agit d'une attaque, 
  // d'une magie, d'un message, ... 


  $mess2 =     '
    --------------
    * MON JEU *
    --------------
    
    Le ' . $date2 . ',
    Votre personnage ' . get_nom($dest) . ' ( ' . $dest . ' ) 
    a été impliqué dans cet évênement : ' . addslashes($evenement) . '
    
        *************************************************
    ' . $mess . '
        *************************************************
    MON JEU
  ';


  //Le message, avec ses balises html, tel qu'il apparaitra au joueur, 
  // dans votre système de messagerie    

  mysql_query("INSERT INTO table_messages_bot 
    (id,emetteur,destinataire,titre,message,date,lu) 
    VALUES ('','$emetteur','$dest','$titre','$mess2','$date','0')") 
    or die ('Erreur SQL : envoi message bot :' . mysql_error());
  // On stocke dans la BDD toutes les infos nécessaires
  // A la suite du message de bot, on peut alors intégrer 
  // le système de mail-bot

  // Gestion des Bot par mail
  $querybot = mysql_query("SELECT option_mail,mail 
    FROM table_joueurs WHERE id = '$dest'") 
    or die('Erreur DB : Sélection mail bot' . mysql_error());
  $reqbot = mysql_fetch_array($querybot);
  //On vérifie si le joueur destinataire a activé son option 
  // "je veux recevoir les mails de bot" 
  // et on en profite pour récupérer son adresse mail
    
  If ( ( $reqbot['option_mail'] == '1' ) && ( $evenement == "????" ) ) 
  // Si l'option d'envoi de mail est activée pour le joueur et que l'évenement
  // est d'un type correspondant à un envoi de bot 
  // (un message reçu, une attaqua subie ... on ne doit pas forcément  
  // envoyer de mail pour tous les bots, c'est à vous de voir)
  {
    $adresse = $reqbot['mail'];
    botmail($adresse,$dest,$evenement,$memomess);
    // On utilise la fonction botmail() qui s'occupe d'envoyer le mail de bot
  }
}

function botmail($adresse,$id,$evenement,$mess)
{
  $date = date("U", time()); // La date en format UNIX
  $date2 = $date = date("d/m/y - G\:i\:s\ ",$date); //La date en format texte
  $nom = get_nom($id); // Le nom du perso à récupérer
  $mess = strip_tags($mess); // On supprime les balises HTML et PHP du message
        
  // Envoi du mail 
  mail(
    "$adresse", // Adresse mail du joueur
    "MESSAGE DE MON JEU : $evenement", Titre du mail
    "
    --------------
    * MON JEU *
    --------------
    
    Le $date,
    Votre personnage $nom ( $id ) a été impliqué dans cet évênement : $evenement
    
    *************************************************
    
    $mess
        
    *************************************************
    Vous recevez un e-mail dès que l'un de vos personnages 
        est impliqué dans un évênement !
    Pour ne plus recevoir ces e-mails, changez la configuration 
        dans le profil de votre compte.

    L'EQUIPE DE MON JEU",
    "From: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser." 
    // Adresse du bot, 
    // vous pouvez mettre une adresse fictive 
    // en précisant bien au joueur de ne pas y répondre
  )  ;
}
{mos_fb_discuss:2}

Copyright © 2010 JeuxWeb.org asbl.
All Rights Reserved.