Archives des forums MMO/MMORPG > Forums divers > Problèmes, questions et suggestions > Pour les programmeurs PHP qui voudraient bosser : annuaire guildes
Pour les programmeurs PHP qui voudraient bosser : annuaire guildes
Par Mind le 25/10/2002 à 23:10:15 (#2409298)
J'ajouterais bien un champ au profil des comptes de JoL. Le champ guilde. Cette modification accompagnerait des restrictions sur les pseudos (voir autre fil sur ce sujet).
Ainsi les pseudos dans les messages pourraient s'afficher de la sorte - avec l'abbrv de guilde entre crochet :
Mind [JoL]
Le lien pourrait être http://guildes.jeuxonline.info/guilde.php?abbr=JoL.
La page afficherait alors les infos sur cette guilde.
Nom, URL, description, jeu, serveur, logo (possibilité d'uploader un logo sur notre serveur), liste des membres (créer automatiquement à partir de notre liste des membres en se basant sur le champ guilde des profils).
Les utilisateurs pourraient soumettre les guildes. Les modos (ou des personnes spécialisés) seraient charger d'accepter ou de refuser les guildes.
A part être appellé à partir des forums, les guildes pourraient être classés par jeu et serveur ou encore par taille.
L'interface devrait être proche de celle des forums, la plupart des appels vers cette page provenant des forums.
Des volontaires ?
Ou des personnes opposés à ce système ?
Le script de Daynos pourrait être adapté peut être ? Daynos, penses-tu que ce soit possible ?
Par Mind le 25/10/2002 à 23:57:05 (#2409565)
Les demandes d'ajout devraient être stockées dans une table SQL avec interface web et non envoyées par mail pour que tous les modos puissent y accéder en ligne.
On peut aussi imaginer un système de template pour que le script puisse s'intégrer à tous les sites de JOL. Il faudrait voir comment faire pour que nous y arrivions au mieux.
Par Tyrnil le 26/10/2002 à 0:03:58 (#2409602)
Cela rajouterai beaucoup d'intérêt à notre communauté, resserer les liens entres joueurs sur notre réseau.
Une question :
- on peux jouer à plusieurs jeux différents à la fois, et donc appartenir à plusieurs guildes de jeux... laquelle choisir pour mettre dans son profil ?
J'aimerai voir cette annuaire affiché de façon global (un site spécial guildes donc), mais aussi pouvoir l'intégrer aux sites.
Exemples : le mettre dans ma section Clans et Guildes de World of Warcraft de cette façon suivante :
include("/guildes/insert.php?section=wow");
Ca permettrait donc de centraliser toutes les guildes autour d'une seule base, et de pouvoir la partager entre tous les sites.
et ensuite l'étendre comme tu l'a dit Mind, aux profils du forum, ce qui rajouterai un peu d'intéractivité au forum.
Je suis donc intéressé pour le réaliser !
Par Mind le 26/10/2002 à 0:26:06 (#2409730)
J'ai crée une base guildes avec un compte guildes sous mySQL.
Avec un accès SELECT sur forums.user.
Je t'envoie le passe par MP.- on peux jouer à plusieurs jeux différents à la fois, et donc appartenir à plusieurs guildes de jeux... laquelle choisir pour mettre dans son profil ?
Il est vrai.
Une idée pour résoudre ce problème ?
Je ne vois pas dans l'immédiat.
Est-ce vraiment fréquent ? Est-ce que les joueurs ne sont pas impliqué dans une guilde plutôt que l'autre ?
Par Acalon le 26/10/2002 à 0:26:08 (#2409731)
En fait nous avons un nouveau système qui se met en place et qui est bien plus performant, dans le sens ou les informations perso d'un utilisateurs se retrouvent sur l'annuaire. Et si il n'est pas identifié, comme freshnews (merci nico ;)) il se retrouve sur une page de login.
Nous l'avons mis en place sur un annuaire de quêtes :
http://ac2.jeuxonline.info/index.php?page=module/Annu-quetes/quest_saisie.php
ici nico avec son script nous permet de prendre des infos sur le cookie et la base de données
Ici l'annuaire s'affiche par classement. Il suffit de faire un include :
http://ac2.jeuxonline.info/index.php?page=module/Annu-quetes/quest_liste_affiche.php
Seuls les admins pourront valider les demandes et les enregistrer dans la table définitivement, ou les effacer.
En fait, nous sommes déjà en développement de :
- une fonction d'édition (comme l'utilisateur est loggé, il peut changer ses informations)
- une fonction de commentaires.
Par Acalon le 26/10/2002 à 0:30:27 (#2409762)
j'ai posté trop tard...
Tyrnil s'en occupe donc?
-- je précise que quelque chose a déjà été fait sur ac2 ;)
Par Mind le 26/10/2002 à 0:31:42 (#2409774)
Et si il n'est pas identifié, comme freshnews (merci nico ) il se retrouve sur une page de login.
Les non-identifiés doivent pouvoir accéder au script (afficher les classements, les pages des guildes, etc.).
Mais seuls les identifiés doivent pouvoir soumettre une guilde.Seuls les admins pourront valider les demandes et les enregistrer dans la table définitivement, ou les effacer.
Il faudrait plutôt que ce soit les modos pour le script des guildes.
Bon on fait comment alors entre Tyrnil et Acalon ? :)
Qui a le plus temps pour s'occuper de ce projet ?
Vous pensez pourquoi le réaliser en combien de temps ?
Par Acalon le 26/10/2002 à 0:34:20 (#2409796)
Les non-identifiés doivent pouvoir accéder au script (afficher les classements, les pages des guildes, etc.).
Mais seuls les identifiés doivent pouvoir soumettre une guilde.
Oui bien sur ! C'est d'ailleurs ce qui se passe pour l'annuaire de quêtes sur ac2
Bon on fait comment alors entre Tyrnil et Acalon ?
Qui a le plus temps pour s'occuper de ce projet ?
Vous pensez pourquoi le réaliser en combien de temps ?
Ce n'est pas à moi de décider ;) je précise que ca fait Tres longtemps que je susi attaché au projet (coopération avec Kaelt il y a peu, demande avec daynos, je t'en ai parlé plusieurs fois, ...) :)
Par Mind le 26/10/2002 à 0:40:58 (#2409850)
Comme tu as déjà une base, ça devrait être assez rapide non ?
Reste à voir ce qu'en pense Tyrnil.
Par Acalon le 26/10/2002 à 0:47:47 (#2409886)
techniquement, tout est prêt sur l'annuaire.
Reste plus que les commentaires ou l'edit.
l'admin est géré par une identification au numéro d'id de la personne connectée au forum (cookie et acces a db forum)
les informations sont validées une fois confirmées par un administrateur.
Les options seraient juste assez différentes pour chaque jeu, d'où l'idée de faire des champs valables pour tous les types de jeu :
nom de la guilde
jeu (liste)
description
et puis :
serveur
royaumes (non oblig)
site
forum
type :
Artisanat
Pvp RvR Roleplay, etc...
et bien sur tous les champs annexes (date, nomjoueur id, etc)
L'idée et le script sont de mando. il était pas mal à modifier notamment pour les acces idenfitication et admin
Mais je ne veux pas poser de problème avec tyrnil :) si il veut on peut faire ca ensemble
Pour le script de daynos :
J'ai déjà vu cela avec lui depuis longtemps, en fait non, il serait difficilement adaptable. D'abord parce qu'il n'est pas basé sur une identification comme freshnews, et puis aussi parce qu'il est très très compliqué, et trop adapté à neverwinter night.
Daynos m'a conseillé apres m'avoir donné la source php de repartir à 0
Par Mind le 26/10/2002 à 0:55:46 (#2409921)
Par Daynos le 26/10/2002 à 10:30:12 (#2410999)
Si vous êtes en train de développer ça au niveau JoL, peutque je pourrais essayer de m'adapter tout de suite plutôt que dans 6 mois :p.
De mon côté, j'ai commencé cette semaine à me remettre au développement de l'annuaire NWN v2.00, version Flash. J'ai laissé tombé l'interface PHP parce que le PHP, ça me gonfle de plus en plus :D.
Mais j'utilise quand même du PHP, pour dialoguer avec la base données. Des scripts minimalistes qui me renvoient des infos presques brutes sous forme XML, format que flash aime beaucoup :p.
A titre d'info, pour ce site (en développement que personne ici n'a vu et dont je décline toute responsabilité quant au design), tous les boutons et le contenu des pages sont sous forme de fichiers XML (exemple,regardez la source qui ne passe pas sous IE parce que IE c'est de la merde). Dans le cas présents "fixes", mais en simulant un ficher XML via un serveur, Flash ne fait pas la différence.
Je prévoie donc une interface Flash 6.0, toute en objet et modules, pour qu'elle soit plus facilement évolutive et transportable d'un site à l'autre.
Là je travaille sur le module identification.
Elle reprendrait les idées abordées dans la version 2 PHP actuellement en ligne que j'avais dû mettre de côté pour un tas de diverses raisons...
L'idée de base :
>> 1 membre vBulletin = 1 ou plusieurs personnages
Afin de pouvoir ajouter des infos complémentaires à un membre (disponibilités, MJ, simple Joueur, etc.), j'ai une table "membre" dans ma base, liée à l'ID de vBulletin.
Pour les personnages : une table de personnages et une table de liaison id_annuaire / id_perso.
Puis une fois le module en place, il me sera facle de faire après des trucs comme l'annuaire des guildes, des modules/mondes, etc. Avec par exemple des personnages "non attribués à un membre" mais à un "monde", des PNJs quoi... Mais ce serait dans un deuxième temps.
Edit : structure de ma base actuelle. Structure non définitive, il faudra ajouter plein de trucs.
# http://www.phpmyadmin.net/ (download page)
#
# Host: 193.252.123.238
# Generation Time: Oct 26, 2002 at 10:34 AM
# Server version: 3.23.53
# PHP Version: 4.2.3
# Database : `nwn`
# --------------------------------------------------------
#
# Table structure for table `annv2_membre`
#
CREATE TABLE annv2_membre (
id_membre int(10) unsigned NOT NULL auto_increment,
id_vb int(10) unsigned NOT NULL default '0',
date_validation date NOT NULL default '0000-00-00',
pseudo varchar(255) NOT NULL default '',
dm smallint(1) NOT NULL default '0',
joueur smallint(1) NOT NULL default '0',
divers mediumtext NOT NULL,
PRIMARY KEY (id_membre),
UNIQUE KEY id_membre (id_membre,id_vb,pseudo),
KEY id_membre_2 (id_membre)
) TYPE=MyISAM COMMENT='Table des membres';
# --------------------------------------------------------
#
# Table structure for table `annv2_perso`
#
CREATE TABLE annv2_perso (
id_perso int(10) unsigned NOT NULL auto_increment,
date_creation date NOT NULL default '0000-00-00',
nom varchar(255) NOT NULL default '',
statut tinyint(2) NOT NULL default '1',
carac2 varchar(255) NOT NULL default '',
etc varchar(255) NOT NULL default '',
UNIQUE KEY id_perso (id_perso)
) TYPE=MyISAM COMMENT='Table contenant tous les personnages';
# --------------------------------------------------------
#
# Table structure for table `annv2_persosmembre`
#
CREATE TABLE annv2_persosmembre (
id_membre tinyint(10) NOT NULL default '0',
id_perso tinyint(10) NOT NULL default '0',
KEY id_membre (id_membre,id_perso)
) TYPE=MyISAM COMMENT='Table servant de lien entre les membre et ses persos';
A noter ques les caractéristiques d'un personnage varieront d'un jeu à l'autre. Alors tous les persos dans la même table avec plus ou moins de champs affichés selon le jeu ou une table perso par jeu (perso_nwn, perso_uo, etc.) ?
Par Mind le 26/10/2002 à 12:41:04 (#2411542)
Note également, si tu veux faire qqch à l'échelle de Jeux Online, que le flash t'est interdit. Tu dois forcément proposer une interface qui réponde aux normes W3C.
Perso, je ne peux même pas voir ton exemple. Tu utilises une solution propriétaire qui n'existe tout simplement pas sous Linux (Flash 6).
Par Daynos le 26/10/2002 à 14:05:33 (#2412003)
Mais comme je le disais, j'utilise une base de données MySQL. Donc rien n'empêche de faire une version PHP.
Il suffit de définir des actions et des scripts communs... Par exemple actuellement (j'en suis au début), mon script PHP tient sur une page :
Connect($bdd) ;
$result = mysql_query($query, $id) ;
$this->Deconnect($id) ;
return $result ;
}
}
/*
*/
/* ----------------------------------------------------------------------------
// LISTE DES FONCTIONS
// ------------------------------------------------------------------------- */
//
function getCompteMembre ($membre, $justeVB=TRUE)
{
$Connect = new Connection ();
if (!$justeVB)
{
// récupérer toutes les infos disponibles du membre
// provoque une erreur si le compte n'est pas actif dans la base NWN
if ((int)$membre != 0)
{
$query = "SELECT * FROM forums.user AS f, nwn.".TABLE_MEMBRES." AS n WHERE n.id_vb=f.userid AND f.userid=".$membre.";";
}
else
{
$query = "SELECT * FROM forums.user AS f, nwn.".TABLE_MEMBRES." AS n WHERE n.id_vb=f.userid AND f.username='".addslashes(htmlspecialchars($membre))."';";
}
}
else
{
if ((int)$membre != 0)
{
$query = "SELECT * FROM forums.user AS f WHERE f.userid=".$membre.";";
}
else
{
$query = "SELECT * FROM forums.user AS f WHERE f.username='".addslashes(htmlspecialchars($membre))."';";
}
}
$result = $Connect -> Requete ($query);
if (mysql_num_rows($result) == 1)
{
return mysql_fetch_array ($result, 1);
}
else
{
//... sinon, le pseudo est inconnu
return array("erreur"=>"membre inconnu");
}
}
function getCookieForum ()
{
global $bbuserid, $bbpassword;
$aReturn ["bbuserid"] = $bbuserid;
$aReturn ["bbpassword"] = $bbpassword;
return $aReturn;
}
function arrayToXML ($array, $profondeur)
{
// ici on reformate le tableau selon le niveau de profondeur
// niveau 3 : tableau qui ne contient que des
switch ($profondeur)
{
case 1 :
$aNoeuds = $array;
break;
case 2 :
$aElements = $array;
$aNoeuds = array ($aElements);
break;
case 3 :
// pas de break, c'est par défaut
default :
$aAttributs = $array;
$aElements = array ($aAttributs);
$aNoeuds = array ($aElements);
break;
}
//entete
$sReturn = "\n";
// nouveau noeud
//var_dump ($aNoeuds);
// foreach (noeuds)
foreach ($aNoeuds as $id => $aElements)
{
$sReturn .= "\n";
// nouvel element
// foreach (elements)
foreach ($aElements as $no => $aAttributs)
{
$sReturn .= "\n";
// attributs
// foreach (attributs)
foreach ($aAttributs as $type => $valeur)
{
$sReturn .= "\n";
$sReturn .= "".$valeur."\n";
$sReturn .= "\n";
}
// fermer element
$sReturn .= "\n";
}
// fermer noeud
$sReturn .= "\n";
}
return ($sReturn);
}
function setCookieForum ($userid, $password)
{
setcookie("bbuserid", $userid, time()+31536000, "/", ".jeuxonline.info", "0");
setcookie("bbpassword", $password, time()+31536000, "/", ".jeuxonline.info", "0");
}
?>
Tiens Mind : voilà des infos pour toi :D, formatté XML : http://nwn.jeuxonline.info/annuaire/v2/flash/fonctions.php?action=getCompteMembre&membre=1
ou
http://nwn.jeuxonline.info/annuaire/v2/flash/fonctions.php?action=getCompteMembre&membre=Mind
Par Acalon le 26/10/2002 à 15:27:40 (#2412401)
Je donne icq pour tyrnil : 60180756 ou [***************] pour le truc à droite de la barre sur windows :) J'ai un week end chargé mais perso, je commencerai les scripts à partir de lundi :)
Enfin, si nico, tu as une version du script d'identification car j'ai écrasé la tienne dans une erreur de données :(
*la honte :(*
[Loekit : Je ne suis pas certain qu'Acalon désire donner son MSN sur les forums publics.
Dans le doute, je l'enlève :)]
Par Kry ~ArTistE~ le 27/10/2002 à 12:00:54 (#2416501)
bon dans la programmation Php genre classe etc.. heu pas encore mais sinon le reste pas de prob :)
Par sab le 27/10/2002 à 13:00:04 (#2416872)
Donc n'utilisez pas en dur le terme "guilde" dans l'application mais prevoyez des alternatives comme "squads" "clans" etc.
Par Acalon le 28/10/2002 à 10:09:37 (#2422125)
Par Tyrnil le 28/10/2002 à 11:49:45 (#2422949)
Aim, MSN : Tyrnil
ICQ : 172937301
Yahoo! Messenger : bartout
voilà ;)
Par Tyrnil le 28/10/2002 à 12:12:01 (#2423145)
merci ;)
Par Acalon le 28/10/2002 à 12:21:00 (#2423215)
http://ac2.jeuxonline.info/module/GUILDES/guilde_saisie.php3
Si jamais vous voyez d'autres champs à soumettre, n'hésitez pas à le préciser ... ;)
Par Mind le 28/10/2002 à 13:08:59 (#2423609)
On hésite encore entre du VB code et du html pour le remplissage des "textarea".
Pourquoi les utilisateurs auraient besoin de HTML ou vB Code pour équire la charte de leur guilde ?
Pour le domaine, je le créerai bientôt sur le serveur et je vous enverrai le passe.
Par Acalon le 28/10/2002 à 13:14:12 (#2423646)
on ne fera qu'un retour chariot comme dans le forum
(entrée sur le textarea = )
Par Kartaj le 28/10/2002 à 13:22:35 (#2423728)
Donc n'utilisez pas en dur le terme "guilde" dans l'application mais prevoyez des alternatives comme "squads" "clans"
Ne serait-il pas possible d'ajouter une zone du type "Type de groupe" qui proposerait Guilde, Clan, Squad, Colonie de vacances, ... et qui permettrait de définir le libellé à utiliser dans chaque cas ?
Sinon rien à dire ;)
Par Acalon le 28/10/2002 à 13:28:17 (#2423781)
Provient du message de Kartaj
Je me permets de rappeler la remarque de Sab que je partage totalement :
Ne serait-il pas possible d'ajouter une zone du type "Type de groupe" qui proposerait Guilde, Clan, Squad, Colonie de vacances, ... et qui permettrait de définir le libellé à utiliser dans chaque cas ?
Sinon rien à dire ;)
Ca te va avec ce champ la?
Type de guilde :
http://ac2.jeuxonline.info/module/GUILDES/guilde_saisie.php3
Par Kartaj le 28/10/2002 à 13:36:15 (#2423851)
Ca ma va :merci:
Je me posais une question en relisant... Plutôt que Royaume, ne faut-il pas mieux mettre "Faction", toujours dans le soucis d'être le plus général possible ? Mais bon, c'est une question comme ça... Qu'en pensez-vous ?
Par Acalon le 28/10/2002 à 13:38:42 (#2423867)
Il faut être rapide, car changer ou rajouter un champ après dans une base est assez galère
Par Acalon le 28/10/2002 à 14:38:07 (#2424359)
merci ;)
Par sab le 28/10/2002 à 16:08:10 (#2425025)
En fait quand je disais "clan" s'était comme ca ; je sais pas si y'a un MMO qui l'utilise.
En tout cas pour World War II Online , "squad" suffit.
"Activités de la guilde :" est trés orienté JDR, j'ai rien contre mais est ce que ca fait pas doublon avec Fonctionnement
& Recrutement ?
Par Acalon le 28/10/2002 à 16:11:29 (#2425056)
Par Eltheran le 31/10/2002 à 1:22:45 (#2445515)
Pour la gestion des personnages c'est une mauvaise idée, je le sais pour suivre d'assez pret les développements de Magelo, rien que pour EverQuest faire un truc potable représente un travail collosal, et surtout... ca consomme une bande passante hallucinante parce que les gens link leurs fiche de persos sur toutes leurs signatures, sur leur site web, etc.
Par sab le 31/10/2002 à 12:34:59 (#2448023)
Ex: Le champs "type1" libre propose un select-options formé des valeurs remplies par les autres guildes disons : "empire" et "rebelles". A coté du select le champs texte pour rajouter une nouvelle valeur à "type1" comme "pirates" ou je ne sais quoi :).
Par Mind le 31/10/2002 à 12:41:38 (#2448082)
Provient du message de sab
Est ce qu'il serait possible de laisser un ou plusieurs champs génériques qui seraient libres en terme de contenu (champs texte de 50) mais qui proposeraient par défaut un select option rempli avec les données deja rentrées dans ce champs par les autres ?
Ex: Le champs "type1" libre propose un select-options formé des valeurs remplies par les autres guildes disons : "empire" et "rebelles". A coté du select le champs texte pour rajouter une nouvelle valeur à "type1" comme "pirates" ou je ne sais quoi :).
Ce champ risquerait rapidement de devenir chaotique j'ai bien peur.
Au fait, pourquoi ne pas écrire ces détails dans le champ description ?
Par exemple : "Nous sommes une guilde de pirates." :)
Empire / Rebelle, etc. ça rentrera dans factions non ?
JOL Archives 1.0.1
@ JOL / JeuxOnLine