Tout Sur Pokémon
|
| | [Tutoriel]Les base de sciptage sur netbattle | |
| | Auteur | Message |
---|
deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: [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+ | |
| | | ExTrEmE Administrateur
Nombre de messages : 1894 Age : 31 Localisation : Nantes Emploi : Collégien Autre : Vive le football Date d'inscription : 07/09/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Ven 30 Sep - 19:16 | |
| c'est euh... très compliqué ton truc. | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | ExTrEmE Administrateur
Nombre de messages : 1894 Age : 31 Localisation : Nantes Emploi : Collégien Autre : Vive le football Date d'inscription : 07/09/2005
| Sujet: 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. | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: 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" | |
| | | ExTrEmE Administrateur
Nombre de messages : 1894 Age : 31 Localisation : Nantes Emploi : Collégien Autre : Vive le football Date d'inscription : 07/09/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Sam 1 Oct - 9:52 | |
| | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Sam 1 Oct - 10:46 | |
| | |
| | | ExTrEmE Administrateur
Nombre de messages : 1894 Age : 31 Localisation : Nantes Emploi : Collégien Autre : Vive le football Date d'inscription : 07/09/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Sam 1 Oct - 10:48 | |
| | |
| | | Sam McPlaypa Meilleur Dresseur
Nombre de messages : 663 Date d'inscription : 03/09/2005
| Sujet: 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 ? | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | Sam McPlaypa Meilleur Dresseur
Nombre de messages : 663 Date d'inscription : 03/09/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Dim 2 Oct - 19:35 | |
| mdr nan mais yen a comme angélus... | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Dim 2 Oct - 20:16 | |
| | |
| | | zapy Dresseur Débutant
Nombre de messages : 3 Localisation : en trin de joué a POKÉMON Date d'inscription : 18/10/2005
| Sujet: 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 | |
| | | ExTrEmE Administrateur
Nombre de messages : 1894 Age : 31 Localisation : Nantes Emploi : Collégien Autre : Vive le football Date d'inscription : 07/09/2005
| Sujet: 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 | |
| | | zapy Dresseur Débutant
Nombre de messages : 3 Localisation : en trin de joué a POKÉMON Date d'inscription : 18/10/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Jeu 20 Oct - 3:26 | |
| | |
| | | mega ptera Dresseur de l'Elite 4
Nombre de messages : 353 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Sam 12 Nov - 21:19 | |
| erf, le script pour imiter ne marche pas :( | |
| | | mega ptera Dresseur de l'Elite 4
Nombre de messages : 353 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | mega ptera Dresseur de l'Elite 4
Nombre de messages : 353 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | deoxis. Webmaster
Nombre de messages : 703 Age : 33 Date d'inscription : 05/08/2005
| Sujet: 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 | |
| | | mega ptera Dresseur de l'Elite 4
Nombre de messages : 353 Date d'inscription : 05/08/2005
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle Ven 16 Déc - 23:17 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: [Tutoriel]Les base de sciptage sur netbattle | |
| |
| | | | [Tutoriel]Les base de sciptage sur netbattle | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|