SA-MP Forums Archive
Duda - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Duda (/showthread.php?tid=559095)



Duda - gaara13 - 21.01.2015

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);



Respuesta: Duda - jotajeda - 21.01.2015

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);



Respuesta: Duda - Fluid016 - 21.01.2015

GetPlayerPos(playerid, A, B,C );

por

GetPlayerPos(i, A, B,C );

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

IsPlayerNPC(i)


Respuesta: Duda - gaara13 - 21.01.2015

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;



Respuesta: Duda - Fluid016 - 21.01.2015

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;


Respuesta: Duda - gaara13 - 21.01.2015

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


Respuesta: Duda - OTACON - 21.01.2015

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;
}



Respuesta: Duda - gaara13 - 21.01.2015

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


Respuesta: Duda - Zume - 22.01.2015

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.


Respuesta: Duda - jotajeda - 22.01.2015

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?.