Script de /duda
#1

Hola:
Disculpen alguien tendra un script de un /duda en el cual el usuario puede enviar una duda cada 2 minutos para que no floodien el canal ?.
Se los agradecere.

Saludos.
Reply
#2

Hola, los pedidos de Script van en el thread llamado "Pedidos de Scripts".
Probaste de usar el buscador del foro? Quizas alli salga algo.
Perdon por no poder ayudarte mas.
Reply
#3

pawn Код:
new duda[MAX_PLAYERS];

if(strcmp(cmd, "/duda", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if (duda[playerid] == 0)
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
            idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
            result[idx - offset] = cmdtext[idx];
            idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result)) return Message(playerid, COLOR_GRAD2, "USO: /Duda [Texto]");

            duda[playerid] = 1;
            format(string, sizeof(string), "%s pregunta : %s (ID:%d)", sendername, (result), playerid);
            ABroadCast(COLOR_ASKQ,string,1);
            SendClientMessage(playerid, COLOR_ASKQ, "Pregunta enviada");
            SetTimerEx("DudaON", 120000, false, "i", playerid);
        }
        else SendClientMessage(playerid, COLOR_GRAD2, "Espera 2 minutos");
    }
    return 1;
}

forward DudaON(playerid);
public DudaON(playerid)
{
 duda[playerid] = 0;
}
Reply
#4

Codeman, muy bien el codigo, pero hay mas de una cosa que tu debes tener definida que el no.
Creo que hacerlo asi, seria mas simple:
pawn Код:
new LaDuda[MAX_PLAYERS];
forward Duda2(playerid);
CMD:duda(playerid, params[])
{
    new duda[128];
    if(isnull(params)) return SendClientMessage(playerid, ALGUN_COLOR, "Uso: /duda <duda>");
    if(sscanf(params, "s", duda)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, ALGUN_COLOR, duda);
                SetTimerEx("Duda2", 120000, true, "i", playerid);
                LaDuda[playerid] = 1;
            }
        }
    }
    return 1;
}

public Duda2(playerid)
{
    LaDuda[playerid] = 0;
    return 1;
}
No es mas simple asi?
Reply
#5

Bueno, ahн tiene 2 mйtodos diferentes por si no utiliza zcmd
Reply
#6

Exacto.
Igualmente me olvide de decir que es necesario tener el plugin/funcion sscanf (recomiendo el plugin, la funcion es muy lenta en comparacion).
Reply
#7

Lo que hace el Pawno xD. ayudenme con esos 2 errores, creo que son new o defines, y no se donde descargar o como ponerlo ._. gracias por su atencion, aca el codigo.
pawn Код:
C:\Users\jorge\Desktop\Servidor 0.3c\gamemodes\DE.pwn(2091) : error 017: undefined symbol "Message"
C:\Users\jorge\Desktop\Servidor 0.3c\gamemodes\DE.pwn(2095) : error 017: undefined symbol "ABroadCast"
Reply
#8

En cual de los 2 te salio? No tengo ganas de leer xd
Reply
#9

Perdon, en la linea 2091, busca Message y pon SendClientMessage.

Y agrega la funciуn ABroadCast
pawn Код:
ABroadCast(color,const string[],level)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if (PlayerInfo[i][pAdmin] >= level && AdminChat[i] == 0)
            {
                SendClientMessage(i, color, string);
            }
        }
    }
    printf("%s", string);
    return 1;
}
Reply
#10

En el primero, por eso yo deje el segundo, que es mas simple y no necesita definir nada, solo cambiar los colores.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)