[AYUDA] No se poner las IDs a la vista.
#21

Quote:
Originally Posted by pagaromx96
View Post
ok deja te lo ago yo alo de los colores
Ok, Lo unico que quiero es
que es mi GM cuando los jugares hablen, apareca su ID: y eso lo ise, gracias a The_chaoz entonces
al hacer eso, me dejo de funcionan unos comandos que tenia en mi GM los comandos eran para rcon admin
y se vasaban en que yo ponia /Rcolor y podia hablar azul entero Nick y Texto... si me puedes hacer el comando
de yo poder hablar de colores Nick y text para el sistema de admin te lo agradeceria
Reply
#22

Quote:
Originally Posted by EraserG
View Post
Ok, Lo unico que quiero es
que es mi GM cuando los jugares hablen, apareca su ID: y eso lo ise, gracias a The_chaoz entonces
al hacer eso, me dejo de funcionan unos comandos que tenia en mi GM los comandos eran para rcon admin
y se vasaban en que yo ponia /Rcolor y podia hablar azul entero Nick y Texto... si me puedes hacer el comando
de yo poder hablar de colores Nick y text para el sistema de admin te lo agradeceria
te ise un FS ya te lo deje echo xD fijate atras
Reply
#23

Quote:
Originally Posted by EraserG
View Post
Ok, Lo unico que quiero es
que es mi GM cuando los jugares hablen, apareca su ID: y eso lo ise, gracias a The_chaoz entonces
al hacer eso, me dejo de funcionan unos comandos que tenia en mi GM los comandos eran para rcon admin
y se vasaban en que yo ponia /Rcolor y podia hablar azul entero Nick y Texto... si me puedes hacer el comando
de yo poder hablar de colores Nick y text para el sistema de admin te lo agradeceria
ya te di la solucion. cambia el SendPlayerMessageToAll, por SendClientMessageToAll
Reply
#24

Quote:
Originally Posted by the_chaoz
View Post
ya te di la solucion. cambia el SendPlayerMessageToAll, por SendClientMessageToAll
creo que si quiere seguir usando su FS tiene que aser lo que desis vos xD

PD: xD che te fijas mi post de Kick/Ban creo que capas sepas lo que es
Reply
#25

EraserG, en el codigo qure te paso the_chaoz cambia "SendPlayerMessageToAll" por "SendClientMessageToAll", asi funcionarб.
Reply
#26

Quote:
Originally Posted by the_chaoz
View Post
ya te di la solucion. cambia el SendPlayerMessageToAll, por SendClientMessageToAll
Cambio lo que me dijiste y ahora volvi al principio pero con mas problemas...
Mira antes mi problema era que no se veian la ID
Me dices la solucion, Pero me di cuenta que
Los comandos Rcon que tenia para hablar de color admin
/Rcolor /Rrojo etc No me funcionanvan por que solo me cambiaba el color de el nick y el text aparecia de color blanco
despues me dijiste que la Solucion era cambiarlo a SendClientMessageToAll lo cambie y ahora me pasa esto
La ID otra ves no la puedo ver, y pongo los comandos rcon que tenia /Rcolor /Rverde etc
me sali asi:
Como lo soluciono, si sabes te lo agradesco si no sabes igual por la ayuda.
Reply
#27

