Savoir si l'autre a l'addon

Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007 - 28 janv. 2006 à 21:27
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 - 2 févr. 2006 à 07:22
Voila, je voudrais savoir s'il est possible de savoir si l'autre a un addon. Je m'explique:
Je mets dans le menu nicklist (c'est pour lui proposer un jeu à deux)

Jouer avec $1 :{ set %player2 $$1 | set %ctour me | .ctcp %player2 jouer $me

En fait je voudrais vérifier s'il a l'addon du jeux.

{ si $$1 a l'addon ]Jouer avec $1 :{ set %player2 $$1 | set %ctour me | .ctcp %player2 jouer $me

Voila, je pense que c'est comprehensible :)

15 réponses

COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
28 janv. 2006 à 21:48
Plusieurs possibilité...

1) Soit à chaque parti fait tu savuegardes le pseudo de la personne dans un fichier.
2) Tu ajoutes un ctcpreply en cas d'un ctcp JEU, et si la personne te renvoi un reply, ça veut dire qu'il a l'add-on.
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
28 janv. 2006 à 22:02
Ok donc j'ai pas été assez clair.
Exemple:

$iif($notify($$1).ison == $true,$style(2)) [Notify] Ajouter $$1:notify $$1
$iif($notify($$1).ison != $true,$style(2)) [Notify] Supprimer $$1:notify -r $$1

Je voudrais sensiblement la même chose :)
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
29 janv. 2006 à 02:13
J'ai pensé à ça:

