SA-MP Forums Archive
Script de /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: Script de /duda (/showthread.php?tid=239766)



Script de /duda - Manuel_Franco - 14.03.2011

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.


Respuesta: Script de /duda - leaNN! - 14.03.2011

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.


Respuesta: Script de /duda - Code8976Man - 14.03.2011

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



Respuesta: Script de /duda - leaNN! - 14.03.2011

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?


Respuesta: Script de /duda - Code8976Man - 14.03.2011

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


Respuesta: Script de /duda - leaNN! - 14.03.2011

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


Re: Script de /duda - [ASP]Theking - 14.03.2011

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"



Respuesta: Script de /duda - Lunnatiicz - 14.03.2011

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


Respuesta: Script de /duda - Code8976Man - 14.03.2011

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



Respuesta: Script de /duda - leaNN! - 14.03.2011

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