tengo problema con el comando /banear. ayudenme
#1

Buenas, miren toy creando mi comando pero no se que le falta, cuando entro al game pongo banear todo y sale pero no me sale por que lo banee y no lo expulsa nada etc. aver si me ayudan a completar el comando. uso ZCMD gracias

PHP код:
CMD:banear(playeridparams[])
{
    new 
string[128],
    
playername[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernamesizeof(playername));
    
format(stringsizeof(string), "{FFFFFF}El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}."playername);
    
SendClientMessage(playeridCOLOR_WHITEstring);
    
Ban(i);
return 
1;

Reply
#2

pawn Код:
/* Arriba de todo, pero por debajo de los Include */
#define function%0(%1)  forward %0(%1); public %0(%1)

/* Sustituye */
CMD:banear(playerid, params[])
{
    new string[80+MAX_PLAYER_NAME*2+28], motivo[28];
    if(sscanf(params, "ds",  params[0], motivo)) {
    SendClientMessage(playerid, -1, "Syntax: /banear [playerid] [razуn]");
    return 1;
    }
    format(string, sizeof(string), "El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", GetPlayerNameEX(params[0], motivo));
    SendClientMessageToAll(COLOR_WHITE, string);
    BanEx(params[0]);
   
return 1;
}

/* En la ultima linea del GM */
stock BanEx(playerid) return SetTimerEx("banear", 200, false, "i", playerid);
function banear(playerid) return Ban(playerid);

stock GetPlayerNameEx(playerid)
{

    new
        sz_playerName[MAX_PLAYER_NAME],
        i_pos;

    GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
    while ((i_pos = strfind(sz_playerName, "_", false, i_pos)) != -1) sz_playerName[i_pos] = ' ';
    return sz_playerName;
}
Reply
#3

mira si te funciona asн saludos!!

pawn Код:
CMD:banear(playerid, params[])
{
    new string[128], id, razon[128];
    if(sscanf, "rs[128]", id, razon)) params[1])) return SendClientMessage(playerid, red, "[USA]: /banear [playerid] [razуn]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, red,"[ERROR]: Player no Conectado");
    if(id == playerid) return SendClientMessage(playerid, red, "[ERROR]: No puedes darte Ban a ti Mismo!");
    format(string, sizeof(string), "{FFFFFF}El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", pName(id), razon);
    SendClientMessageToAll(playerid, COLOR_WHITE, string);
    SetTimerEx("DarBan", 300,0, "d",id);
    return 1;
}
define pName & DarBan

pawn Код:
stock pName(playerid)
{
  new name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, name, sizeof(name));
  return name;
}

forward DarBan(playerid);
public DarBan(playerid)
{
    Ban(playerid);
}
Reply
#4

Quote:
Originally Posted by !R1Ch@rD!
Посмотреть сообщение
mira si te funciona asн saludos!!

pawn Код:
CMD:banear(playerid, params[])
{
    new string[128], id, razon[128];
    if(sscanf, "rs[128]", id, razon)) params[1])) return SendClientMessage(playerid, red, "[USA]: /banear [playerid] [razуn]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, red,"[ERROR]: Player no Conectado");
    if(id == playerid) return SendClientMessage(playerid, red, "[ERROR]: No puedes darte Ban a ti Mismo!");
    format(string, sizeof(string), "{FFFFFF}El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", pName(id), razon);
    SendClientMessageToAll(playerid, COLOR_WHITE, string);
    SetTimerEx("DarBan", 300,0, "d",id);
    return 1;
}
define pName & DarBan

pawn Код:
stock pName(playerid)
{
  new name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, name, sizeof(name));
  return name;
}

forward DarBan(playerid);
public DarBan(playerid)
{
    Ban(playerid);
}
Dat code.

pawn Код:
forward DarBan(playerid);
public DarBan(playerid)   Ban(playerid);
Reply
#5

Quote:
Originally Posted by Ecologic
Посмотреть сообщение
Dat code.

pawn Код:
forward DarBan(playerid);
public DarBan(playerid)   Ban(playerid);
eh?? ._. no seria lo mismo?
Reply
#6

Quote:
Originally Posted by !R1Ch@rD!
Посмотреть сообщение
eh?? ._. no seria lo mismo?
Funciona igual, pero la diferencia es que te ahorraste lineas innecesarias. :v
Reply
#7