pawn Code:
public OnPlayerText(playerid, text[])
{
    new str[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s[%i]: %s", name, playerid, text);
    SendClientMessageToAll(color, str);
    return 0;
}
Reply
#28

Quote:
Originally Posted by EraserG
View Post
Cambio lo que me dijiste y ahora volvi al principio pero con mas problemas...
Mira antes mi problema era que no se veian la ID
Me dices la solucion, Pero me di cuenta que
Los comandos Rcon que tenia para hablar de color admin
/Rcolor /Rrojo etc No me funcionanvan por que solo me cambiaba el color de el nick y el text aparecia de color blanco
despues me dijiste que la Solucion era cambiarlo a SendClientMessageToAll lo cambie y ahora me pasa esto
La ID otra ves no la puedo ver, y pongo los comandos rcon que tenia /Rcolor /Rverde etc
me sali asi:
Como lo soluciono, si sabes te lo agradesco si no sabes igual por la ayuda.
¬¬ cambia tu fs para hablar en color por este
pawn Code:
#include <a_samp>

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#define ROJO_ADM    0xD63034AA
#define ROSA_ADM    0xEE82EEAA
#define ROJO        0xAA3333AA
#define VERDE_ADM   0x0DE018AA
#define COLOR_ADM   0x2587CEFF

new admchat[MAX_PLAYERS];//esto podes cambiarlo
new admrojo[MAX_PLAYERS];//lomismo de arriba
new admrosa[MAX_PLAYERS];//lo mismo de arriba
new admverde[MAX_PLAYERS];//lo mismo

public OnPlayerConnect(playerid)
{
admchat[playerid] = 0;  // esto es Callback donde define cuando entras tengas el color del admin en '0'
admrojo[playerid] = 0;// lo mismo
admrosa[playerid] = 0;//lo mismo
admverde[playerid] = 0;//lo mismo

return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(azul,4,cmdtext);// Aca va el comando que quieras si es Azul lleva 4 letras entonses pones 4 o por la cantidad de letras que tenga tu comando
dcmd(rojo, 4,cmdtext);// aca lo mismo
dcmd(rosa, 4,cmdtext);//lomismo
dcmd(verde, 5,cmdtext);//lo mismo aca
return 0;
}

public OnPlayerText(playerid, text[])// esto es el Texto
{
if(admchat[playerid] == 1)
    {
    new Textoo[256];
    new name[255];
    GetPlayerName(playerid, name, sizeof(name));
    format(Textoo, sizeof(Textoo), "%s: %s", name, text); //lo de %s es el Nick y el otro %s es lo que dise
    SetPlayerColor(playerid,COLOR_ADM ); // esto es el color del Nick que cambia
    SendClientMessageToAll(COLOR_ADM, Textoo);//esto es el color del Texto Cambia al Activarlo
    return 0;//aca bamos ha poner siempre return 0;
    }                                                                              

if(admrojo[playerid] == 1)//lo mismo con todo los de abajos
    {
    new Textoo[256];
    new name[255];
    GetPlayerName(playerid, name, sizeof(name));
    format(Textoo, sizeof(Textoo), "%s: %s", name, text);
    SetPlayerColor(playerid,ROJO_ADM );
    SendClientMessageToAll(ROJO_ADM, Textoo);
    return 0;
    }
if(admrosa[playerid] == 1)
    {
    new Textoo[256];
    new name[255];
    GetPlayerName(playerid, name, sizeof(name));
    format(Textoo, sizeof(Textoo), "%s: %s", name, text);
    SetPlayerColor(playerid,ROSA_ADM );
    SendClientMessageToAll(ROSA_ADM, Textoo);
    return 0;
    }

if(admverde[playerid] == 1)
    {
    new Textoo[256];
    new name[255];
    GetPlayerName(playerid, name, sizeof(name));
    format(Textoo, sizeof(Textoo), "%s: %s", name, text);
    SetPlayerColor(playerid,VERDE_ADM );
    SendClientMessageToAll(VERDE_ADM, Textoo);
    return 0;
    }
return 1; //como este es el ultimo siempre abajo del return 0; tiene que ir un return 1; y }
}



dcmd_azul(playerid,params[]) {
    #pragma unused params
    if(IsPlayerAdmin(playerid)) {
    if(admchat[playerid] == 0) {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admchat[playerid] = 1;
    return SendClientMessage(playerid,0x33CC00FF,"Color, Azul Actнvado");
    }
    else
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admchat[playerid] = 0;
    return SendClientMessage(playerid,0xAA3333AA,"Color, Azul Desactнvado");
    }}
    else return 0;
    }

dcmd_rojo(playerid,params[]) {
    #pragma unused params
    if(IsPlayerAdmin(playerid)) {
    if(admrojo[playerid] == 0) {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admrojo[playerid] = 1;
    return SendClientMessage(playerid,0x33CC00FF,"Color, Rojo Actнvado");
    }
    else
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admrojo[playerid] = 0;
    return SendClientMessage(playerid,0xAA3333AA,"Color, Rojo Desactнvado");
    }}
    else return 0;
    }
   
    dcmd_rosa(playerid,params[]) {
    #pragma unused params
    if(IsPlayerAdmin(playerid)) {
    if(admrosa[playerid] == 0) {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admrosa[playerid] = 1;
    return SendClientMessage(playerid,0x33CC00FF,"Color, Rosa Actнvado");
    }
    else
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admrosa[playerid] = 0;
    return SendClientMessage(playerid,0xAA3333AA,"Color, Rosa Desactнvado");
    }}
    else return 0;
    }

    dcmd_verde(playerid,params[]) {
    #pragma unused params
    if(IsPlayerAdmin(playerid)) {
    if(admverde[playerid] == 0) { //Lo de ADM rojo es lo de new admrojo[MAX_PLAYERS] Podes cambiarlo por el que quiera
    new Float:pX, Float:pY, Float:pZ;  //pero Cuando quieras crear otro color tendria que ir otro nombre distinto ha todos...
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admverde[playerid] = 1;
    return SendClientMessage(playerid,0x33CC00FF,"Color, Verde Actнvado"); // Aca lo que quieras que diga cuando activas tu color
    }
    else
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    PlayerPlaySound(playerid,1057,pX,pY,pZ);
    admverde[playerid] = 0;
    return SendClientMessage(playerid,0xAA3333AA,"Color, Verde Desactнvado");// aca lo mismo pero cuando lo desactivas
    }}
    else return 0;
    }
