Tout Sur Pokémon


 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 [Tutoriel]Les base de sciptage sur netbattle

Aller en bas 
AuteurMessage
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: [Tutoriel]Les base de sciptage sur netbattle   Ven 30 Sep - 19:05

0-Introduction
===================
Tout d'abord, sachez que seul celui qui heberge un server peut le scripter, et ceci en ouvrant la fenetre principale du server, cliquez sur l'onglet server en haut, puis sur script window, et là vous pourrez mettre votre script. Quand il sera terminé vous cliquez sur ok pour valider.
Attention : tout au long de du tutoriel vous trouverez des mettres en majuscules, veuillez respecter ces majuscules puisque les script ne sont pas sensibles a la casse, c'est a dire que le server fait la difference entre une lettre miniscule et une autre majuscule

===================
1-Les evenement
===================
Sachez tout d'abord que tout les script netbattle se basent sur des evenemtns, qui lorqu'il sont arrivés, declenchent le script.
Les evenements sont toujours declarés par Event

Exemple :

Code:Event {+|-}nom de l'evenement
[Instruction a executer lorsque le script se declenche]
EndEvent


Le + ou - que vous avez remarqué servent a indiquer est ce les instructions se declencherons avant ou apres que l'evenement de soit passés

Voici les noms des evenements qu'il existe, ou du moins que je connait :

Citation:
ServerStartup : Se declenche quand le server demarre.
NewMessage : Se declenche quand un message est ajouté a la boite de messages du server
PlayerSignOn : Se declenche quand un nouveau membre rentre sur votre server.
PlayerSingOff : Se declenche quand un membre sort de votre server
ChatMessage : Se declenche quand vous recevez un nouveau message
ChallengeIssued : Se declenche quand un defi est lancé
BattleBegin : Se declenche quand un combat commence
BattleOver : Se declenche quand un combat est fini
Playerkick : Se declenche quand un joueur est kické du server
PlayerBan : Se declenche quand un joueur est banni
PlayerAway : Se declenche quand un joueur est away
TeamChange : Se declenche quand un joueur change de team ou la modifie.
Timer : Voir ci dessous


Voila maintenant vous savez presque tous sur les evenements.

===================
2-Les commandes
===================

Les commandes sont plus nombreuses que les evenements, et permettents de faire beaucoup de choses, en effet c'est les commandes qui s'executent quand les evenements sont declenchés. Les commandes ont souvent besoin d'arguments. Les arguments qui sont precédés par # indiquent des nombres, et ceux qui commencent par $ indiquent du texte, alors que ceux qui comment par ! peuvent indiquer du texte comme un nombre, et ceux precédés par @ sont des constantes. Les message doivent toujours etre entre apostrophes.

Voici la liste des commandes qui existent, ou du moin ceux que je connai :

Citation:
/Clear : Nettoie la fenetre principale du server
/SendPM #Pnum,$Message : Envoi le message $message visible juste par le membre dont le numero est #Pnum.
/SendAll $Message : Envoi le message $message a tout le monde dans la fenetre de chat
/Kick #Pnum : Kick le joueur ayant le numero #Pnum
/Ban #Pnum : Banni le joueur ayant le numero #Pnum
SIDBan #Pnum : Banni je SID du joueur ayant le numero #Pnum
Tempban #Pnum : Bannie le joueur ayant le numero #Pnum pendant 15 minutes, rien ni personne ne peut le debannir pendant ce temps.
/Run $path : Met en marche le programme localisé a $path
/SaveValue $Key, !Val : Enregistre une valeur.
/Set !var,!val : Voir plus bas
/Unset !var : Efface la variable !var
/StopEvent : Arrete l'action du joueur
/Exit : Arrete l'action du script



Exemple :

Code:Event +PlayerSignOn
/SendAll "Un nouveau joueur vient d'arriver"
EndEvent


Si vous avez compris cette exemple, vous pouvez continuer a lire, sinon relisez le tuto pour ne pas etre perdu.

===================
3-Les variables
===================

La plupart du temps, vous n’allez pas entrer une valeur pour l’argument d’une commande. C’est parce que vous désirez que l’argument change selon la situation. C’est pourquoi les variables ont été inventées.

Les variables sont créées avec la commande « /Set ». La commande Set a deux argments : !var et !val. Le premier argument ( !var) est spécial dans le fait que ca ne peut PAS être un chiffre ou du texte. C’est obligé d’être une variable. Si la variable n’existe pas, la commande « /Set » va la créer. Sinon, La valeur de la variable va être changée en !var(ce que vous avez entré à la place).
Le deuxième argument n’est pas obligé d’être là,
Dans ce cas il sera remplacé par 0 ou "", ca dépend du type de la variable.
!val peut aussi être une variable, si vous voulez mettre une variable égale à l’autre.

Il y a deux type de variable: Les variables littéraires et les variables numériques.
Quand vous vous réferrez à une variable littéraire, mettez un "$" avant son nom. Pour une variable numérique, mettez un "#" avant son nom. Le nom des variables doit contenir UNIQUEMENT des lettres. Vous pouvez regardez les variables en dessous.

