hoje venho postar mais um projeto.

ele é muito simples.



Info:

Você compra bilhete depois de um certo tempo ele calcula quem ganhou.

se houver mais de um ganhador o premio é automaticamente dividido.






Créditos:

- [O.z]Caroline

- [KoS]Shickcard




Download
#include <a_samp>

#define Time                                15    // defina aqui o tempo em minutos para ocorrer o sorteio '-'
#define DINHEIRO_GANHA                      1000  // dinheiro para quem acertar o número.

new Bilhete[MAX_PLAYERS], string[128];

forward Sortear();

public OnFilterScriptInit()
{
    print("###################################");
    print("#- Sistema de sorteio por:");
    print("#- [O.z]Caroline & [KoS]ShickCard");
    print("###################################");
    return 1;
}


public OnPlayerConnect(playerid)
{
    Bilhete[playerid] = 0;
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{

    new cmd[128], idx;
    cmd = strtok(cmdtext, idx);
   
    if(!strcmp(cmd, "/ComprarBilhete", true))
    {
        if(Bilhete[playerid] != 0)
            return SendClientMessage(playerid, -1,"Você já tem bilhete!");
           
        new tmp[128];
        tmp = strtok(cmdtext, idx);
        if(strlen(tmp) == 0)
            return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ComprarBilhete [número1]");
           
        if(1 > strlen(tmp) || strlen(tmp) > 60)
            return SendClientMessage(playerid, 0xFF0000AA, "Números entre 1 e 60!");
           
        Bilhete[playerid] = strval(tmp);
        format(string, sizeof(string),"Você comprou o nª bilhete %d", strval(tmp));
        SendClientMessage(playerid, -1, string);
        return 1;
    }
    return 0;
}

public Sortear()
{
    new rand = random(60);
    new ganhadores = 0;
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Bilhete[i] == rand)
            {
                GivePlayerMoney(i, DINHEIRO_GANHA / ganhadores );
                ganhadores++;
            }
        }
    }
    format(string, sizeof(string),"Teve %d Ganhadores, número sorteado: %d, cada um ganhou %d", ganhadores, rand, DINHEIRO_GANHA / ganhadores);
    SendClientMessageToAll(-1, string);
    return 1;
}


strtok(const strrr[], &index)
{
    new length = strlen(strrr);
    while ((index < length) && (strrr[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (strrr[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = strrr[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}