cambia tu fs para hablar en color por este
Reply
#29

ese FS esta mal. usas dcmd que es una macro especifica para usar parametros, y luego defines que ninguno de los comandos del FS usa parametros, xD mejor usa srcmp. ademas de que seria mejor crear un array y darle un valor segun el color, en vez de crear varios inecesarios.
Reply
#30

Quote:
Originally Posted by the_chaoz
View Post
ese FS esta mal. usas dcmd que es una macro especifica para usar parametros, y luego defines que ninguno de los comandos del FS usa parametros, xD mejor usa srcmp. ademas de que seria mejor crear un array y darle un valor segun el color, en vez de crear varios inecesarios.
Sн lo se eso del array es que estoy acostumbrado ha usar DCMD pero avia leeido por hay que no se puede subir FS con srcmp
Reply
#31

Quote:
Originally Posted by pagaromx96
View Post
Sн lo se eso del array es que estoy acostumbrado ha usar DCMD pero avia leeido por hay que no se puede subir FS con srcmp
si que se puede, seria realmente absurdo ya que en casos de comandos en los cuales no se necesitan parametros, usar dcmd no seria lo optimo.
Reply
#32

Quote:
Originally Posted by the_chaoz
View Post
si que se puede, seria realmente absurdo ya que en casos de comandos en los cuales no se necesitan parametros, usar dcmd no seria lo optimo.
ha ok entonses lei otra cosa fuera del tema xD

bueno Erasrg aca tenes otro FS srcmp

yo no tube problema con este ni con el otro este es mas simple
pawn Code:
#include <a_samp>
#pragma tabsize 0
new COLOR[MAX_PLAYERS];
new TCOLOR[MAX_PLAYERS];
forward Cifrar(string[]);

stock strtok(const string[], &index,seperator=' ')
{
    new length = strlen(string);
    new offset = index;
    new result[128];
    while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }

    result[index - offset] = EOS;
    if ((index < length) && (string[index] == seperator))
    {
        index++;
    }
    return result;
}


stock Nombre(playerid) {
  new nombre[255];
  GetPlayerName(playerid, nombre, 255);
  return nombre;
}

public OnPlayerConnect(playerid)
{
   
     
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{

    TCOLOR[playerid] = 0;
    COLOR[playerid] = 0;
 return 1;
}

public OnPlayerText(playerid, text[])
{
 if(TCOLOR[playerid] == 1)
    {
        if(text[0] != '#')
        {
            if( text[0] != '#')
            {
                new string[256];
                format(string, sizeof(string),"%s: %s", Nombre(playerid), text);
    SendClientMessageToAll(COLOR[playerid],string);
            }
            }
    return 0;
    }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[128];
    new idx;
    cmd = strtok(cmdtext,idx);
   
    if(strcmp(cmd, "/azul", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0x2587CEAA;
    SetPlayerColor(playerid, 0x2587CEAA);
    SendClientMessage(playerid, 0x2587CEAA, "Activaste el color azul");
    return 1;
    }
}
if(strcmp(cmd, "/rosa", true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0xFF66FFAA;
    SetPlayerColor(playerid, 0xFF66FFAA);
    SendClientMessage(playerid, 0xFF66FFAA, "Activaste el color rosa");
    return 1;
    }
}
if(strcmp(cmd, "/verde", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0x0DE018AA;
    SetPlayerColor(playerid, 0x0DE018AA);
    SendClientMessage(playerid, 0x0DE018AA, "Activaste el color verde");
    return 1;
    }
}
if(strcmp(cmd, "/rojo", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] =  0xFF393FFF;
    SetPlayerColor(playerid,  0xFF393FFF);
    SendClientMessage(playerid,  0xFF393FFF, "Activaste el color rojo");
    return 1;
    }
}
if(strcmp(cmd, "/nocolor", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 0;
    COLOR[playerid] = 0;
    return 1;
    }
}
return 0;
}
Reply
#33

Quote:
Originally Posted by pagaromx96
View Post
pawn Code:
#define STRING 128
FAIL
1є para que usaste "STRING"


Quote:
Originally Posted by pagaromx96
View Post
pawn Code:
forward Cifrar(string[]);
LOL?