Quote:
Originally Posted by Ecologic
Посмотреть сообщение
pawn Код:
/* Arriba de todo, pero por debajo de los Include */
#define function%0(%1)  forward %0(%1); public %0(%1)

/* Sustituye */
CMD:banear(playerid, params[])
{
    new string[80+MAX_PLAYER_NAME*2+28], motivo[28];
    if(sscanf(params, "ds",  params[0], motivo)) {
    SendClientMessage(playerid, -1, "Syntax: /banear [playerid] [razуn]");
    return 1;
    }
    format(string, sizeof(string), "El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", GetPlayerNameEX(params[0], motivo));
    SendClientMessageToAll(COLOR_WHITE, string);
    BanEx(params[0]);
   
return 1;
}

/* En la ultima linea del GM */
stock BanEx(playerid) return SetTimerEx("banear", 200, false, "i", playerid);
function banear(playerid) return Ban(playerid);

stock GetPlayerNameEx(playerid)
{

    new
        sz_playerName[MAX_PLAYER_NAME],
        i_pos;

    GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
    while ((i_pos = strfind(sz_playerName, "_", false, i_pos)) != -1) sz_playerName[i_pos] = ' ';
    return sz_playerName;
}
Hola mens mira me da 2 errores.

PHP код:
 error 017undefined symbol "GetPlayerNameEX"
error 021symbol already defined"BanEx" 
Reply
#8

Quote:
Originally Posted by Smiht
Посмотреть сообщение
Hola mens mira me da 2 errores.

PHP код:
 error 017undefined symbol "GetPlayerNameEX"
error 021symbol already defined"BanEx" 
pawn Код:
/* Sustituye */
CMD:banear(playerid, params[])
{
    new string[80+MAX_PLAYER_NAME*2+28], motivo[28];
    if(sscanf(params, "ds",  params[0], motivo)) {
    SendClientMessage(playerid, -1, "Syntax: /banear [playerid] [razуn]");
    return 1;
    }
    format(string, sizeof(string), "El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", GetPlayerNameEx(params[0], motivo));
    SendClientMessageToAll(COLOR_WHITE, string);
    BanEx(params[0]);
   
return 1;
}
y el segundo error es por que ya tenнas esa funciуn definida, puedes borrar la linea que te dн, osea esta:

pawn Код:
stock BanEx(playerid) return SetTimerEx("banear", 200, false, "i", playerid);
function banear(playerid) return Ban(playerid);
Tampoco vas a necesitar el macro de "function", asн que puedes borrarlo, pero te ahorra muchas lineas en un futuro.

pawn Код:
#define function%0(%1)  forward %0(%1); public %0(%1)
Al borrar estas cosas, y no te funciona, pбsame el BanEx que tengas actualmente (el cуdigo).
Reply
#9

Quote:
Originally Posted by Ecologic
Посмотреть сообщение
pawn Код:
/* Sustituye */
CMD:banear(playerid, params[])
{
    new string[80+MAX_PLAYER_NAME*2+28], motivo[28];
    if(sscanf(params, "ds",  params[0], motivo)) {
    SendClientMessage(playerid, -1, "Syntax: /banear [playerid] [razуn]");
    return 1;
    }
    format(string, sizeof(string), "El jugador {FF4500}%s {FFFFFF}fue baneado por un admin. Razуn: {FF4500}%s{FFFFFF}.", GetPlayerNameEx(params[0], motivo));
    SendClientMessageToAll(COLOR_WHITE, string);
    BanEx(params[0]);
   
return 1;
}
y el segundo error es por que ya tenнas esa funciуn definida, puedes borrar la linea que te dн, osea esta:

pawn Код:
stock BanEx(playerid) return SetTimerEx("banear", 200, false, "i", playerid);
function banear(playerid) return Ban(playerid);
Tampoco vas a necesitar el macro de "function", asн que puedes borrarlo, pero te ahorra muchas lineas en un futuro.

pawn Код:
#define function%0(%1)  forward %0(%1); public %0(%1)
Al borrar estas cosas, y no te funciona, pбsame el BanEx que tengas actualmente (el cуdigo).
gracias men me funciono, pero una duda cuando doy /banear 0 sonso me dice defrente server close the conection y no me dice el jugador %s fue baneado por un admin- razom %s. comolo soluciono gracias'
Reply
#10

Control + F Y tecleas "BanEx" y pбsame el cуdigo que tenga

por ejemplo si encuentras

pawn Код:
public BanEx(playerid)
{
// varios cуdigos
return 1;
}
Pбsame eso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)