#1

la ultima del dia
como le hago para no quemarme yo jajajaa
desde ya gracias
pawn Код:
if (strcmp("/quemartodos", cmd, true, 10) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2) {
GetPlayerName(playerid,NAME,MAX_PLAYER_NAME);
    for(new i = 0; i < MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i) && (i != playerid)) {
            if(IsPlayerNPC(playerid)) return 1;
GetPlayerPos(playerid, A, B,C );
CreateExplosion(A, B , C + 3, 1, 10);
format(string,sizeof string,"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",NAME);
SendClientMessageToAll(0xFF0000FF, string);
Reply
#2

Aсades al playerid para que retorne y no se aplique lo de abajo.
En este caso
if(IsPlayerNPC(playerid) && playerid) return 1;

pawn Код:
if (strcmp("/quemartodos", cmd, true, 10) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2) {
GetPlayerName(playerid,NAME,MAX_PLAYER_NAME);
    for(new i = 0; i < MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i) && (i != playerid)) {
            if(IsPlayerNPC(playerid) && playerid) return 1;
GetPlayerPos(playerid, A, B,C );
CreateExplosion(A, B , C + 3, 1, 10);
format(string,sizeof string,"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",NAME);
SendClientMessageToAll(0xFF0000FF, string);
Reply
#3

GetPlayerPos(playerid, A, B,C );

por

GetPlayerPos(i, A, B,C );

y IsPlayerNPC(playerid) estб mal tienes que poner i

IsPlayerNPC(i)
Reply
#4

pawn Код:
if (strcmp("/quemartodos", cmd, true, 10) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2) {
GetPlayerName(playerid,NAME,MAX_PLAYER_NAME);
    for(new i = 0; i < MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i) && (i != playerid)) {
            if(IsPlayerNPC(i) && playerid) return 1;
GetPlayerPos(i, A, B,C );
CreateExplosion(A, B , C + 3, 1, 10);
format(string,sizeof string,"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",NAME);
SendClientMessageToAll(0xFF0000FF, string);

}
}
}
return 1;
}
listo ahora quedo asi pero no me deja usar el comando creo que es por el return me bloquea el comando
pawn Код:
if(IsPlayerNPC(playerid) && playerid) return 1;
Reply
#5

Quote:
Originally Posted by gaara13
Посмотреть сообщение
pawn Код:
if (strcmp("/quemartodos", cmd, true, 10) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2) {
GetPlayerName(playerid,NAME,MAX_PLAYER_NAME);
    for(new i = 0; i < MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i) && (i != playerid)) {
            if(IsPlayerNPC(i) && playerid) return 1;
GetPlayerPos(i, A, B,C );
CreateExplosion(A, B , C + 3, 1, 10);
format(string,sizeof string,"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",NAME);
SendClientMessageToAll(0xFF0000FF, string);

}
}
}
return 1;
}
listo ahora quedo asi pero no me deja usar el comando creo que es por el return me bloquea el comando
pawn Код:
if(IsPlayerNPC(playerid) && playerid) return 1;
if(IsPlayerNPC(i)) return 1;

pon eso en ves de if(IsPlayerNPC(playerid) && playerid) return 1;
Reply
#6

Quote:
Originally Posted by Fluid016
Посмотреть сообщение
if(IsPlayerNPC(i)) return 1;

pon eso en ves de if(IsPlayerNPC(playerid) && playerid) return 1;
pasa lo mismo me bloquea el comando gracias amigo ya lo soluciones a si mira

pawn Код:
if (strcmp("/quemartodos", cmd, true, 10) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 2) {
GetPlayerName(playerid,NAME,MAX_PLAYER_NAME);
    for(new i = 0; i < MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i) && (i != playerid)) {
            if(IsPlayerNPC(i)) return 1;
            if (PlayerInfo[playerid][pAdmin] >= 2){
            SendClientMessage(playerid, color1 " ");
            }
GetPlayerPos(i, A, B,C );
CreateExplosion(A, B , C + 3, 1, 10);
format(string,sizeof string,"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",NAME);
SendClientMessageToAll(0xFF0000FF, string);

}
}
}
return 1;
}
igual me sirviу sus explicaciones para mejorar mis cуdigos muchas gracias
Reply
#7

pawn Код:
if(strcmp("/quemartodos", cmd, true, 10) == 0){
    if(PlayerInfo[playerid][pAdmin] >= 2){
        #define COLOR_QUEMAR 0xFF0000FF
        new
            name[25],
            Float:pos[3],
            data[144];
        GetPlayerName(playerid,name,sizeof(name));
       
        for(new user=0; user<GetMaxPlayers(); user++){
            if(!IsPlayerConnected(user))continue;
            if(IsPlayerNPC(user)continue;
            if(user==playerid)continue;
           
            GetPlayerPos(user, pos[0],pos[1],pos[2]);
            CreateExplosion(pos[0],pos[1],pos[2] + 3, 1, 10);
        }
       
        format(data,sizeof(data),"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",name);
        SendClientMessageToAll(COLOR_QUEMAR, data);
       
    } else SendClientMessage(playerid,-1, "no eres administrador");
    return true;
}
Reply
#8

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
if(strcmp("/quemartodos", cmd, true, 10) == 0){
    if(PlayerInfo[playerid][pAdmin] >= 2){
        #define COLOR_QUEMAR 0xFF0000FF
        new
            name[25],
            Float:pos[3],
            data[144];
        GetPlayerName(playerid,name,sizeof(name));
       
        for(new user=0; user<GetMaxPlayers(); user++){
            if(!IsPlayerConnected(user))continue;
            if(IsPlayerNPC(user)continue;
            if(user==playerid)continue;
           
            GetPlayerPos(user, pos[0],pos[1],pos[2]);
            CreateExplosion(pos[0],pos[1],pos[2] + 3, 1, 10);
        }
       
        format(data,sizeof(data),"el admin %s se puso loco y quemo a todos matenlo al hijo de puta",name);
        SendClientMessageToAll(COLOR_QUEMAR, data);
       
    } else SendClientMessage(playerid,-1, "no eres administrador");
    return true;
}
Gracias OTACON si sirve una pregunta esta linea es la que hace que no me que queme verdad

pawn Код:
if(user==playerid)continue;

si use es igual a playerid (el que manda el comando) lo salta y a el no le hace nada algo asi verdad
Reply
#9

Eso estб condicionando a que cuando el loop estй por el ID del que accionу el comando se lo salte (continue) y no aplique la funciуn a йl.
Reply
#10

Quote:
Originally Posted by _Zume
Посмотреть сообщение
Eso estб condicionando a que cuando el loop estй por el ID del que accionу el comando se lo salte (continue) y no aplique la funciуn a йl.
y sin loop o bucle como se aplicarнa un continue?.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)