GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: .:: Miguel .:: le 27 Juin 2011, 20:47:14
-
salut j'ai créé un anti cheat quand les mec prends un minigun il et ban donc pour définir les arme j'ai fait sa
<?php
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38);
C:\Users\Administrateur\Desktop\La vie de voyons\gamemodes\lvdv.pwn(562) : error 036: empty statement
-
Depuis quand une condition est fermé par un point-virgule ?
-
Me suis mal prix je croi
forward CheatArme(playerid);
SetTimer("CheatArme",100);
<?php
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
Kick(playerid);
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!",pname);
SendClientMessage(playerid, COLOR_ORANGE,string,1);
{
return 1;
}
}
-
Tu ne trouve pas que ton tableau est un peu petit ?
[ANTI-CHEAT] vien de êtres kick pour utilisation d'arme interdite! = 67 caractères
new string[67 + MAX_PLAYER_NAME + 1];
Ensuite, il est interdit d'utilisé un type de variable en temps que nom de variable, je parle bien sûr de la variable string.
Encore une erreur, pourquoi la fonction SendClientMessage perd un argument en trop ?
{
return 1;
}
Pourquoi fait tu cela, c'est inutile !
return 1;
Ce qui donne ...
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
{
Kick(playerid);
}
new pname[MAX_PLAYER_NAME], string1[67 + MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, pname, sizeof(pname));
format(string1, sizeof(string1), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!", pname);
SendClientMessage(playerid, COLOR_ORANGE,string1);
return 1;
}
-
Merci je teste et désolé de t'avoir dérangé
EDITE : Sa me flood le message tout les 2sec
-
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
{
Kick(playerid);
}
new pname[MAX_PLAYER_NAME], string1[67 + MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, pname, sizeof(pname));
format(string1, sizeof(string1), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!", pname);
SendClientMessage(playerid, COLOR_ORANGE,string1);
return 1;
}
Pas envie de dire la ça dit juste que toute les 0.1 secondes si le joueur a telle arme on le kick et même si il n'a pas d'arme dans la liste on envoie le message. Le mieux serait de :
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
{
Kick(playerid);
new pname[MAX_PLAYER_NAME], string1[67 + MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, pname, sizeof(pname));
format(string1, sizeof(string1), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!", pname);
SendClientMessage(playerid, COLOR_ORANGE,string1);
}
return 1;
}
-
Je suis désolé, mais je suis le code que l'on me donne.
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
Kick(playerid);
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!",pname);
SendClientMessage(playerid, COLOR_ORANGE,string,1);
{
return 1;
}
}
Revient à faire:
public CheatArme(playerid)
{
new weaponID = GetPlayerWeapon(playerid);
if(weaponID == 18 || weaponID == 26 || weaponID == 27 || weaponID == 28 || weaponID == 32 || weaponID == 35 || weaponID == 36 || weaponID == 37 || weaponID == 38)
{
Kick(playerid);
}
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "[ANTI-CHEAT] %s vien de êtres kick pour utilisation d'arme interdite!",pname);
SendClientMessage(playerid, COLOR_ORANGE,string,1);
{
return 1;
}
}
Voici le code donné, je ne fais rien de plus.
-
Pas envie de dire la ça dit juste que toute les 0.1 secondes si le joueur a telle arme on le kick et même si il n'a pas d'arme dans la liste on envoie le message. Le mieux serait de :
C'était pas pour toi Xartrick :-[