Quote:
Originally Posted by pagaromx96
View Post
pawn Code:
public OnPlayerText(playerid, text[])
{
 if(TCOLOR[playerid] == 1)
    {
        if(text[0] != '#')
        {
            if( text[0] != '#')
            {
                new string[256];
                format(string, sizeof(string),"%s: %s", Nombre(playerid), text);
    SendClientMessageToAll(COLOR[playerid],string);
            }
            }
    return 0;
    }
    return 1;
}
2 cosas:
1є tenes 2 veces el mismo if (lo cual es inutil)
2є "format(string, sizeof(string), "%s: %s", Nombre(playerid), text);" error xD el queria [Nombre][ID]: [TEXTO]. por ende el format correcto para tu caso serial:
pawn Code:
format(string, sizeof(string), "%s[%i]: %s", Nombre(playerid), playerid, text);
Quote:
Originally Posted by pagaromx96
View Post
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[128];
    new idx;
    cmd = strtok(cmdtext,idx);
   
    if(strcmp(cmd, "/azul", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0x2587CEAA;
    SetPlayerColor(playerid, 0x2587CEAA);
    SendClientMessage(playerid, 0x2587CEAA, "Activaste el color azul");
    return 1;
    }
}
if(strcmp(cmd, "/rosa", true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0xFF66FFAA;
    SetPlayerColor(playerid, 0xFF66FFAA);
    SendClientMessage(playerid, 0xFF66FFAA, "Activaste el color rosa");
    return 1;
    }
}
if(strcmp(cmd, "/verde", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] = 0x0DE018AA;
    SetPlayerColor(playerid, 0x0DE018AA);
    SendClientMessage(playerid, 0x0DE018AA, "Activaste el color verde");
    return 1;
    }
}
if(strcmp(cmd, "/rojo", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 1;
    COLOR[playerid] =  0xFF393FFF;
    SetPlayerColor(playerid,  0xFF393FFF);
    SendClientMessage(playerid,  0xFF393FFF, "Activaste el color rojo");
    return 1;
    }
}
if(strcmp(cmd, "/nocolor", true) == 0)
{

    if(IsPlayerAdmin(playerid))
    {
    TCOLOR[playerid] = 0;
    COLOR[playerid] = 0;
    return 1;
    }
}
return 0;
}
FAIL x 3. xD
1є que sentido tiene en ese codigo cmd??
2є cmd[128] FAIL!, cmd[256]. para evitar este tipo de errores te recomiendo leer este tutorial: [Explicaciуn] Porque no usar 256 celdas.
3є el comando nocolor, solo setea los valores a 0, por ende lo unico que se lograra es que quede el ultimo color que uso, dado que utilizas el comando SetPlayerColor en los demas comandos, solo cambiara el color de texto a la hora de hablar, pero no en su marcador.

Quote:
Originally Posted by pagaromx96
View Post
pawn Code:
public OnPlayerDisconnect(playerid, reason)
{

    TCOLOR[playerid] = 0;
    COLOR[playerid] = 0;
 return 1;
}
si lo pones en OnPlayeConnect, no lo pones en el Disconnect y viceversa
Reply
#34

Quote:
Originally Posted by the_chaoz
View Post
FAIL
1є para que usaste "STRING"



LOL?


2 cosas:
1є tenes 2 veces el mismo if (lo cual es inutil)
2є "format(string, sizeof(string), "%s: %s", Nombre(playerid), text);" error xD el queria [Nombre][ID]: [TEXTO]. por ende el format correcto para tu caso serial:
pawn Code:
format(string, sizeof(string), "%s[%i]: %s", Nombre(playerid), playerid, text);
FAIL x 3. xD
1є que sentido tiene en ese codigo cmd??
2є cmd[128] FAIL!, cmd[256]. para evitar este tipo de errores te recomiendo leer este tutorial: [Explicaciуn] Porque no usar 256 celdas.
3є el comando nocolor, solo setea los valores a 0, por ende lo unico que se lograra es que quede el ultimo color que uso, dado que utilizas el comando SetPlayerColor en los demas comandos, solo cambiara el color de texto a la hora de hablar, pero no en su marcador.


si lo pones en OnPlayeConnect, no lo pones en el Disconnect y viceversa
Esta bien como esta el no quiere que se vea la ID cuando abla en color el quiere aser algo como los admins de fenix que ablan en Azul pero no se le ve la id

el
pawn Code:
#define STRING 128
lo puse por que no encontraba el error que me dava entonses lo puse para ver si se arreglaba pero no era y lo arregle se me olvido de sacarlo

y no savia que se podia poner en un solo lado entre OnPLayerConnect y OnPlayerDisconnect gracias y lo puse en 128 por que me parecia lo mismo y andava perfecto
Reply
#35

me guio x su 1 post en este topic...
Reply


Forum Jump:


Users browsing this thread: 7 Guest(s)