Il y a trois variables specials, #Source, #Target et $Message, ces variables existent toujours et changent selon l'evenement.
Ci dessous je voud donne a quoi correspont chacune de ces varibles pour chaque evenement, si il y a marqué N/A, c'est que la variable est egal a 0 ou "" pour cet evenement.

Voici la liste des variables special qui existent pour chaque evenement, elles sont donnes dans l'ordre #Source | #Target | $Message :

Citation:
ServerStartup : N/A | N/A | N/A
NewMessage : N/A | N/A | [Message ajouté]
PlayerSignOn : [Numero du joueur(#Pnum)] | N/A | N/A
PlayerSingOff : [Numero du joueur(#Pnum)] | N/A | N/A
ChatMessage : [Envoyeur] | N/A | [Message]
ChallengeIssued : [Defieur] | [Defié] | N/A
BattleBegin : [Joueur 1] | [Joueur 2] | N/A
BattleOver : [Gagnant] | [Perdant] | N/A
Playerkick : [Kickeur] | [Numero du kické] | N/A
PlayerBan : [Banner] | [Numero du Banni] | N/A
PlayerAway : [Numero du joueur(#Pnum)] | N/A | N/A
TeamChange : [Numero du joueur(#Pnum)] | N/A | N/A
Timer : N/A | N/A | N/A



En se basant sur tout ce qu'on as appris jusqu'ici, le code ci dessous enverra Bienvenue! que chaque nouveau joueur qui entre sur le server recevra et qui ne sera visible que par lui

Code:Event +PlayerSignOn
/SendPM #Source, "Bienvenue!"
EndEvent


Si vous avez compris pourquoi, vous êtes sur la bonne voie, continuez a lire, sinon relisez pour mieux comprendre et ne pas vous perdre.

Les variables sont tres importantes et permettent de faire beaucoup de choses, mais les fonctions sont tout aussi importantes.

===================
4-Les fonctions
===================

Les fonctions prennent plusieurs arguments et sont égales à un nombre ou un texte. Les fonctions peuvent remplacer des arguments pour des commandes et des arguments de fonction. Comme pour les variables, les fonctions numériques sont précédées d’un "#" et les fonctions littéraires d’un "$".

Voici la liste des fonctions avec leurs arguments :

Citation:
#Isloaded(#Pnum) : Egal a 1 si ce Pnum existe, et a 0 autrement
$Name(#Pnum) : Egal au nom du joueur dont le numero est #Pnum
$Pokemon(#PokeNum) : Egal au nom du pokemon ayant le numero #PokeNum dans le pokedex.
#PNumber($PName) : Egal au numero du joueur ayant le nom $PName. Egal a 0 si ce nom n'existe pas
#HasPoke(#PNum , #PokeNum) : Egal a 1 si le pokemon avec le numero #PokeNum est dans l'equipe du joueur avec le numero #PNum. egal a 0 sinon.
#GetTeamPoke(#Pnum , #N) : Egal au numero dans le pokedex du pokemon occupant la place #N dans la team du joueur dont le numero est #Pnum
#GetPlayerInfo(#Pnum,@info) : Egal a quelque chose(seulement des nombres) selon ce avec quoi on va remplacer @info. info est une constante, elle peut etre remplacée par:

AUTH : donne le niveau d'authorisation du membre (0=utilisateur;1=moderateur;2=administrateur)

BWHT : Se bat avec - 0 si ne se bat pas

SPED : Vitesse du joueur

HIDE : equipe cachée (cachée=0;montree=1)

WINS : nombre de victoire du joueur

LOSE : nombre des defaites du joueur

TIES : nombre de nuls

DISC : nombre de disconnect


$GetPlayerInfo(#Pnum,@info) : Egal a quelque chose(seulement des lettres) selon ce avec quoi on va remplacer @info. info est une constante, elle peut etre remplacée par:

AUTH : donne le niveau d'authorisation du membre (0=utilisateur;1=moderateur;2=administrateur)

NAME : Nom du joueur

IPAD : Adresse IP

PSID : Station ID

DNSA : Adresse DNS

EXTR : Information du joueur

VERS : Version netbattle du joueur


#LineNum : Nombre de ligne dans la fentre principale du server
#TrainersNum : Nombre de joueurs connectés
#SysTimer : Egal au nombre de secondes apres minuit
$Time : Egal a l'heure sous la forme HH:MM:SS matin/apres-midi
$Date : Egal a la date sous la forme MM/JJ/AA
$WeekDay : Egal au nom du jour
$Month : Egal au mois
#Rand(#UpperLimit,#LowerLimit) : Egal a un nombre au hasard entre #LowerLimit et #UpperLimit.
#RandPlayer : Egal a un Pnum au hasard, si personne n'est connecté, egal a 0
#GetValue($Key) : Egal a un nombre sauvegardé par la commande /SaveValue, une erreur s'affiche si c'est du texte
$GetValue($Key) : Egal a un texte sauvegardé avec la commade /SetValue, si c'est un nombre, il est converti en texte.
#MaxUsers : Egal au nombre maximal de joueur.
#FloodTol : Egal à la tolérance de flood du server. Le nombre donné est le nombre maximum de messages qu’on peut envoyer d’affiler sans se faire kicker
$WelcomeMsg : Egal au message de bienvenue
$Replace $SourceText, $Find, $Replace : Cherche le mot $Find dans le texte $SourceText et le remplace avec $Replace. Egal au résultat
$LCase($Text) : egal a $text en miniscule
$UCase($Text) : egal a $text en majuscule



Les fonctions sont tres interessantes et permettent de faire beaucoup de choses

Exemple :

Code:Event +PlayerSignOn
/SendPM #Source, "Bienvenue, " & $Name(#Source) & "!"
/SendPM #Source, "Ton nom en majuscules est " & $UCase($Name(#Source)) & "."
/SendPM #Source, "Ton numéro de chance " & $Str(#Rand(9999, 1000)) & "."
EndEvent


Si je me connecte avec come nom GvsK, avec ce script je verrai :

Citation:Flood count is set to 5
Your team's power is: 77%
Bienvenue, GvsK!
Ton nom en majuscules est GVSK.
Ton numéro de chance est 2587.


Le numero de chance sera different a chaque fois que je me connecte.

Si vous comprenez bien jusqu'ici, continuez, sinon n'hesitez pas a relire

======================
5-Les condition : IF-ELSEIF-ENDIF
======================

Les commandes qu'ont utilise entre ces conditions s'appuient sur la verité ou l'erronement d'une information.

Exemple :

Code:
[-Code-]
If [valeur1] [Operateur] [valeur2]
[Commandes]
Else
[Autres commandes]
EndIf


[Operateur] peut etre remplacé par

Citation:
= : Egal à.
== : Egal à (lien si verifie du texte).
<> : Different de.
< : Plus petit que.
> : Plus grand que.
<= : inferieur ou egal.
>= : superieur ou egal.


Si la vérification est bonne, les commandes après le If vont être exécutées. Si elle est fausse, Les commandes après le Else vont être exécutées. Si il n’y a pas de Else et que la vérification est fausse, le script va être lu directement après le EndIf.
Maintenant vous allez pouvoir voir un exemple d'un vrai script, avec ce que vous connaissez maintenant, vous avez largement les possibilités de faire un script anti-OOber pour votre server, mais pour le faire maintenant ça serait un tout peit peu lent, donc on va faire un script anti-deoxys, qui verifie que le joueur qui entre sur votre server a un deoxys, s'il en a il est automatiquement kické et reçoit un message qui explique pourquoi, sinon on le laisse entrern on lui dit que son equipe est prete pour le combat et on lui un numero de chance compris entre 9000 et 10000.

Code:
Event -PlayerSignOn
If #HasPoke(#Source , 386) = 1
/SendPM #Source, "Désolé mais deoxys n'est pas authorisé sur ce server"
/Kick #Source
Else
/SendPM #Source, "Votre equipe est prete pour le combat"
EndIf
Event +PlayerSignOn
/SendPM #Source, "Votre numero de chance est " & $Str(#Rand(10000,9000)) & "."
End Event


Voila c'etait votre premier script
Remarque : Le signe "&" permet d'ecrire des fonctions dans du texte.
Explication du script :
La partie If precise qu'il y a une condition, juste apres il y a la fonction #Haspoke qui va verifier est ce que le joueur dont le numero est #Source a le pokemon dont le numero dans le pokedex est 386(deoxys). Si cette condition est vrai, le code apres va s'executer, donc on affiche un message qui indique que deoxys n'est pas permi et on kick le joueur, sinon le code apres le Else s'executera donc on dit au joueur que son equipe est prete et on le laisse entrer. Apres ça devient facile, come on l'a vu plus haut on affiche un nombre de chance ( qui est un nombre aleatoire grace a la fontion #Rand et ses deux arguments.

Vous pouvez egalement verifier plusieurs conditions en une seule fois grâce a ceci :

Citation:
AND : est vrai si les deux conditions sont vrai
OR : est vrai si une des conditions est vrai
XOR : est vrai si une des conditions est vrai et l'autre fausses
EQV : est vrai si les deux conditions sont soit vraies soit fausses



Par exemple si vous voulez que seul les admins et modos aient le droit d'utiliser deoxys, voici le code :

Code:
Event -PlayerSignOn
If #HasPoke(#Source, 386) = 1 AND #GetPlayerInfo(#Source, AUTH) = 0
/SendPM #Source, "désolé mais deoxys n’est pas autorisé sur ce server"
/Kick #Source
Else
/SendPM #Source, "Votre team est prêt pour le combat!"
EndIf
End Event


Le if va verifier deux chose, que le joueur possede un deoxys et que celui ci est un membre simple, le else n'est pas necessaire si vous ne vulez rien faire au cas contraire

==================
6-Le timer event
================
Cet evenement est different des autres etant donné que celui ci est activé tout les [intervalle]

Exemple :

Code:
Event Timer [intervalle]
[-Code-]
EndEvent



Comme vous avez pu le voir, il n'y a ni - ni +, mia sil y a un intervalle qui peut aller de 1 a 86400 (86400 secondes = 24h). Le code apres le event s'executera tout les [intervalle], donc si vos voulez qu'un code s'execute toutes les 5 secondes, mettez dans la premiere ligne "Event Timer 5", et le code s'executera toutes les 5 secondes jusqu'a ce que le server s'eteigne.





voila je pense que je vous ai tout dit, si vous avez des script a nous passer poster sur ce topic. Jespere que vous avez eu le courage a tout lire mdr.

Bon a+

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ExTrEmE
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 1894
Age : 26
Localisation : Nantes
Emploi : Collégien
Autre : Vive le football
Date d'inscription : 07/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Ven 30 Sep - 19:16

c'est euh... très compliqué ton truc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Ven 30 Sep - 19:19

pour comprendre il faut avoir un cerveau. c'est pas ton cas lol

mais si tu veux avoir du script faudra que tu passe par la et tout comprendre lol

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ExTrEmE
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 1894
Age : 26
Localisation : Nantes
Emploi : Collégien
Autre : Vive le football
Date d'inscription : 07/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Ven 30 Sep - 20:50

deoxis. a écrit:
0-Introduction
===================
Tout d'abord, sachez que seul celui qui heberge un server peut le scripter, et ceci en ouvrant la fenetre principale du server, cliquez sur l'onglet server en haut, puis sur script window, et là vous pourrez mettre votre script. Quand il sera terminé vous cliquez sur ok pour valider.
Attention : tout au long de du tutoriel vous trouverez des mettres en majuscules, veuillez respecter ces majuscules puisque les script ne sont pas sensibles a la casse, c'est a dire que le server fait la difference entre une lettre miniscule et une autre majuscule

===================
1-Les evenement
===================
Sachez tout d'abord que tout les script netbattle se basent sur des evenemtns, qui lorqu'il sont arrivés, declenchent le script.
Les evenements sont toujours declarés par Event

Exemple :

Code:Event {+|-}nom de l'evenement
[Instruction a executer lorsque le script se declenche]
EndEvent


Le + ou - que vous avez remarqué servent a indiquer est ce les instructions se declencherons avant ou apres que l'evenement de soit passés

Voici les noms des evenements qu'il existe, ou du moins que je connait :

Citation:
ServerStartup : Se declenche quand le server demarre.
NewMessage : Se declenche quand un message est ajouté a la boite de messages du server
PlayerSignOn : Se declenche quand un nouveau membre rentre sur votre server.
PlayerSingOff : Se declenche quand un membre sort de votre server
ChatMessage : Se declenche quand vous recevez un nouveau message
ChallengeIssued : Se declenche quand un defi est lancé
BattleBegin : Se declenche quand un combat commence
BattleOver : Se declenche quand un combat est fini
Playerkick : Se declenche quand un joueur est kické du server
PlayerBan : Se declenche quand un joueur est banni
PlayerAway : Se declenche quand un joueur est away
TeamChange : Se declenche quand un joueur change de team ou la modifie.
Timer : Voir ci dessous


Voila maintenant vous savez presque tous sur les evenements.

===================
2-Les commandes
===================

Les commandes sont plus nombreuses que les evenements, et permettents de faire beaucoup de choses, en effet c'est les commandes qui s'executent quand les evenements sont declenchés. Les commandes ont souvent besoin d'arguments. Les arguments qui sont precédés par # indiquent des nombres, et ceux qui commencent par $ indiquent du texte, alors que ceux qui comment par ! peuvent indiquer du texte comme un nombre, et ceux precédés par @ sont des constantes. Les message doivent toujours etre entre apostrophes.

Voici la liste des commandes qui existent, ou du moin ceux que je connai :

Citation:
/Clear : Nettoie la fenetre principale du server
/SendPM #Pnum,$Message : Envoi le message $message visible juste par le membre dont le numero est #Pnum.
/SendAll $Message : Envoi le message $message a tout le monde dans la fenetre de chat
/Kick #Pnum : Kick le joueur ayant le numero #Pnum
/Ban #Pnum : Banni le joueur ayant le numero #Pnum
SIDBan #Pnum : Banni je SID du joueur ayant le numero #Pnum
Tempban #Pnum : Bannie le joueur ayant le numero #Pnum pendant 15 minutes, rien ni personne ne peut le debannir pendant ce temps.
/Run $path : Met en marche le programme localisé a $path
/SaveValue $Key, !Val : Enregistre une valeur.
/Set !var,!val : Voir plus bas
/Unset !var : Efface la variable !var
/StopEvent : Arrete l'action du joueur
/Exit : Arrete l'action du script



Exemple :

Code:Event +PlayerSignOn
/SendAll "Un nouveau joueur vient d'arriver"
EndEvent


Si vous avez compris cette exemple, vous pouvez continuer a lire, sinon relisez le tuto pour ne pas etre perdu.

===================
3-Les variables
===================

La plupart du temps, vous n’allez pas entrer une valeur pour l’argument d’une commande. C’est parce que vous désirez que l’argument change selon la situation. C’est pourquoi les variables ont été inventées.

Les variables sont créées avec la commande « /Set ». La commande Set a deux argments : !var et !val. Le premier argument ( !var) est spécial dans le fait que ca ne peut PAS être un chiffre ou du texte. C’est obligé d’être une variable. Si la variable n’existe pas, la commande « /Set » va la créer. Sinon, La valeur de la variable va être changée en !var(ce que vous avez entré à la place).
Le deuxième argument n’est pas obligé d’être là,
Dans ce cas il sera remplacé par 0 ou "", ca dépend du type de la variable.
!val peut aussi être une variable, si vous voulez mettre une variable égale à l’autre.

Il y a deux type de variable: Les variables littéraires et les variables numériques.
Quand vous vous réferrez à une variable littéraire, mettez un "$" avant son nom. Pour une variable numérique, mettez un "#" avant son nom. Le nom des variables doit contenir UNIQUEMENT des lettres. Vous pouvez regardez les variables en dessous.

Il y a trois variables specials, #Source, #Target et $Message, ces variables existent toujours et changent selon l'evenement.
Ci dessous je voud donne a quoi correspont chacune de ces varibles pour chaque evenement, si il y a marqué N/A, c'est que la variable est egal a 0 ou "" pour cet evenement.

Voici la liste des variables special qui existent pour chaque evenement, elles sont donnes dans l'ordre #Source | #Target | $Message :

Citation:
ServerStartup : N/A | N/A | N/A
NewMessage : N/A | N/A | [Message ajouté]
PlayerSignOn : [Numero du joueur(#Pnum)] | N/A | N/A
PlayerSingOff : [Numero du joueur(#Pnum)] | N/A | N/A
ChatMessage : [Envoyeur] | N/A | [Message]
ChallengeIssued : [Defieur] | [Defié] | N/A
BattleBegin : [Joueur 1] | [Joueur 2] | N/A
BattleOver : [Gagnant] | [Perdant] | N/A
Playerkick : [Kickeur] | [Numero du kické] | N/A
PlayerBan : [Banner] | [Numero du Banni] | N/A
PlayerAway : [Numero du joueur(#Pnum)] | N/A | N/A
TeamChange : [Numero du joueur(#Pnum)] | N/A | N/A
Timer : N/A | N/A | N/A



En se basant sur tout ce qu'on as appris jusqu'ici, le code ci dessous enverra Bienvenue! que chaque nouveau joueur qui entre sur le server recevra et qui ne sera visible que par lui

Code:Event +PlayerSignOn
/SendPM #Source, "Bienvenue!"
EndEvent


Si vous avez compris pourquoi, vous êtes sur la bonne voie, continuez a lire, sinon relisez pour mieux comprendre et ne pas vous perdre.

Les variables sont tres importantes et permettent de faire beaucoup de choses, mais les fonctions sont tout aussi importantes.

===================
4-Les fonctions
===================

Les fonctions prennent plusieurs arguments et sont égales à un nombre ou un texte. Les fonctions peuvent remplacer des arguments pour des commandes et des arguments de fonction. Comme pour les variables, les fonctions numériques sont précédées d’un "#" et les fonctions littéraires d’un "$".

Voici la liste des fonctions avec leurs arguments :

Citation:
#Isloaded(#Pnum) : Egal a 1 si ce Pnum existe, et a 0 autrement
$Name(#Pnum) : Egal au nom du joueur dont le numero est #Pnum
$Pokemon(#PokeNum) : Egal au nom du pokemon ayant le numero #PokeNum dans le pokedex.
#PNumber($PName) : Egal au numero du joueur ayant le nom $PName. Egal a 0 si ce nom n'existe pas
#HasPoke(#PNum , #PokeNum) : Egal a 1 si le pokemon avec le numero #PokeNum est dans l'equipe du joueur avec le numero #PNum. egal a 0 sinon.
#GetTeamPoke(#Pnum , #N) : Egal au numero dans le pokedex du pokemon occupant la place #N dans la team du joueur dont le numero est #Pnum
#GetPlayerInfo(#Pnum,@info) : Egal a quelque chose(seulement des nombres) selon ce avec quoi on va remplacer @info. info est une constante, elle peut etre remplacée par:

AUTH : donne le niveau d'authorisation du membre (0=utilisateur;1=moderateur;2=administrateur)

BWHT : Se bat avec - 0 si ne se bat pas

SPED : Vitesse du joueur

HIDE : equipe cachée (cachée=0;montree=1)

WINS : nombre de victoire du joueur

LOSE : nombre des defaites du joueur

TIES : nombre de nuls

DISC : nombre de disconnect


$GetPlayerInfo(#Pnum,@info) : Egal a quelque chose(seulement des lettres) selon ce avec quoi on va remplacer @info. info est une constante, elle peut etre remplacée par:

AUTH : donne le niveau d'authorisation du membre (0=utilisateur;1=moderateur;2=administrateur)

NAME : Nom du joueur

IPAD : Adresse IP

PSID : Station ID

DNSA : Adresse DNS

EXTR : Information du joueur

VERS : Version netbattle du joueur


#LineNum : Nombre de ligne dans la fentre principale du server
#TrainersNum : Nombre de joueurs connectés
#SysTimer : Egal au nombre de secondes apres minuit
$Time : Egal a l'heure sous la forme HH:MM:SS matin/apres-midi
$Date : Egal a la date sous la forme MM/JJ/AA
$WeekDay : Egal au nom du jour
$Month : Egal au mois
#Rand(#UpperLimit,#LowerLimit) : Egal a un nombre au hasard entre #LowerLimit et #UpperLimit.
#RandPlayer : Egal a un Pnum au hasard, si personne n'est connecté, egal a 0
#GetValue($Key) : Egal a un nombre sauvegardé par la commande /SaveValue, une erreur s'affiche si c'est du texte
$GetValue($Key) : Egal a un texte sauvegardé avec la commade /SetValue, si c'est un nombre, il est converti en texte.
#MaxUsers : Egal au nombre maximal de joueur.
#FloodTol : Egal à la tolérance de flood du server. Le nombre donné est le nombre maximum de messages qu’on peut envoyer d’affiler sans se faire kicker
$WelcomeMsg : Egal au message de bienvenue
$Replace $SourceText, $Find, $Replace : Cherche le mot $Find dans le texte $SourceText et le remplace avec $Replace. Egal au résultat
$LCase($Text) : egal a $text en miniscule
$UCase($Text) : egal a $text en majuscule



Les fonctions sont tres interessantes et permettent de faire beaucoup de choses

Exemple :

Code:Event +PlayerSignOn
/SendPM #Source, "Bienvenue, " & $Name(#Source) & "!"
/SendPM #Source, "Ton nom en majuscules est " & $UCase($Name(#Source)) & "."
/SendPM #Source, "Ton numéro de chance " & $Str(#Rand(9999, 1000)) & "."
EndEvent


Si je me connecte avec come nom GvsK, avec ce script je verrai :

Citation:Flood count is set to 5
Your team's power is: 77%
Bienvenue, GvsK!
Ton nom en majuscules est GVSK.
Ton numéro de chance est 2587.


Le numero de chance sera different a chaque fois que je me connecte.

Si vous comprenez bien jusqu'ici, continuez, sinon n'hesitez pas a relire

======================
5-Les condition : IF-ELSEIF-ENDIF
======================

Les commandes qu'ont utilise entre ces conditions s'appuient sur la verité ou l'erronement d'une information.

Exemple :

Code:
[-Code-]
If [valeur1] [Operateur] [valeur2]
[Commandes]
Else
[Autres commandes]
EndIf


[Operateur] peut etre remplacé par

Citation:
= : Egal à.
== : Egal à (lien si verifie du texte).
<> : Different de.
< : Plus petit que.
> : Plus grand que.
<= : inferieur ou egal.
>= : superieur ou egal.


Si la vérification est bonne, les commandes après le If vont être exécutées. Si elle est fausse, Les commandes après le Else vont être exécutées. Si il n’y a pas de Else et que la vérification est fausse, le script va être lu directement après le EndIf.
Maintenant vous allez pouvoir voir un exemple d'un vrai script, avec ce que vous connaissez maintenant, vous avez largement les possibilités de faire un script anti-OOber pour votre server, mais pour le faire maintenant ça serait un tout peit peu lent, donc on va faire un script anti-deoxys, qui verifie que le joueur qui entre sur votre server a un deoxys, s'il en a il est automatiquement kické et reçoit un message qui explique pourquoi, sinon on le laisse entrern on lui dit que son equipe est prete pour le combat et on lui un numero de chance compris entre 9000 et 10000.

Code:
Event -PlayerSignOn
If #HasPoke(#Source , 386) = 1
/SendPM #Source, "Désolé mais deoxys n'est pas authorisé sur ce server"
/Kick #Source
Else
/SendPM #Source, "Votre equipe est prete pour le combat"
EndIf
Event +PlayerSignOn
/SendPM #Source, "Votre numero de chance est " & $Str(#Rand(10000,9000)) & "."
End Event


Voila c'etait votre premier script
Remarque : Le signe "&" permet d'ecrire des fonctions dans du texte.
Explication du script :
La partie If precise qu'il y a une condition, juste apres il y a la fonction #Haspoke qui va verifier est ce que le joueur dont le numero est #Source a le pokemon dont le numero dans le pokedex est 386(deoxys). Si cette condition est vrai, le code apres va s'executer, donc on affiche un message qui indique que deoxys n'est pas permi et on kick le joueur, sinon le code apres le Else s'executera donc on dit au joueur que son equipe est prete et on le laisse entrer. Apres ça devient facile, come on l'a vu plus haut on affiche un nombre de chance ( qui est un nombre aleatoire grace a la fontion #Rand et ses deux arguments.

Vous pouvez egalement verifier plusieurs conditions en une seule fois grâce a ceci :

Citation:
AND : est vrai si les deux conditions sont vrai
OR : est vrai si une des conditions est vrai
XOR : est vrai si une des conditions est vrai et l'autre fausses
EQV : est vrai si les deux conditions sont soit vraies soit fausses



Par exemple si vous voulez que seul les admins et modos aient le droit d'utiliser deoxys, voici le code :

Code:
Event -PlayerSignOn
If #HasPoke(#Source, 386) = 1 AND #GetPlayerInfo(#Source, AUTH) = 0
/SendPM #Source, "désolé mais deoxys n’est pas autorisé sur ce server"
/Kick #Source
Else
/SendPM #Source, "Votre team est prêt pour le combat!"
EndIf
End Event


Le if va verifier deux chose, que le joueur possede un deoxys et que celui ci est un membre simple, le else n'est pas necessaire si vous ne vulez rien faire au cas contraire

==================
6-Le timer event
================
Cet evenement est different des autres etant donné que celui ci est activé tout les [intervalle]

Exemple :

Code:
Event Timer [intervalle]
[-Code-]
EndEvent



Comme vous avez pu le voir, il n'y a ni - ni +, mia sil y a un intervalle qui peut aller de 1 a 86400 (86400 secondes = 24h). Le code apres le event s'executera tout les [intervalle], donc si vos voulez qu'un code s'execute toutes les 5 secondes, mettez dans la premiere ligne "Event Timer 5", et le code s'executera toutes les 5 secondes jusqu'a ce que le server s'eteigne.





voila je pense que je vous ai tout dit, si vous avez des script a nous passer poster sur ce topic. Jespere que vous avez eu le courage a tout lire mdr.

Bon a+


ça a dut être long a copier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 1 Oct - 9:29

oué mé bon, jai copier pour ceux qui voulé aprendre a scripter sur netbattle.
et je comprend aussi que pour certain tout ca c'est du "charabia"

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ExTrEmE
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 1894
Age : 26
Localisation : Nantes
Emploi : Collégien
Autre : Vive le football
Date d'inscription : 07/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 1 Oct - 9:52

y'a pas plus simple?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 1 Oct - 10:46

nan....

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ExTrEmE
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 1894
Age : 26
Localisation : Nantes
Emploi : Collégien
Autre : Vive le football
Date d'inscription : 07/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 1 Oct - 10:48

dommage
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Sam McPlaypa
Meilleur Dresseur
Meilleur Dresseur
avatar

Nombre de messages : 663
Date d'inscription : 03/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 2 Oct - 12:38

Merci deoxis. C'est toi qui a fait ça ou t'a demandé a kelkun ? Enfin jveux dire tu connais le langage informaitique ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 2 Oct - 13:09

je mi conais un peu, pour faire ces bases pour script quelq'1 ma aidé un peu (tu croyait que je savais tout sa par coeur)lol

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Sam McPlaypa
Meilleur Dresseur
Meilleur Dresseur
avatar

Nombre de messages : 663
Date d'inscription : 03/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 2 Oct - 19:35

mdr nan mais yen a comme angélus...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 2 Oct - 20:16

angélus il a disparu lol

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
zapy
Dresseur Débutant
Dresseur Débutant


Nombre de messages : 3
Localisation : en trin de joué a POKÉMON
Date d'inscription : 18/10/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Mar 18 Oct - 4:23

moi je compren pas comen sa marche netbattle!!! c quoi qui fo que je fasse pour joué contre vous? tout est an anglai et moi je compren pas
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ExTrEmE
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 1894
Age : 26
Localisation : Nantes
Emploi : Collégien
Autre : Vive le football
Date d'inscription : 07/09/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Mar 18 Oct - 9:40

ok, tu me demandes ce que tu ne comprends pas et ce que tu veux faire et je te répond
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
zapy
Dresseur Débutant
Dresseur Débutant


Nombre de messages : 3
Localisation : en trin de joué a POKÉMON
Date d'inscription : 18/10/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Jeu 20 Oct - 3:26

sa m'aide pas ben ben :? ... shaking shakng2 compress blackeye
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mega ptera
Dresseur de l'Elite 4
Dresseur de l'Elite 4
avatar

Nombre de messages : 353
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 12 Nov - 19:12

Code:
Event +playersignon
If $getvalue($Getplayerinfo(#source, PSID) & "\mute") = ""
/Savevalue $Getplayerinfo(#source, PSID) & "\mute", "0"
EndIf
If #getvalue($Getplayerinfo(#source, PSID) & "\mute") = 1
/SendPm #source, "+Bot: Tu ne peux pas parler!"
EndIf
EndEvent


Event -chatmessage

If #getvalue($Getplayerinfo(#source, PSID) & "\mute") = 1 AND $Left($message, 1) <> "/" AND $Left($message, 1) <> "!"
/? $name(#source) & ": [muet]" & $message
/SendPm #source, "+Bot: Tu ne peux pas parler, alors tais toi!"
/stopevent
/exit
EndIf

If $nom(#source) <> "" AND $left($message, 1) <> "!" AND $left($message, 1) <> "/"
/Stopevent
/? "[fun]" & $name(#source)
/Sendall $nom(#source) & ": " & $message
/? "[fun]" & $name(#source)
/exit
EndIf

//ATTENTION
//ATTENTION
//LA PORTION DE SCRIPT SUIVANTE EST DANS TOUS MES SCRIPTS, ALORS CA SERT A RIEN DE LA METTRE DEUX FOIS QUAND JE DONNE DEUX SCRIPTS
/Set #X, #Isin($message, "!") - #Isin($message, " ")
If #X = #len($message)
/exit
EndIf

/Set $commande, $message
If $left($commande, 1) = " "
/Set $commande, $right($commande, #len($message)-1)
EndIf
If $left($commande, 1) = "/" OR $left($commande, 1) = "!"
/set $Commande, $right($commande, #len($message)-1)
If #Isin($commande, " ") > 0
/Set $commande, $left($commande, #isin($commande, " ") - 1)
EndIf
/stopevent
/? $name(#source) &": [commande]" & $message
Else
/exit
EndIf
//ATTENTION
//ATTENTION
//VOILA C'EST FINI

If #getplayerinfo(#source, AUTH) = 1
  If $commande = "imite"
    /Set $nom(#source), $right($message, #len($message) - 7)
    /SendPm #source, "+Bot: Tu es maintenant " & $nom(#source) & "!"
    /exit
  EndIf
EndIf
If $commande = "stopimite"
  If $nom(#source) = ""
    /Sendpm #source, "+Bot: WRONG! Tu n'as pas changé de noms"
    /exit
  EndIf
  /Set $nom(#source), ""
  /SendPm #source, "+Bot: Tu es redevenu " & $name(#source) & "!"
  /exit
EndIf

If $commande = "mute"
If #pnumber($Right($message, #len($message) - 6)) = 0
/SendPm #source, "+Bot: Dsl, " & $Right($message, #len($message) - 6) & " n'est pas là!"
/exit
EndIf
If #getplayerinfo(#source, AUTH) > #getplayerinfo(#pnumber($Right($message, #len($message) - 6)), AUTH)
/SendAll $Name(#source) & " a enfin fais taire " & $Right($message, #len($message) - 6)
/Savevalue $getplayerinfo(#pnumber($Right($message, #len($message) - 6)), PSID) & "\mute", 1
/exit
EndIf
/SendPm #source, "+Bot: Dsl, vous n'avez pas l'autorité nécessaire!"
/Exit
EndIf
 
If $commande = "demute"
If #pnumber($Right($message, #len($message) - 8)) = 0
/SendPm #source, "+Bot: Dsl, " & $Right($message, #len($message) - 8) & " n'est pas là!"
/exit
EndIf
If #getplayerinfo(#source, AUTH) > #getplayerinfo(#pnumber($Right($message, #len($message) - 8)), AUTH)
/SendAll $Name(#source) & " a permis à " & $Right($message, #len($message) - 8)& " de reparler!"
/Savevalue $getplayerinfo(#pnumber($Right($message, #len($message) - 6)), PSID) & "\mute", 0
/exit
EndIf
/SendPm #source, "+Bot: Dsl, vous n'avez pas l'autorité nécessaire!"
/Exit
EndIf
EndEvent

voila le script pour faire taire + celui pour imiter le pseudo !!

PS: il faut ecrire dans la fenetre du server (que seul celui qui a créé le server pe voir) /SetPA $nom
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Sam 12 Nov - 21:19

erf, le script pour imiter ne marche pas :(

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mega ptera
Dresseur de l'Elite 4
Dresseur de l'Elite 4
avatar

Nombre de messages : 353
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 13 Nov - 19:29

tu as tapé "/SetPA $nom" dans la fenetre du server au moins ?

et je pense que sa marchera



PS: la commande c "/imite [NOM]" et pour arretter d'imiter "/stopimite"


PPS: il y a une ligne ou il y a ecrit
Code:
//ATTENTION
//ATTENTION
//VOILA C'EST FINI

If #getplayerinfo(#source, AUTH) = 1
  If $commande = "imite"

il faut remplacer le 1 par 2 et je pense que tous rentrera dans l'ordre
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mega ptera
Dresseur de l'Elite 4
Dresseur de l'Elite 4
avatar

Nombre de messages : 353
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Dim 13 Nov - 19:42

une constante c quoi exactement ? :D



parce que g pigé qu'une partie des explications la :p
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
deoxis.
Webmaster
Webmaster
avatar

Masculin Nombre de messages : 701
Age : 28
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Lun 14 Nov - 14:26

ok, pour les constante jai pas envie de rentrait dans les détails :p

_________________
Gagner de l'argent effiacement et rapidement en téléchargent la meilleure barre de pub du net ! http://www.eurokiddies.com/index.php?referer=116282
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mega ptera
Dresseur de l'Elite 4
Dresseur de l'Elite 4
avatar

Nombre de messages : 353
Date d'inscription : 05/08/2005

MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   Ven 16 Déc - 23:17

michant !! xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [Tutoriel]Les base de sciptage sur netbattle   

Revenir en haut Aller en bas
 
[Tutoriel]Les base de sciptage sur netbattle
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Reglage de base sur FZ38
» [Tutoriel] Bases du line avec Gimp
» [TUTO] Quelques modifications de la base de Registre
» [Tutoriel] Comment faire des socles type neige.
» Le cheval, anatomie et proportions (pour dessiner sa base)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Tout Sur Pokémon :: Pokémon :: Pokémon Netbattle-
Sauter vers: