Ayuda facil
#1

Queria saber como hacer para que si el player es un Npc, no lo deje jailear

pawn Код:
if(strcmp(cmd, "/ajail", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtokex(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

new player1;
if(!IsNumeric(tmp))
player1 = ReturnUser(tmp,playerid);
else player1 = strval(tmp);

new time;
tmp = strtokex(cmdtext, idx);
time = strval(tmp);
if(!IsNumeric(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }
format(string, sizeof(string), ""%s" ha sido encarcelado/a %d Minuto(s) por "%s"! Razon: %s", pName(player1), time, pName(playerid), (result));
SendClientMessageToAll(Rojo, string);
format(string, sizeof(string), "* Has encarcelado a "%s"(%d)", pName(player1),player1);
SendClientMessage(playerid, AzulClaro, string);
format(string, sizeof(string), "* Has sido encarcelado por "%s"", pName(playerid));
SendClientMessage(player1, AzulClaro, string);
new hour,minute,second,year,month,day;
gettime(hour,minute,second);
getdate(year, month, day);
new query[1024];
format(query, 1024, "INSERT INTO `ajails` (`ajaileado`, `ajailer`, `razon`, `tiempo`, `fecha`) VALUES ('%s','%s','%s',%d,'%d:%d:%d | %d-%d-%d')", pNameEx(player1), pNameEx(playerid), (result), time,

hour,minute,second,day,month,year);
mysql_query(query);
printf("ADMINLOG: %s ha jaileado a %s - Razon: %s.", pName(playerid),pName(player1),(result));
PlayerInfo[player1][pJailed] = 2;
PlayerInfo[player1][pJailTime] = time;
SaveValues(playerid,"Encarcelado");
SetTimerEx("JailPlayerOOC",100,0,"d",player1);
}
else { SendClientMessage(playerid,Rojo,"ERROR: Jugador no conectado."); }
}
else { SendClientMessage(playerid,Rojo,"* No eres miembro del Staff!"); }

return 1;
}
Reply
#2

Utiliza la funcion IsPlayerNPC.
Reply
#3

Asн:

pawn Код:
if(strcmp(cmd, "/ajail", true) == 0)
{

if (PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtokex(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

new player1;
if(!IsNumeric(tmp))
player1 = ReturnUser(tmp,playerid);
else player1 = strval(tmp);

if(IsPlayerNPC(player1)) // Si es un NPC.
{
SendClientMessage(playerid,Rojo,"ERROR: No podes jailear a un NPC.");
return 1;
}

new time;
tmp = strtokex(cmdtext, idx);
time = strval(tmp);
if(!IsNumeric(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }
format(string, sizeof(string), ""%s" ha sido encarcelado/a %d Minuto(s) por "%s"! Razon: %s", pName(player1), time, pName(playerid), (result));
SendClientMessageToAll(Rojo, string);
format(string, sizeof(string), "* Has encarcelado a "%s"(%d)", pName(player1),player1);
SendClientMessage(playerid, AzulClaro, string);
format(string, sizeof(string), "* Has sido encarcelado por "%s"", pName(playerid));
SendClientMessage(player1, AzulClaro, string);
new hour,minute,second,year,month,day;
gettime(hour,minute,second);
getdate(year, month, day);
new query[1024];
format(query, 1024, "INSERT INTO `ajails` (`ajaileado`, `ajailer`, `razon`, `tiempo`, `fecha`) VALUES ('%s','%s','%s',%d,'%d:%d:%d | %d-%d-%d')", pNameEx(player1), pNameEx(playerid), (result), time,

hour,minute,second,day,month,year);
mysql_query(query);
printf("ADMINLOG: %s ha jaileado a %s - Razon: %s.", pName(playerid),pName(player1),(result));
PlayerInfo[player1][pJailed] = 2;
PlayerInfo[player1][pJailTime] = time;
SaveValues(playerid,"Encarcelado");
SetTimerEx("JailPlayerOOC",100,0,"d",player1);
}
else { SendClientMessage(playerid,Rojo,"ERROR: Jugador no conectado."); }
}
else { SendClientMessage(playerid,Rojo,"* No eres miembro del Staff!"); }

return 1;
}
Reply
#4

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Asн:

pawn Код:
if(strcmp(cmd, "/ajail", true) == 0)
{

if (PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtokex(cmdtext, idx);
if(!strlen(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

new player1;
if(!IsNumeric(tmp))
player1 = ReturnUser(tmp,playerid);
else player1 = strval(tmp);

if(IsPlayerNPC(player1)) // Si es un NPC.
{
SendClientMessage(playerid,Rojo,"ERROR: No podes jailear a un NPC.");
return 1;
}

new time;
tmp = strtokex(cmdtext, idx);
time = strval(tmp);
if(!IsNumeric(tmp)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }

if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) { SendClientMessage(playerid, Blanco, "USO: /ajail [IdJugador/ParteDelNombre] [tiempo] [razon]"); return 1; }
format(string, sizeof(string), ""%s" ha sido encarcelado/a %d Minuto(s) por "%s"! Razon: %s", pName(player1), time, pName(playerid), (result));
SendClientMessageToAll(Rojo, string);
format(string, sizeof(string), "* Has encarcelado a "%s"(%d)", pName(player1),player1);
SendClientMessage(playerid, AzulClaro, string);
format(string, sizeof(string), "* Has sido encarcelado por "%s"", pName(playerid));
SendClientMessage(player1, AzulClaro, string);
new hour,minute,second,year,month,day;
gettime(hour,minute,second);
getdate(year, month, day);
new query[1024];
format(query, 1024, "INSERT INTO `ajails` (`ajaileado`, `ajailer`, `razon`, `tiempo`, `fecha`) VALUES ('%s','%s','%s',%d,'%d:%d:%d | %d-%d-%d')", pNameEx(player1), pNameEx(playerid), (result), time,

hour,minute,second,day,month,year);
mysql_query(query);
printf("ADMINLOG: %s ha jaileado a %s - Razon: %s.", pName(playerid),pName(player1),(result));
PlayerInfo[player1][pJailed] = 2;
PlayerInfo[player1][pJailTime] = time;
SaveValues(playerid,"Encarcelado");
SetTimerEx("JailPlayerOOC",100,0,"d",player1);
}
else { SendClientMessage(playerid,Rojo,"ERROR: Jugador no conectado."); }
}
else { SendClientMessage(playerid,Rojo,"* No eres miembro del Staff!"); }

return 1;
}
Solo que agregale un ! al inicio de IsPlayerNPC, si no, el jail solo funcionara con NPCs
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)