$iff(raw 311: $6- == username décidé)Jouer avec $1 :{ set %player2 $$1 | set %ctour me | .ctcp %player2 jouer $me

Mais ça ne marche pas. Si ça peut éclaircir quelqu'un...
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
29 janv. 2006 à 02:42
J'comprends vraiment pas ce que tu veux faire.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
29 janv. 2006 à 03:34
Plus simplement, je voudrais savoir si l'autre chatteur a la version du jeu sur son script. Car si on met dans son menu nicklist:

Jouer avec $1 :{ set %player2 $$1 | set %ctour me | .ctcp %player2 jouer $me

Ca nous le marquera tout le temps, on est d'accord.
Donc je voudrais que ça me le marque seulement à ceux qui ont l'addon sur leur script. Sinon on peut se voir sur un chat ou sur MSN si tu comprends pas...
0
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 janv. 2006 à 11:01
Bonjour,

Tu dois mettre dans tes popups (catégorie nicklist donc) :
$iif(ta condition,Jouer avec $$1):/ctcp $$1 jouer $me

Le menu "Jouer avec X" s'affichera seulement si la condition se révèle être vraie.

Pour vérifier si le joueur d'en face à l'addon, tu peux faire un système de CTCP (comme l'avais expliqué COOLMAN002 un peu plus haut), tu envoies par exemple /ctcp pseudo nomdeladdon, et avec l'event ctcp, tu réponds /ctcp pseudo nomdeladdon-OK pour lui signaler que l'addon est bien en sa possession.

Un p'tit conseil : c'est un peu casse-tête d'afficher seulement le menu "Jouer avec X" pour les possesseurs de l'addon, autant l'afficher en permanence. Ou alors, tu peux afficher un deuxième menu "vérifier si X possède l'addon", c'est un compromis entre ton idée et la mienne.

<hr color="#d3d3d3">Cordialement, Sorn_Drixer (Admin CodeS-SourceS)

<!--
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
29 janv. 2006 à 16:10
Ok SornDrixer, tu as bien compris ce que je voulais mais moi je n'ai pas compris ce que tu as dit.
Donc j'ai fait:

$iif(raw 311: $6- == NomDuScript,Jouer avec $$1):/set %player2 $$1 | /set %ctour me | /.ctcp %player2 jouer $me

Mais ça ne marche pas...
0
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 janv. 2006 à 17:07
Seulement, ta condition est fausse.
On utilise les commandes dans un événement, et non le contraire. (toi tu as mis un événement dans ta commande!)

Tu peux par exemple faire $iif($tacommande,Jouer avec $$1)
Et ensuite, tu crées l'alias tacommande chargée de la vérification :

alias tacommande {
ton code de vérification
si se révèle vrai => return 1
}

Dans tout les cas, tu ne pourras pas non plus utiliser un événement là dedans, il te faut trouver une autre solution .. plus propre.

<hr color="#d3d3d3">Cordialement, Sorn_Drixer (Admin CodeS-SourceS)

<!--
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
29 janv. 2006 à 17:51
Ouhla, je ne comprends plus rien. J'abandonne :(
0
Alex_974 Messages postés 29 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 14 février 2006
31 janv. 2006 à 16:49
Bah jpense a plus simple moi . Si tu veux seulement savoir si l'autre en question a l'addon que tu veux il s'agit de rajouter une commande dans l'addon. Par exemple on *:TEXT:*:*: {
if ( $1 == !quialaddon ) { notice $nick Moi je l'ai }
}
Et pour savoir si quelqu'un en particulier a l'addon bah tu met
on *:TEXT:*:*: {
if ( $1 !taladdon ) && ($2 $me) { notice $nick Oui }
}
Et puis voila tu lances ton addon jpense que tu peux le faire seulement si c'est toi qui distribue l'addon en question comme ca tu peux rajouter la commande toi même. Si jamais ce n'est pas toi qui a créé l'addon en question bah ... jvois deux solutions :
_Leur dire de rajouter les deux cmd ci dessus :p ( Mais tu sauras qui l'a a ce moment la lol )
_Abandoner (LoL) a toi de voir ;)
Si jamais vous trouvez que je parle trop et que je dis parfois des betises n'hesitez pas a me le signaler (gentillement svp lol).
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
31 janv. 2006 à 22:56
Ca c'est pas bête Alex_974. Ce n'est pas la solution à mon problème, mais ça le contournerait :)
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
1 févr. 2006 à 02:05
En fait j'ai mis en remote:

On ^*:TEXT:*:#:{
if (AddonDuJeu isin $1-) { .notice $nick 12Moi j'ai l'addon du jeu }
}

En dans le menu nicklist:

Voir qui a l'addon du jeu: .msg $chan 12Qui a l'4AddonDuJeu12?

Donc ça ça marche nickel, merci. Mais j'aurais préféré que ma proposition de jouer ne se fasse que si l'autre a l'addon en clic droit sur son pseudo...

Exemple SornDrixer ma condition pourrait être: $dname == LeNomDuScript ?

Ce qui donnerait:

$iif($dname- == NomDuScript,Jouer avec $$1):/set %player2 $$1 | /set %ctour me | /.ctcp %player2 jouer $me

Ou alors je ne comprends pas ce que tu veux dire par tacommande? Et à la place de "ton code de vérification"?

ou alors c'est ça:

$iif($JouerAvecMoi,Jouer avec $$1)

et l'alias:

alias JouerAvecMoi {
set %player2 $$1 | /set %ctour me | /.ctcp %player2 jouer $me
}

Non?
0
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
1 févr. 2006 à 07:31
D'abord,

Tu comptes distribuer un script entier ou un addon ?
Si c'est juste un addon, et que la personne ne l'a pas, comment veux-tu vérifier localement si le dialog "NomDuScript" existe, il faut donc vérifier à distance (et au passage, $dname ne retourne rien si il est utilisé en dehors de l'événement DIALOG, tu peux le vérifier par toi-même en //echo)

le "tacommande" est censé lancer la procédure de vérification, par CTCP, en privé, par socket, peu importe, tant que cela se fait à distance (une personne A envoie une requête à la personne B afin de voir si B possède bien l'addon de A)

Mais je redis ce que j'ai dis : ce que tu fais c'est beaucoup trop casse-tête, tu fais un menu "Jouer avec XXX".
Si on demande à jouer avec quelqu'un qui ne possède pas l'addon, bah aucun problème, un message comme "Impossible : XXX ne possède pas l'addon" fera l'affaire.

Pour faire à ta façon, il nous faut utiliser :
- un $iif (dans le popup)
- une commande qui va lancer la vérification (appelée dans le if)
- un événement qui va gèrer la réponse envoyée par le client distant

Mais le problème se situe au niveau de l'événement, avec $iif on ne pas déclencher un événement, et une commande à elle-seule ne peut pas en déclencher non plus, donc je me demande même si c'est quelque chose de faisable

<hr color="#d3d3d3">Cordialement, Sorn_Drixer (Admin CodeS-SourceS)

<!--
0
Camanche Messages postés 149 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 17 novembre 2007
1 févr. 2006 à 21:06
Ok, je distribue un script. C'est pour ça que le dname ne changera pas. Mais comme tu dis SornDrixer, "Si on demande à jouer avec quelqu'un qui ne possède pas l'addon, bah aucun problème, un message comme "Impossible : XXX ne possède pas l'addon" fera l'affaire." Comment veux-tu afficher le message, là je ne comprends pas...
0
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
2 févr. 2006 à 07:22
Au vu de ton alias :
alias JouerAvecMoi {
set %player2 $$1 | /set %ctour me | /.ctcp %player2 jouer $me
}

Tu es censé envoyer un ctcp au joueur non ? Donc je suppose qu'il y répond si il a l'addon (et qu'il n'y répondra pas si il n'a pas l'addon)
Si le joueur te renvoit /ctcp jouer-ok si il a l'addon :

menu nicklist {
Jouer avec XX:/verification $$1
}

alias verification ctcp $1 jouer $me | timerverif 1 5 /echo -a $1 ne possède pas l'addon

CTCP *:jouer-ok:*:{
;=> la personne possède l'addon, on lance la partie
.timerverif off
;=>on arrete le timerverif qui était censé nous afficher que XX ne possède pas l'addon si aucun ctcp n'était recu au bout de 5 secondes
}

Voilà un exemple ..

<hr color="#d3d3d3">Cordialement, Sorn_Drixer (Admin CodeS-SourceS)

<!--
0
Rejoignez-nous