• 19 Juillet 2026, 23:23:44


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - mjlayak

Pages: [1] 2 3 ... 10
1
Dans se tutoriel, je mettrais des lignes de script, puis nous les analyserons ensemble afin d'apprendre.
Commençons par l'une des commandes les plus basiques : /me et /do.


local cmd = split(command, " ");
cmd[0] = cmd[0].tolower();

if(cmd[0] == "/me")
{
if(cmd.len() < 2)
{
sendPlayerMessage(playerid, "USAGE: /me [text]");
return 1;
}
local text = command.slice(cmd[0].len()+1, command.len());
ProxDetector(20.0, playerid, getPlayerName(playerid) + " " + text, COLOR_ME, COLOR_ME,COLOR_ME,COLOR_ME, COLOR_ME);
return 1;
}


Dans cette commande, nous voyons plusieurs paramètres intéressant :

if(cmd[0] == "/me")
Cette première ligne, nous indique que si dans la chaine de caractère ( c'est à dire la commande que nous tapons ) le premier mot est /me, alors on continue est on poursuit le code, dans le cas contraire, on passe.

En bref, si je tape /me dans le chat, on exécute la suite du code, sinon on passe à une autre commande, ainsi de suite.


if(cmd.len() < 2)
{
sendPlayerMessage(playerid, "USAGE: /me [text]");
return 1;
}

Ces ligne là, nous indique que si la commande que l'on vient de taper fait moins de deux caractères, alors on affiche au joueurs le message suivant : USAGE: /me [text]
Le return 1; sert à "quitter" la commande.

Si on tape plus de deux caractères, alors on continue.


local text = command.slice(cmd[0].len()+1, command.len());
ProxDetector(20.0, playerid, getPlayerName(playerid) + " " + text, COLOR_ME, COLOR_ME,COLOR_ME,COLOR_ME, COLOR_ME);




2
Showroom SA:MP / Re : [FS/INC] Admin on Duty v1.3 - 90+ cmds!!!
« le: 23 Décembre 2011, 00:01:01 »
Salut j'ai un probleme . Cela viens encore des parametres sscanf .

Quand je fais par exemple /goto 5 ou plus, ca me dit que je ne peux pas me tp a moi ... Alors que je suis l'id 0 , si je mes l'id 1,2,3,4 , sa me tp a moi en disant Vous vous etes tp a l'id 1,2,3,4 ...
CMD:goto(playerid, params[])
{
if(GetAdminLevel(playerid) >= LEVEL_ANIMATEUR)
{
    new pid;
if(sscanf(params, "u", pid))
{
SendTypoMessage(playerid,"/goto [joueur]");
}
else
{
    if(pid == INVALID_PLAYER_ID)
    {
        SendErrorMessage(playerid, TAG "Ce joueur n'est pas connecté.");
    }
    else if(pid == playerid)
{
    SendErrorMessage(playerid, TAG "Tu ne peut pas te téléporter à toi!");
}
else
{
new tmp[128];
GetPlayerName(pid, tmp, MAX_PLAYER_NAME);
format(tmp, sizeof(tmp), TAG"Tu t'es téléporté vers %s[%d].", tmp, pid);
SendAInfoMessage(playerid, tmp);

#if defined SHOW_ADMINS

GetPlayerName(playerid, tmp, MAX_PLAYER_NAME);
format(tmp, sizeof(tmp), TAG"L'admin %s s'est téléporté à ta position.", tmp);
SendPInfoMessage(pid, tmp);

#endif

new Float:gX,Float:gY,Float:gZ;
GetPlayerPos(pid, gX, gY, gZ);
new PState = GetPlayerState(playerid);
new Interior = GetPlayerInterior(pid);
SetPlayerInterior(playerid, Interior);
if(PState == PLAYER_STATE_DRIVER)
{
new vehid = GetPlayerVehicleID(playerid);
gX += OFFSET_X;
gY += OFFSET_Y;
gZ += OFFSET_Z;
SetVehiclePos(vehid, gX, gY, gZ);
LinkVehicleToInterior(vehid, Interior);
    return 1;
}
else if(PState == PLAYER_STATE_PASSENGER)
{
RemovePlayerFromVehicle(playerid);
}
PState = GetPlayerState(pid);
if(PState == PLAYER_STATE_DRIVER)
{
    new vehid = GetPlayerVehicleID(pid);
    new PCount = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
{
        if(IsPlayerInVehicle(i,vehid))
{
PCount++;
}
}
if(PCount < PlacesInVehicle[GetVehicleModel(vehid)-400])
{
PutPlayerInVehicle(playerid, vehid, PCount);
return 1;
}
}
gX += OFFSET_X;
gY += OFFSET_Y;
gZ += OFFSET_Z;
SetPlayerPos(playerid, gX, gY, gZ);
}
}
}
else
{
SendLevelErrorMessage(playerid);
}
return 1;
}

3
Voici mon morceaux de code , et quand je fais la commande , /stats ça m'affiche server : Unknow Command , mais pourquoi car la commande existe ..


Un point assez important , la commande marche 1 fois sur ~50~ reboot de serveur .

Et la commande marche seulement quand je retires ça :

Ratio=floatdiv(pia[playerid][tuer],pia[playerid][mort]);
pias[playerid][scorea] = pia[playerid][tuer]/pia[playerid][mort]*aht/4;
if(strcmp(cmdtext,"/stats",true) == 0)
{
new sarank[56];
new arank[56];
new aht;
aht = GetPlayerMoney(playerid);
new Float:Ratio;
Ratio=floatdiv(pia[playerid][tuer],pia[playerid][mort]);
pias[playerid][scorea] = pia[playerid][tuer]/pia[playerid][mort]*aht/4;
if(GetAdminLevel(playerid)== 0){arank="Joueur";}
else if(GetAdminLevel(playerid)== 1){arank="Animateur";}
else if(GetAdminLevel(playerid)== 2){arank="Moderateur";}
else if(GetAdminLevel(playerid)== 3){arank="Moderateur principal";}
else if(GetAdminLevel(playerid)== 4){arank="Chef des moderateurs";}
else if(GetAdminLevel(playerid)== 5){arank="Administrateur";}
else if(GetAdminLevel(playerid)== 6){arank="Administrateur principal";}
else if(GetAdminLevel(playerid)== 7){arank="Chef des administrateur";}
else if(GetAdminLevel(playerid)== 8){arank="Sous Fondateur";}
else if(GetAdminLevel(playerid)== 9){arank="Fondateur";}
if(pias[playerid][scorea] <=1000){sarank="Civil '0'";}
else if(pias[playerid][scorea]>=1500){sarank="Recrue '1'";}
else if(pias[playerid][scorea]>=5500){sarank="Pioncier '2'";}
else if(pias[playerid][scorea]>=10000){sarank="Soldat '3'";}
else if(pias[playerid][scorea]>=25000){sarank="Caporal '4'";}
else if(pias[playerid][scorea]>=40000){sarank="Sergent '5'";}
else if(pias[playerid][scorea]>=75000){sarank="Staff Sergent '6'";}
else if(pias[playerid][scorea]>=150000){sarank="Sergeant First Class '7'";}
else if(pias[playerid][scorea]>=250000){sarank="Master Sergeant '8' ";}
else if(pias[playerid][scorea]>=500000){sarank="First Sergeant '9' ";}
else if(pias[playerid][scorea]>=750000){sarank="Sergeant Major '10' ";}
else if(pias[playerid][scorea]>=1000000){sarank="Major '11' ";}
else if(pias[playerid][scorea]>=1500000){sarank="Colonel '12' ";}
else if(pias[playerid][scorea]>=2000000){sarank="Command Sergeant Major '13' ";}
else if(pias[playerid][scorea]>=3000000){sarank="Sergeant-Major of the Army '14' ";}
else if(pias[playerid][scorea]>=5000000){sarank="Leader Sergeant-Major of the Army '15' ";}
SendClientMessage(playerid, COLOR_GREY,"----------------------------------STATS---------------------------------------");
format(tmp, sizeof(tmp), "-Nombre de personne tuer :  %d --- Nombre de fois mort : %d --- Argent : %d -",pia[playerid][tuer],pia[playerid][mort],GetPlayerMoney(playerid));
SendClientMessage(playerid, COLOR_BLUE,tmp);
format(tmp, sizeof(tmp), "-Mini gang : %d --- Rang : %d --- Ratio : %.4f --- Score Joueur : %d --- Rang Admin : %s-",pia[playerid][gangg],pia[playerid][rankg] , Ratio , pias[playerid][scorea] , arank );
SendClientMessage(playerid, COLOR_WHITE,tmp);
format(tmp, sizeof(tmp), "-Grade Millitaire :%s --- Event1 : %d --- Event2 : %d --- Event3 : %d -", sarank,pia[playerid][event1],pia[playerid][eventa2],pia[playerid][eventa3]);
SendClientMessage(playerid, COLOR_RED,tmp);
format(tmp, sizeof(tmp), "-Heure Jouer : %d-",pia[playerid][tempsjouer]);
SendClientMessage(playerid, COLOR_GREEN,tmp);
SendClientMessage(playerid, COLOR_GREEN,"_____________________________________________________________________________");
return 1;
}

4
Scripting SA-MP [Pawn center] / Re : Apprendre le scripting
« le: 15 Décembre 2011, 11:55:05 »
Exact , j'ai oublié cette information importante . Je pense que maintenant Snikers tu a assez d'information pour apprendre a coder .

5
Showroom SA:MP / Re : [FS]Create DeathMatch Ingame . [0.1]
« le: 12 Décembre 2011, 09:19:21 »
Je reprends le codage du FilterScript , Mercredi , une nouvelle version ameliorer avec de nouvelle fonctionnalité , comme l'achat d'arme pour certaines equipe , ou le multispawn , anti team-kill , anti spawn-kill ... Et possibilité de chnager le p du jeu type : GunGame , DeathMatch simple , brawls ...

6
Scripting SA-MP [Pawn center] / Re : Apprendre le scripting
« le: 12 Décembre 2011, 09:12:05 »
Je vais t'expliquer comment j'ai appris a coder , tout d'abbords j'ai téléchargé un script trés basique , puis j'ai regarder comment il etait constituer , aprés j'ai modifié des parametres et j'ai vus les changements , au final je savais que par exemple tel fonction sert a tel action. Au final je connaissais pas mal de fonction et le fonctionnement de Pawno .

7
Autre / Re : [Proposition] Scripteur
« le: 15 Août 2011, 13:00:53 »
C'est surtout que je n'est pas vraiment envie de me retrouver avec un administrateur principal ayant 14 ans et ne pouvant pas heberger sont serveur . Voir même un administrateur principal , fermant 2 semaines après pour des raisons méconnus . Aprés si les administrateurs font preuve de maturité , pas de probleme .

8
Autre / [Proposition] Scripteur
« le: 15 Août 2011, 12:54:19 »
Bonjour a tous , je suis maintenant scripteur depuis 1 ans , j'ai fais de multiple script . J'ai commencé le scriptage par un serveur DM , dans lequel j'ai appris toute les bases du scriptage . Ce serveur a tenu plus de 6 mois avant de fermer pour des raison plus personnel . Je suis maintenant en recherche d'un serveur pour pouvoir re-scripter . Le script fesait environ 12 000 lignes .

J'ai 16 ans , et j'en aurais bientot 17 . Malgrés mon âge vous devez savoir que je suis trés bon scripteur et je pourais vous le prouver .
Si vous souhaitez me contacté , envoyer un message par Message privée , je vous donnerez si vous respecté les conditions si dessous , mon adresse Mail , pour discuté plus facilement .

J'ai de très grande exigence :

Le propriétaire du serveur doit avoir obligatoirement +18 . ( Sauf pour preuve de grande maturité )
Le serveur ne doit pas être un serveur RP .
L'équipe des administrateurs doivent avoir plus de 16 ans . ( Sauf pour preuve de grande maturité )
Vous devez avoir le serveur heberger .
Et pour finir vous devez avoir une communauté sur votre serveur

Je ne suis pas un arnaqueur et je n'est aucune envie de hacker un serveur , m'ayant fait moi même hacker sur mon ancien serveur , je trouve que ceci est totalement idiot et sans intérêt .

9
Sa veut dire que si la condition ( Else ) et utilisé , la lecture du code va stopé . Si tu en mes pas sa continue . Tu dois retirer le Return 1; de la ligne 58996

10
Scripting SA-MP [Pawn center] / Re : Recherche script
« le: 30 Mars 2011, 16:24:53 »
J'aurais bien voulus aider mais cmme tu Insultes les autres membre de la communauté , je t'aideraispas . Sur ceux +

11
Le Return 1; que tu a placé ne sert a rien .
Return 1; veut que , l'action ( la suite du code ) n'est plus lus , sa s'arete la . Et la ton return 1; et placé entre 2 morceaux de acolade fermante . Donc sa vient de la

12
Pour la condition tu fais .

if(Alletage(playerid))
{
....
return 1;
}


Par contre je penses que le code va faire que le joueur sera  Tp si la condition est juste , or il y a pas de condition juste puisque sa tp ,donc je penses que tu a raté .

Tu peux faire .

public Alletage(playerid)
{
    if(IsPlayerConnected(playerid))
    {
    if(PlayerToPoint(4.0, playerid,1786.5812,-1300.8330,13.6188) || PlayerToPoint( ... 5 fois
                        if(PlayerToPoint(4.0, playerid,1786.5812,-1300.8330,13.6188) || PlayerToPoint( ... 5 fois
    if(PlayerToPoint(4.0, playerid,1786.5812,-1300.8330,13.6188) || PlayerToPoint( ... 5 fois
                        if(PlayerToPoint(4.0, playerid,1786.5812,-1300.8330,13.6188) || PlayerToPoint( ... 5 fois
return 1;
   }
return 0;

}

13
Showroom SA:MP / [FS]Create DeathMatch Ingame . [0.1]
« le: 28 Mars 2011, 18:21:17 »
Je vous présentes ma toute première création que je postes .



Je les fais en priorité pour mon serveur DeathMatch , mais je postes la version n°0.1 . Des versions supérieur viendrons s'ajouter pour corrigé les bugs ou pour rendre le script plus intéressant .


Le système consistes a faire des DeathMatchs , In Game , pour les rejoindre ensuite en faisant une commande .

Vous faites /creerdm1 [N°DM] pour crée le spawn de la team 1 , et les armes de toute les équipes . Les armes correspondes au arme que vous possedez et les balles egalement .
Vous faites /creerdm2 [N°DM]  pour crée le spawn de la team 2 .
Pour vous donnez des armes /Donnergun est disponible .
/adm1/8 pour rejoindre un dm que vous avez crée .

Citer
0.2 :

Choix des arme de chaque team , séparément .
Possibilité de rajouté 2 teams ( En plus des 2 ) .
Deux armes supplémentaire par team .
Possibilité de choixir le virtualWorld .
Vous rejoignez ensuite en faisant /dm[Numéro du DM]

Citer
http://solidfiles.com/d/c5fc2/

http://pastebin.gtaonline.fr/pastebin.php?show=1072




[/font]


14
Scripting SA-MP [Pawn center] / Re : /handsup performant
« le: 28 Mars 2011, 16:07:54 »
Tu peux me montré la calback :
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{

15
Scripting SA-MP [Pawn center] / Re : /handsup performant
« le: 28 Mars 2011, 15:17:04 »
Aerotun , c'est exactement pareils , sauf qu'il faut utilisé les Key . Tu rajoutes une condition .

# En haut du script #

new menote[MAX_PLAYERS];
# Dans le script de la touche ENTRER #


if(menote[playerid]==1)
{
SendClientMessage(playerid,COULEUR,"Vous ne pouvez pas sortir de l'animation en etant menoté.");
return 1;
}


# Dans le code /menoter #

.... Si le joueur est menoté ....
menote[playerid]=0;.... Si le joueur n'est pas menoté ....

menote[playerid]=1;

Pages: [1] 2 3 ... 10