[Ajuda] Ficar gravado o dia q deu Vip
#5

Tenta adapta na sua GM ...
Код:
 // INCLUDES //
#include <a_samp>
#include <foreach>
#include <zcmd>
#include <SII>
new
      PlayerVip[SLOTS],// Variavel pra ver se o player й vip e o nivel vip dele
      _sStr[128],// Uma string global!
      meses// Variavel dos meses que serгo dado aos players vips!
;
public OnGameModeExit()
{
    foreach(Player, i)// Loop em foreach!
    {
        SalvarVip(i);// Salva as contas!
    }
    return 1;
}
public OnPlayerConnect(playerid)
{
    CarregarVip(playerid);// Carrega a conta vip do player!
    if(PlayerVip[playerid] == 1)// Se ele for VIP 1 manda essa mensagem pra todos online \/!
    {
        format(_sStr, 40, "O VIP %s estб OnLine", pNome(playerid));
        SendClientMessageToAll(COR_VIP, _sStr);
    }
    else if(PlayerVip[playerid] == 2)
    {
        format(_sStr, 50, "O SUPER-VIP %s estб OnLine", pNome(playerid));
        SendClientMessageToAll(COR_AZULZINHO, _sStr);
    }
    else if(PlayerVip[playerid] == 3)
    {
        format(_sStr, 50, "O SOCIO %s estб OnLine", pNome(playerid));
        SendClientMessageToAll(COR_VERDE, _sStr);
    }
    return 1;
}
//CMD /DARVIP
CMD:darvip(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))// Se o cara NAO for admin (!) manda a mensagem!
        return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
    if(sscanf(params, "ud", iddele, meses))// Sscanf! * Se ele nгo preencher todos os campos manda a mensagem \/! *
        return SendClientMessage(playerid, -1, "Correto: /darvip [id] [meses]");// manda mensagem
    if(!IsPlayerConnected(iddele))// Se o "iddele" nao estiver conectado manda a mensagem!
        return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");// mensagem
    PlayerVip[iddele] = 1;// Seta o vip do cara pra 1
    SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*2);// Verifica o level do player e seta o numero que o admin digitou no "meses" veses 2!
    GivePlayerMoney(iddele, meses*10000);// Da a quantidade grana pro player. A quantidade й o numero que o admin digitou no meses VESES 10 Mil!
    format(_sStr, 100, "Atenзгo o admin %s te deu %d meses VIP com %d Nнveis e R$ %d.", pNome(playerid), meses, meses*2, meses*10000);// Formata a mensagem!
    SendClientMessage(iddele, COR_AZULZAO, _sStr);// Manda a mensagem!
    format(_sStr, 100, "Vocк deu %d meses de VIP para o %s", meses, pNome(iddele));
    SendClientMessage(playerid, COR_AZULZAO, _sStr);
    return 1;
}
//CMD /VIPS ..
CMD:vips(playerid, params[])
{
    SendClientMessage(playerid, -1 , "VIPs e Super-Vips onlines:");// Mensagem
    foreach(Player, i)// Loop
    {
        if(IsPlayerConnected(i))// Verifica os players vips conectados!
        {
             if(PlayerVip[playerid] == 1)// Se os players vips forem igual a 1 (vip normal) manda isso abaixo \/!
             {
                  format(_sStr, 40, "VIP: %s", pNome(i));// formata a mensagem
                  SendClientMessage(playerid, COR_VIP, _sStr);// envia a mensagem
             }
             else if(PlayerVip[playerid] == 2)
             {
                  format(_sStr, 40, "SUPER-VIP: %s", pNome(i));
                  SendClientMessage(playerid, COR_AZULZINHO, _sStr);
             }
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    SalvarVip(playerid);// Salva a conta do player!
    return 1;
}
stock pNome(playerid)// Stock de getar o nome :)
{
    new nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, sizeof(nome));
    return nome;
}
stock SalvarVip(playerid)// Stock de salvar VIP!
{
    if(PlayerVip[playerid] >= 1)// Se o cara for maior ou igual a 1
    {
        format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata o local do arquivo!
        if(INI_Open(_sStr))// Abre o arquivo!
        {
            INI_WriteInt("NivelVip", PlayerVip[playerid]);// Seta o NivelVip = NIVEL DO VIP DO PLAYER!
            INI_Save();// Salva
            INI_Close();// Fecha o arquivo!
        }
    }
    return 1;
}
stock CarregarVip(playerid)
{
    format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata...
    if(INI_Open(_sStr))// Abre o arquivo!
    {
        PlayerVip[playerid] = INI_ReadInt("NivelVip");// Seta o PlayerVip[playerid] para o numero que estiver no NivelVip...
        INI_Close();// Fecha o arquivo!
    }
    return 1;
}
Reply


Messages In This Thread
Ficar gravado o dia q deu Vip - by DiegoLkd - 25.09.2013, 14:21
Re: Ficar gravado o dia q deu Vip - by DiegoLkd - 25.09.2013, 14:54
Re: Ficar gravado o dia q deu Vip - by yNexus - 25.09.2013, 14:55
Re: Ficar gravado o dia q deu Vip - by DiegoLkd - 25.09.2013, 15:07
Re: Ficar gravado o dia q deu Vip - by HatedS - 25.09.2013, 15:19
Re: Ficar gravado o dia q deu Vip - by PT - 25.09.2013, 16:43
Re: Ficar gravado o dia q deu Vip - by zPain - 25.09.2013, 17:39
Re: Ficar gravado o dia q deu Vip - by DiegoLkd - 25.09.2013, 17:41
Re: Ficar gravado o dia q deu Vip - by zPain - 25.09.2013, 17:43
Re: Ficar gravado o dia q deu Vip - by DiegoLkd - 25.09.2013, 17:47

Forum Jump:


Users browsing this thread: 2 Guest(s)