Savoir si l'autre a l'addon

Signaler
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007
-
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
-
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

Messages postés
969
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
1 juillet 2012
1
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.
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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 :)
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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...
Messages postés
969
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
1 juillet 2012
1
J'comprends vraiment pas ce que tu veux faire.
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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...
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
8
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)

<!--
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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...
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
8
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)

<!--
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

Ouhla, je ne comprends plus rien. J'abandonne :(
Messages postés
29
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
14 février 2006

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).
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

Ca c'est pas bête Alex_974. Ce n'est pas la solution à mon problème, mais ça le contournerait :)
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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?
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
8
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)

<!--
Messages postés
149
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2007

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...
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Membre
Dernière intervention
30 janvier 2011
8
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)

<!--