13.01.2014, 19:24
(
Last edited by MaR92s; 13/01/2014 at 07:55 PM.
)
Salut а tous
Aujourd'hui je vais vous montrer comment interdire а un joueur l'accиs а un groupe de commandes par rapport а une variable. Pour faire simple, par exemple si la variable est йgale а X, le joueur ne pourra pas utiliser les commandes, et si elle est йgale a Y, le joueur pourra avoir accиs aux commandes. Utile sur les serveurs Fun lorsque le joueur est en DM et qu'il ne doit pas se TP par les commandes de tйlйportations du serveur.
Maintenant place au Tuto !
Imaginons donc que nous avons 3 commandes de tйlйportations, et que nous voulons les interdire ou les autoriser en fonction d'une variable qui sera appelй AutoriserTele (J'ai trouvй que зa )
I. Crйation de la variable
Sur l’entкte de votre GM, mettez ceci, qui sera donc notre variable.
Mettez aussi ceci qui mettra la valeur de notre variable а 1, c'est а dire qu'elle ne bloque pas les commandes, mais nous verrons cela plus bas.
II. Le cњur du script
Maintenant place au plus important ! Ci dessous sont listйs les commandes de tйlйportation qui seront utilisйs ( Vous avez de la chance, je vous ai mis des tйlйportations sans que vous vous casseriez la tкte sur samp debug )
Ajoutez ceci au dйbut du groupe des trois commandes listйs ci-dessus :
Ce qui nous donne au final :
Partie terminйe !
III. Utilisation de la variable
Maintenant, Nous allons apprendre а utiliser la variable, c'est а dire a quel moment changer la valeur de la variable et comment le faire.
Tout d'abord, voici la premiиre fonction qui permet de mettre la valeur а 0 et donc d'interdire nos tйlйportations :
Et la deuxiиme, qui permet d'autoriser les tйlйportations :
Et voilа, maintenant c'est а vous de coder tout зa par rapport а votre GM, voici tout de mкme un petit exemple.
Vous avez une commande /DM qui permet de se TP а un DM, on y met AutoriserTele[playerid] = 0; pour interdire les Tйlй pendant le DM.
Ensuite, Vous avez une autre commande /DMQ pour quitter le DM, vous y rajoutй AutoriserTele[playerid] = 1; pour que le joueur ait a nouveau accиs aux cmds.
Ce tuto est maintenant terminй, j'aimerais bien avoir vos rйactions ^^
Aller A+ !
Maintenant place au Tuto !
Imaginons donc que nous avons 3 commandes de tйlйportations, et que nous voulons les interdire ou les autoriser en fonction d'une variable qui sera appelй AutoriserTele (J'ai trouvй que зa )
I. Crйation de la variable
Sur l’entкte de votre GM, mettez ceci, qui sera donc notre variable.
PHP Code:
new AutoriserTele[MAX_PLAYERS];
PHP Code:
Public OnPlayerConnect(playerid)
{
AutoriserTele[playerid] = 1;
return 1;
}
Maintenant place au plus important ! Ci dessous sont listйs les commandes de tйlйportation qui seront utilisйs ( Vous avez de la chance, je vous ai mis des tйlйportations sans que vous vous casseriez la tкte sur samp debug )
PHP Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/tourls", true) == 0) // Tйlйport 1
{
SetPlayerPos(playerid, 1544.4089,-1373.9717,329.9787);
msg(playerid, BLEUC, "Bienvenue a la tour de Los Santos !"); // J'ai "BLEUC" comme couleur, mais vous devrez la modifier sinon vous aurez des erreurs de compil'
return 1;
}
if(strcmp(cmdtext, "/aa", true) == 0) // Tйlйport 2
{
SetPlayerPos(playerid, 427.30, 2499.40, 16.50, 180.00);
msg(playerid, BLEUC, "Bienvenue а l'aйroport abondonnй !");
return 1;
}
if(strcmp(cmdtext, "/als", true) ==0) // Tйlйport 3
{
SetPlayerPos(playerid,1769.3442,-2457.2092,13.5547);
msg(playerid, BLEUC, "Bienvenue а l' aйroport de Los Santos !");
return 1;
}
PHP Code:
if(AutoriserTele[playerid] == 0) //Si notre variable est йgale а 0, Blocage des commandes.
{
SendClientMessage(playerid, ROUGE, "Vous ne pouvez pas vous tйlйporter maintenant"); // N'oubliez pas la couleur du texte.
return 1;
}
if(AutoriserTele[playerid] == 1) // Si la variable est йgale а 1, le joueur a accиs aux commandes.
{
// Vous mettrez ici vos commandes !
// Vous mettrez ici vos commandes !
return SendClientMessage(playerid, COULEUR, "Cette commande est inconnue"); // A mettre ABSOLUMENT, comme vous pouvez le voir, si le joueur tape une commande inconnue, il s'affichera ce message. Si vous ne voulez pas, mettez simplement return 1; N'oubliez pas l’accolade.
}
PHP Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(AutoriserTele[playerid] == 0)
{
SendClientMessage(playerid, ROUGE, "Vous ne pouvez pas vous tйlйporter maintenant");
return 1;
}
if(AutoriserTele[playerid] == 1)
{
if(strcmp(cmdtext, "/tourls", true) == 0) // Tйlйport 1
{
SetPlayerPos(playerid, 1544.4089,-1373.9717,329.9787);
msg(playerid, BLEUC, "Bienvenue a la tour de Los Santos !");
return 1;
}
if(strcmp(cmdtext, "/aa", true) == 0) // Tйlйport 2
{
SetPlayerPos(playerid, 427.30, 2499.40, 16.50, 180.00);
msg(playerid, BLEUC, "Bienvenue а l'aйroport abondonnй !");
return 1;
}
if(strcmp(cmdtext, "/als", true) ==0) // Tйlйport 3
{
SetPlayerPos(playerid,1769.3442,-2457.2092,13.5547);
msg(playerid, BLEUC, "Bienvenue а l' aйroport de Los Santos !");
return 1;
}
return SendClientMessage(playerid, COULEUR, "Cette commande est inconnue");
}
III. Utilisation de la variable
Maintenant, Nous allons apprendre а utiliser la variable, c'est а dire a quel moment changer la valeur de la variable et comment le faire.
Tout d'abord, voici la premiиre fonction qui permet de mettre la valeur а 0 et donc d'interdire nos tйlйportations :
PHP Code:
AutoriserTele[playerid] = 0;
PHP Code:
AutoriserTele[playerid] = 1;
Vous avez une commande /DM qui permet de se TP а un DM, on y met AutoriserTele[playerid] = 0; pour interdire les Tйlй pendant le DM.
Ensuite, Vous avez une autre commande /DMQ pour quitter le DM, vous y rajoutй AutoriserTele[playerid] = 1; pour que le joueur ait a nouveau accиs aux cmds.
Ce tuto est maintenant terminй, j'aimerais bien avoir vos rйactions ^^
Aller A+ !