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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Petite question détaillée

Par Simkim le 19/10/2002 à 10:17:43 (#2362150)

Il y a quelque temps, javais demandé quon me fasse un petit script mais personne navait trouvé (envoyer un message à un PJ). Cest reparti pour un tour, mais cette fois-ci je détaille au maximum pour faciliter la tache des scripteur. Lorsquil y a marqué [Help] cest que je ne sais pas comment faire.

Pour commencer, les différents acteurs du script.
Expéditeur : PJ qui envoie le message.
Destinataire : PJ qui reçoit le message.
Scribe : PNJ qui écrit le message de lExpéditeur.
Messager01 : PNJ qui apporte le message au Destinataire, offre la possibilité décrire un message en retour.
Messager02 : PNJ qui apporte le message du Destinataire si celui-ci en envoie un.
Parchemin : objet sur lequel est enregistré le message.

Conversation_1 (phrases non définitives)
Expéditeur : Je voudrais envoyer un message.
Scribe : Ce sera 500 PO.
Expéditeur : Daccord. (script_01 pour que cette phrase apparaisse).
Scribe : Vous pouvez envoyer un message à (script_02 pour que cette phrase apparaisse)
1 (script_03)
2 (script_03)
3 (script_03)
.
.
9 (script_03)
10 Suite
Scribe : Il ny a actuellement personne à contacter. (apparaît lorsque la condition de la phrase précédente nest pas validée).
Scribe : Envoyer un message à (nom du PJ sélectionné précédemment)
Expéditeur : Oui.
Scribe : Quel est votre message ? (Script_04)
Expéditeur : Valider (le PJ clique sur valider juste après avoir dit son message cest à ce moment quil est enregistré sur le Scribe ou un objet de son inventaire)
Scribe : Voulez-vous envoyer (le message saffiche) à (nom du Destinataire).
Expéditeur : Oui (Script_05)
Scribe : Le message a été envoyé à (nom du Destinataire) (Script_06)

Conversation_2 (phrases non définitives)
Messager1 : Vous avez un message de (nom de lExpéditeur) (Script_07).
Destinataire : Prendre. (ajoute lobjet Parchemin dans linventaire du destinataire)
Messager1 : Voulez-vous envoyer un message à (nom de lExpéditeur)
Destinataire : Oui (relance dun script de message mais cette fois-ci avec envoie de Messager2 pour apporter la réponse à Expéditeur).
Destinataire : Attendre un peu (Voir Messager1)

Conversation_3
Même que conversation_2 mais correspond à Messager2. Il ny a pas loption décriture de message. Messager2 donne seulement le message du destinataire et disparaît.

Script_01
Vérifie simplement si lExpéditeur a 500 PO sur lui. Pas la peine de me donner ce script, je lai.

Script_02
[Help] Vérifie le nombre de joueurs présents sur le serveur. Sil ny a quun joueur (le Destinataire) cette phrase napparaît pas. Sil y a deux joueurs ou plus, cette phrase apparaît.

Script_03
[Help] Il faut sans doute utiliser GetFirstPC et GetNextPC. Ces commandes parlent dune liste et jai pas trop bien compris donc ce qui suit est peut-être faux. Prendre le nom du premier PJ (pas le nom du joueur) de la liste et lécrire dans la première phrase de réponse. Puis prendre le nom du PJ suivant et lécrire dans la deuxième phrase de réponse, et ainsi de suite jusquà ce que tous les noms de PJ soient apparus. Le nom de lExpéditeur ne doit pas apparaître (il va pas senvoyer un message). Sil y a plus de 9 PJ à safficher, mettre Suite à la dixième phrase et faire apparaître les 9 PJ suivants lorsque cette phrase est sélectionnée et ainsi de suite.

Script_04
[Help] Il sagit de mettre le script qui permet denregistrer un message tapé par un PJ. Je suis pas sûr davoir mis ce script à la bonne place.

Script_05
Vérifie que le PJ possède largent, puis lui prend. Je sais faire.
[Help] Mais je sais pas faire le suite. Le script doit aussi vérifier si le Destinataire est encore présent.

Script_06
[Help] Un PNJ Messager01 se téléporte près du Destinataire. En boucle au dessus de sa tête doit apparaître Un message pour (nom du Destinataire), jusquà ce que le message soit pris.

Script_07
[Help] Vérifier si le PJ qui parle est le Destinataire avant dafficher cette phrase.

Script_08
[Help] Il sagit du script lié à lobjet Message. Lorsque message est utilisé (1 utilisation avant disparition), le message doit safficher au dessus du Destinataire. Bien entendu le mieux serait que le message soit dans la description de lobjet Message mais je sais pas si cest possible.

Messager1
[Help] Il nattend quun certains laps de temps pour que le PJ vienne prendre son message. Après cela, il disparaît et le message est détruit. Si la conversation débute, ce compteur doit arrêter de tourner (le PNJ ne doit pas disparaître en pleine conversation). Si le PJ demande dattendre un peu, le premier compteur sarrête et un deuxième débute avec les même effets que le premier sil arrive à terme (mais pas destruction du message car il est dans linventaire du PJ à ce moment).

Jai détaillé ce dont jai besoin et jespère que cest compréhensible. Il ne faut pas se fier aux appellation Script_ 01 et autres car si je ne me trompe pas, il devrait y avoir des script à mettre dans les script donc il y en aura au final plus de 8.

Bon travail. :mdr:

Par Symphonik le 19/10/2002 à 12:07:31 (#2362669)

script n° 2:

script qui compte le nombre de joueur :

void main()
{
int nPCs = 0;
object oPC = GetFirstPC();
while (GetIsObjectValid(oPC) == TRUE)
{
nPCs = nPCs+1; // nPCs++;
oPC = GetNextPC();
}
}


adapté à ton besoin

void main()
{
object oPC = GetFirstPC(); // on regarde le premier joueur
if(GetIsObjectValid(oPC) == TRUE) // si premier joueur existe
{
oPC = GetNextPC(); // on pointe sur le second
if(GetIsObjectValid(oPC) == TRUE) // si le second existe
{
RETURN TRUE; // alors retourne vrai pour que la phrase se dise
}
}
RETURN FALSE; // sinon retour faux, on ne dit pas la phrase
}

Par Simkim le 20/10/2002 à 9:27:18 (#2367489)

Merci Symphonik :merci:

Qui va réussir à me faire le script_03 ? (c'est celui qui me pose le plus de problème)

JOL Archives 1.0.1
@ JOL / JeuxOnLine