Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Chat Personalizado

Iniciado por Swarlog, Ene 30, 2023, 04:33 PM

Tema anterior - Siguiente tema

Swarlog


Información Adicional:

Se trata de un script que modifica el método de visualización del chat del servidor, ya que con este código  tendreis una nueva ventana en donde apareceran todos los mensajes del chat.

Código:



    // FS - Nuevo chat de SAMP - Hecho por TiNcH010.
    // Ayuda: Jovanny.
     
    // NOTA: Lo pueden utilizar como ustedes quieran. Versión actual 0.1
    // Lo que escriban no va a salir en el chat común sino en el chat nuevo!
     
    #define FILTERSCRIPT
     
    #include <a_samp>
     
    #if defined FILTERSCRIPT
    #pragma tabsize 0 // Evitamos el warning 'loose identiation'.
     
    #define BORRAR_PANTALLA 0 // Limpiar chat común al spawnear: 1: si, 0: no.
    #define ACTIVAR_SONIDO 1 // Activar sonido del chat: 1: si, 0: no.
     
    #define strcpy(%1,%2) \ format(%1,sizeof(%1),"%s",%2)
     
    // Textdraw's:
    new Text:Textdraw0;
    new Text:Textdraw1;
    new Text:Textdraw2;
    new Text:Textdraw3;
    new Text:Textdraw4;
    new Text:Textdraw5;
     
    // New's:
    new ChatMessages[4][128];
    new NoHablar = 1;
     
    public OnFilterScriptInit()
    {
            return 1;
    }
     
    public OnFilterScriptExit()
    {
            return 1;
    }
     
    #else
     
    main()
    {
    }
     
    #endif
     
    public OnGameModeInit()
    {
            return 1;
    }
     
    public OnGameModeExit()
    {
            return 1;
    }
     
    public OnPlayerConnect(playerid)
    {
            Textdraw0 = TextDrawCreate(157.000000, 348.000000, "TiNcH010: Hola");
            TextDrawBackgroundColor(Textdraw0, 255);
            TextDrawFont(Textdraw0, 1);
            TextDrawLetterSize(Textdraw0, 0.500000, 1.500000);
            TextDrawColor(Textdraw0, -1);
            TextDrawSetOutline(Textdraw0, 0);
            TextDrawSetProportional(Textdraw0, 1);
            TextDrawSetShadow(Textdraw0, 1);
     
            Textdraw1 = TextDrawCreate(156.000000, 370.000000, "John_Stafford: Hello");
            TextDrawBackgroundColor(Textdraw1, 255);
            TextDrawFont(Textdraw1, 1);
            TextDrawLetterSize(Textdraw1, 0.500000, 1.500000);
            TextDrawColor(Textdraw1, -1);
            TextDrawSetOutline(Textdraw1, 0);
            TextDrawSetProportional(Textdraw1, 1);
            TextDrawSetShadow(Textdraw1, 1);
     
            Textdraw2 = TextDrawCreate(150.000000, 343.000000, "_");
            TextDrawBackgroundColor(Textdraw2, 255);
            TextDrawFont(Textdraw2, 1);
            TextDrawLetterSize(Textdraw2, 0.500000, 10.000000);
            TextDrawColor(Textdraw2, -1);
            TextDrawSetOutline(Textdraw2, 0);
            TextDrawSetProportional(Textdraw2, 0);
            TextDrawSetShadow(Textdraw2, 1);
            TextDrawUseBox(Textdraw2, 1);
            TextDrawBoxColor(Textdraw2, 48);
            TextDrawTextSize(Textdraw2, 625.000000, 0.000000);
     
            Textdraw3 = TextDrawCreate(155.000000, 393.000000, "SaSuKeX: Holaaa!");
            TextDrawBackgroundColor(Textdraw3, 255);
            TextDrawFont(Textdraw3, 1);
            TextDrawLetterSize(Textdraw3, 0.500000, 1.500000);
            TextDrawColor(Textdraw3, -1);
            TextDrawSetOutline(Textdraw3, 0);
            TextDrawSetProportional(Textdraw3, 1);
            TextDrawSetShadow(Textdraw3, 1);
     
            Textdraw4 = TextDrawCreate(155.000000, 415.000000, "FeNeNiCo: Hola !!!");
            TextDrawBackgroundColor(Textdraw4, 255);
            TextDrawFont(Textdraw4, 1);
            TextDrawLetterSize(Textdraw4, 0.500000, 1.500000);
            TextDrawColor(Textdraw4, -1);
            TextDrawSetOutline(Textdraw4, 0);
            TextDrawSetProportional(Textdraw4, 1);
            TextDrawSetShadow(Textdraw4, 1);
     
            Textdraw5 = TextDrawCreate(260.000000, 329.000000, "]]]] TChat v0.1 ]]]]");
            TextDrawBackgroundColor(Textdraw5, 255);
            TextDrawFont(Textdraw5, 2);
            TextDrawLetterSize(Textdraw5, 0.500000, 1.100000);
            TextDrawColor(Textdraw5, -3394376);
            TextDrawSetOutline(Textdraw5, 0);
            TextDrawSetProportional(Textdraw5, 1);
            TextDrawSetShadow(Textdraw5, 1);
     
            return 1;
    }
     
    public OnPlayerDisconnect(playerid, reason)
    {
        TextDrawHideForAll(Textdraw0);
            TextDrawDestroy(Textdraw0);
            TextDrawHideForAll(Textdraw1);
            TextDrawDestroy(Textdraw1);
            TextDrawHideForAll(Textdraw2);
            TextDrawDestroy(Textdraw2);
            TextDrawHideForAll(Textdraw3);
            TextDrawDestroy(Textdraw3);
            TextDrawHideForAll(Textdraw4);
            TextDrawDestroy(Textdraw4);
            TextDrawHideForAll(Textdraw5);
            TextDrawDestroy(Textdraw5);
            return 1;
    }
     
    public OnPlayerSpawn(playerid)
    {
            TextDrawShowForPlayer(playerid, Textdraw2);
            TextDrawShowForPlayer(playerid, Textdraw5);
            #if(BORRAR_PANTALLA == 1)
            {
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            SendClientMessageToAll(-1, " ");
            }
            #endif
            return 1;
    }
     
    public OnPlayerText(playerid, text[])
    {
     
            if(NoHablar == 1)
            {
           
            new tmp[128],name[24];
            GetPlayerName(playerid,name,24);
            format(tmp,128,"%s: %s",name,text);
           
            // Sonido del chat:
            for(new i; i < MAX_PLAYERS; i ++)
            {
            #if(ACTIVAR_SONIDO == 1)
            {
            PlayAudioStreamForPlayer(i, "http://k003.kiwi6.com/hotlink/3f6u6z3a8q/chat_sound.mp3");
            }
            #endif
            }
     
            // Lineas de mensajes:
            format(ChatMessages[0],128,"%s",ChatMessages[1]);
            format(ChatMessages[1],128,"%s",ChatMessages[2]);
            format(ChatMessages[2],128,"%s",ChatMessages[3]);
     
            // Actualizar la última línea del string:
            format(ChatMessages[3],128,"%s",tmp);
     
            // Actualizar todas las líneas:
            TextDrawSetString(Textdraw0,ChatMessages[0]);
            TextDrawSetString(Textdraw1,ChatMessages[1]);
            TextDrawSetString(Textdraw3,ChatMessages[2]);
            TextDrawSetString(Textdraw4,ChatMessages[3]);
            TextDrawShowForAll(Textdraw0);
            TextDrawShowForAll(Textdraw1);
            TextDrawShowForAll(Textdraw3);
            TextDrawShowForAll(Textdraw4);
           
            return 0;
        }
           
            return 1;
    }
     
    public OnPlayerCommandText(playerid, cmdtext[])
    {
        if(strcmp(cmdtext, "/tchat", true) == 0) // Muestra el chat.
            {
        TextDrawShowForPlayer(playerid, Textdraw0);
            TextDrawShowForPlayer(playerid, Textdraw1);
            TextDrawShowForPlayer(playerid, Textdraw2);
            TextDrawShowForPlayer(playerid, Textdraw3);
            TextDrawShowForPlayer(playerid, Textdraw4);
            TextDrawShowForPlayer(playerid, Textdraw5);
            return 1;
        }
           
            if(strcmp(cmdtext, "/tchat2", true) == 0) // Esconde el chat. (NO LO ELIMINA, SOLO LO ESCONDE).
            {
            TextDrawHideForPlayer(playerid, Textdraw0);
            TextDrawHideForPlayer(playerid, Textdraw1);
            TextDrawHideForPlayer(playerid, Textdraw2);
            TextDrawHideForPlayer(playerid, Textdraw3);
            TextDrawHideForPlayer(playerid, Textdraw4);
            TextDrawHideForPlayer(playerid, Textdraw5);
            return 1;
            }
           
            if(strcmp(cmdtext, "/ltchat", true) == 0) // Limpia el chat.
            {
            SendTextDrawMessageForAll(" ");
            SendTextDrawMessageForAll(" ");
            SendTextDrawMessageForAll(" ");
            SendTextDrawMessageForAll(" ");
            return 1;
            }
     
            return 0;
    }
     
    stock SendTextDrawMessageForAll(text[])
    {
     
            // Líneas de mensajes:
            format(ChatMessages[0],128,"%s",ChatMessages[1]);
            format(ChatMessages[1],128,"%s",ChatMessages[2]);
            format(ChatMessages[2],128,"%s",ChatMessages[3]);
     
            // Actualizar la última línea del string:
            format(ChatMessages[3],128,"%s",text);
     
            // Actualizar todas las líneas:
            TextDrawSetString(Textdraw0,ChatMessages[0]);
            TextDrawSetString(Textdraw1,ChatMessages[1]);
            TextDrawSetString(Textdraw3,ChatMessages[2]);
            TextDrawSetString(Textdraw4,ChatMessages[3]);
     
    }
     
    // © 2012 - Mantener los créditos.


By TiNcH010