ayudaaa
#1

ola amigos les cuento que tengo un problema con los canales de administracion cuando mando 1 mensaje siendo admin 2 tambien envia otro siendo admin 3 por que pasa esto? aka les dejo el codigo creo que es algo de aka
pawn Код:
format(string, sizeof(string),"(( Admin Nivel 1(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin1,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
format(string, sizeof(string),"(( Admin Nivel 2(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin2,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] >= 3)
{
format(string, sizeof(string),"(( Admin Nivel 3 (ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin3,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string, sizeof(string),"(( Admin Nivel 4(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin4,string);
printf("%s",string);
}
Reply
#2

Quote:
Originally Posted by Ruiz_Daniel
Посмотреть сообщение
ola amigos les cuento que tengo un problema con los canales de administracion cuando mando 1 mensaje siendo admin 2 tambien envia otro siendo admin 3 por que pasa esto? aka les dejo el codigo creo que es algo de aka
pawn Код:
format(string, sizeof(string),"(( Admin Nivel 1(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin1,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
format(string, sizeof(string),"(( Admin Nivel 2(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin2,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] >= 3)
{
format(string, sizeof(string),"(( Admin Nivel 3 (ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin3,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string, sizeof(string),"(( Admin Nivel 4(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin4,string);
printf("%s",string);
}
Hola, Bueno el problema seria que estas usando ">= mayor o igual" en el Admin 3, enves de usar " == igual"

La Solucion seria esta,
pawn Код:
format(string, sizeof(string),"(( Admin Nivel 1(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin1,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
format(string, sizeof(string),"(( Admin Nivel 2 (ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin2,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 3)
{
format(string, sizeof(string),"(( Admin Nivel 3(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin3,string);
printf("%s",string);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string, sizeof(string),"(( Admin Nivel 4(ID: %d) %s: %s ))",playerid, sendername, result);
OOCOff(ColorAdmin4,string);
printf("%s",string);
}
Saludos.
Reply
#3

Estбs usando mal los operadores, seria todos "==", ya que se utiliza, para comparar dos valores, ademas, te recomiendo que lo hagas con switch y case, no con la condiciуn IF, ya que mejorara su optimizaciуn.
Reply
#4

pawn Код:
new textonivel[20];
switch(PlayerInfo[playerid][pAdmin]){
    case 2:{textonivel="Nivel 2";} //es administrador nivel 2
    case 3:{textonivel="Nivel 3";} //es administrador nivel 3
    case 4:{textonivel="Nivel 4";} //es administrador nivel 4
    //ETC...
}
format(string, sizeof(string),"(( Admin %s(ID: %d) %s: %s ))",textonivel, playerid, sendername, result);
OOCOff(ColorAdmin1,string);
http://pastebin.com/L9Th5wyz
http://pastebin.com/u/OtaconEvil
Reply
#5

pawn Код:
format(string, sizeof(string),"(( Admin Nivel %d(ID: %d) %s: %s ))",PlayerInfo[playerid][pAdmin], playerid, sendername, result);
OOCOff(ColorAdmin1,string);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)