Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Pour les programmeurs PHP qui voudraient bosser : annuaire guildes

Par Mind le 25/10/2002 à 23:10:15 (#2409298)

Est-ce que qqun serait intéressé pour réaliser un annuaire de guilde à l'échelle de JOL plutôt qu'à l'échelle d'un site ?

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)

Le script de Mando et Acalon pourrait peut être aussi être adapté. Vous en pensez quoi Mando et Acalon ?

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)

Moi je suis vivement intéressé pour le réaliser !!

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)

Okidoki.
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)

Moi perso je suis à 100% pour :) et je m'y mettrai à 100% dedans ;)

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)

Arf
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)

Tu es quand même le mieux placé pour me dire en combien de temps pour pourrait mettre sur pied le script. :)

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)

Perso je dirai une semaine (je suis en vacances)
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)

J'ai crée le domaine guildes.jeuxonline.info. Il sera propagé d'ici demain normalement.

Par Daynos le 26/10/2002 à 10:30:12 (#2410999)

La version 1 est effectivement imbuvable, peu pratique et inutilement compliquée...

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)

Un système de gestions des personnages pourrait être très intéressant. :) Mais c'est bcp de boulot. Difficile de gérer des jeux qui fonctionnent compelment différements (races différentes ou absentes, classes différentes ou absentes, systèmes d'aptitudes différents, etc.).

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)

Je sais, mais mon boulot, c'est développeur Flash. Donc forcément, je suis plus performant en Flash.

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)

A noter pour le script sur des personnage que le site ac2 fournille pour l'instant de plein plein de bonnes idées. Lorsque cela sera fini, je vous en donnerait un petit résumé.

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)

Ca me dirais bien moi :)

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)

Merci de prendre en compte que le temps du tout massivement multijoueurs online Jeux de Role est terminé et que dorénavant des MMO qui sortent des sentiers battus apparraissent.

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)

Mind, peux tu me donner un acces au ftp ou est ce que je travaille sur un répertoire de ac2?

Par Tyrnil le 28/10/2002 à 11:49:45 (#2422949)

Acalon si tu a besoin d'aide j'aimerais t'aider :)

Aim, MSN : Tyrnil

ICQ : 172937301

Yahoo! Messenger : bartout


voilà ;)

Par Tyrnil le 28/10/2002 à 12:12:01 (#2423145)

Mind peux tu nous ouvrir un compte FTP pour bosser dessus ? :)

merci ;)

Par Acalon le 28/10/2002 à 12:21:00 (#2423215)

On hésite encore entre du VB code et du html pour le remplissage des "textarea".

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)

Bof oui c vrai, mais ct pour avoir un peu plus de couleur ;)
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)

Je me permets de rappeler la remarque de Sab que je partage totalement :

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)

Réactivité, rapidité ;)

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)

La plupart des jeux fonctionnent sous des royaumes mais je vais changer le titre

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)

Si nico tu as la version correcte du fichier identification.php peux tu l'envoyer par email ou icq?
merci ;)

Par sab le 28/10/2002 à 16:08:10 (#2425025)

Yes, classe l'annuaire de guilde :) !

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)

En fait non car ce sont des informations permettant de classer la guilde, la mettre dans un classeur si tu veux :) Ce qui la différencie d'informations ou tu peux décrire ta guilde

Par Eltheran le 31/10/2002 à 1:22:45 (#2445515)

Il faut penser aussi qu'une personne peut etre dans des guildes différentes suivant le jeu, enregistrer une seule guilde risque d'etre restrictif. Sinon ça oblige a créer un compte par jeu, c'est peut etre inévitable en fait.

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)

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 :).

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