[AJUDA]Casas VIP
#1

Tenho um Sistema Vip mas Nгo tem Casas vip --' Entгo gostaria de Saber Como Por Me Ajudem Cуdigo Abaixo!!

pawn Код:
// ====== INCLUDES =======//
#include <a_samp>
#include <foreach>
#include <SII>
#include <zcmd>
#include <sscanf2>
// ===== OTIMIZAЗГOZINHA kk ====== //
#if defined MAX_PLAYERS
    #undef MAX_PLAYERS
#endif
#define SLOTS 20

// ===== CORES ===== //
#define COR_VIP         0xFFBEFFE2
#define COR_AZULZINHO   0x00A5FFFF
#define COR_AMARELO2    0xFFFF00AA
#define COR_VERDE       0x00FF00FF
#define COR_AZULZAO     0x005FFFFF
// ======= NEWS ========= //
new
      PlayerVip[SLOTS],// Variavel pra ver se o player й vip e o nivel vip dele
      _sStr[128],// Uma string global!
      iddele,// Variavel que vamos usar em comandos tipo: /ban [id]! o  ID й a variavel iddele :)
      meses// Variavel dos meses que serгo dado aos players vips!
;

//======= PUBLICS ======= //
public OnFilterScriptInit()
{
    print("\n--------------------------------------------------");
    print(" Carregando Sistema de Vip...");
    print(" Sistema de Vip carregado com sucesso!");
    print(" Sistema de Vip criado por Bruno Pereira ••");
    print("--------------------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    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;
}
public OnPlayerDisconnect(playerid, reason)
{
    SalvarVip(playerid);// Salva a conta do player!
    return 1;
}
// ======== COMANDOS ========== //
CMD:ajudavip(playerid, params[])
{
    if(PlayerVip[playerid] >= 1)// Se ele for VIP maior ou igual a um manda essa mensagem abaixo \/
    {
        SendClientMessage(playerid, -1, "/vips /socios /equiparvip");
    }
    if(IsPlayerAdmin(playerid))// Se ele for admin, manda essa tambem \/
    {
        SendClientMessage(playerid, -1, "/darvip /darsvip /darsocio /tirarvip");
    }
    return 1;
}
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;
}
CMD:socios(playerid, params[])
{
    SendClientMessage(playerid, -1 , "Socios Onlines:");
    foreach(Player, i)
    {
        if(IsPlayerConnected(i))
        {
             if(PlayerVip[playerid] == 3)
             {
                  format(_sStr, 40, "SOCIO: %s", pNome(i));
                  SendClientMessage(playerid, COR_VERDE, _sStr);
             }
        }
    }
    return 1;
}

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:darsvip(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
    if(sscanf(params, "ud", iddele, meses))
        return SendClientMessage(playerid, -1, "Correto: /darsvip [id] [meses]");
    if(!IsPlayerConnected(iddele))
        return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
    PlayerVip[iddele] = 2;
    SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*3);
    GivePlayerMoney(iddele, meses*20000);
    format(_sStr, 100, "Atenзгo o admin %s te deu %d meses SUPER-VIP com %d Nнveis e R$ %d.", pNome(playerid), meses, meses*3, meses*20000);
    SendClientMessage(iddele, COR_AZULZAO, _sStr);
    format(_sStr, 100, "Vocк deu %d meses de SUPER-VIP para o %s", meses, pNome(iddele));
    SendClientMessage(playerid, COR_AZULZAO, _sStr);
    return 1;
}
CMD:darsocio(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
    if(sscanf(params, "ud", iddele, meses))
        return SendClientMessage(playerid, -1, "Correto: /darsocio [id] [meses]");
    if(!IsPlayerConnected(iddele))
        return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
    PlayerVip[iddele] = 3;
    SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*4);
    GivePlayerMoney(iddele, meses*30000);
    format(_sStr, 100, "Atenзгo o admin %s te deu %d meses de Sуcio com %d Nнveis e R$ %d.", pNome(playerid), meses, meses*4, meses*30000);
    SendClientMessage(iddele, COR_AZULZAO, _sStr);
    format(_sStr, 100, "Vocк deu %d meses de Sуcio para o %s", meses, pNome(iddele));
    SendClientMessage(playerid, COR_AZULZAO, _sStr);
    return 1;
}
CMD:tirarvip(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
    if(sscanf(params, "u", iddele))
        return SendClientMessage(playerid, -1, "Correto: /tirarvip [id]");
    if(!IsPlayerConnected(iddele))
        return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
    if(PlayerVip[iddele] == 0)
        return SendClientMessage(playerid, -1, "Esse jogador nгo й VIP/S-VIP/SOCIO");
    PlayerVip[iddele] = 0;// Seta o nivel vip do cara pra 0!
    format(_sStr, 80, "O administrador %s tirou seu VIP/S-VIP/SOCIO!", pNome(playerid));
    SendClientMessage(iddele, COR_AZULZAO, _sStr);
    format(_sStr, 80, "Vocк tirou o VIP/S-VIP/SOCIO do %s", pNome(iddele));
    SendClientMessage(playerid, COR_AZULZAO, _sStr);
    format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata o local da Pasta!
    if(fexist(_sStr))// Se a o arquivo existir, remove ele \/
    {
        INI_Remove(_sStr);// Remove o arquivo!
    }
    return 1;
}
CMD:equiparvip(playerid, params[])
{
    if(PlayerVip[playerid] == 1)// Se ele for VIP vai dar essas armas:
    {
        GivePlayerWeapon(playerid, 24, 999);
        GivePlayerWeapon(playerid, 31, 999);// Da a armas 31 com 999 balas ao player!
        SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos VIP!");
    }
    else if(PlayerVip[playerid] == 2)// Se ele for SuperVip vai dar essas armas:
    {
        SetPlayerHealth(playerid, 100);
        GivePlayerWeapon(playerid, 24, 999);
        GivePlayerWeapon(playerid, 31, 999);
        GivePlayerWeapon(playerid, 4, 999);
        GivePlayerWeapon(playerid, 29, 999);
        SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos SUPER VIP!");
    }
    else if(PlayerVip[playerid] == 3)// Se ele for Sуcio vai dar essas armas:
    {
        SetPlayerHealth(playerid, 100);
        SetPlayerArmour(playerid, 100);
        GivePlayerWeapon(playerid, 24, 999);
        GivePlayerWeapon(playerid, 31, 999);
        GivePlayerWeapon(playerid, 4, 999);
        GivePlayerWeapon(playerid, 29, 999);
        GivePlayerWeapon(playerid, 38, 999);
        GivePlayerWeapon(playerid, 46, 999);
        SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos de SУCIO!");
    }
    else if(PlayerVip[playerid] == 0)// Se ele nao for VIP, vai mandar essa mensagem :)
        return SendClientMessage(playerid, -1, "Vocк nгo й vip!");
    return 1;
}
CMD:salvarvips(playerid, params[])
{
    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
    foreach(Player, i)// Loop
    {
        SalvarVip(i); // Salva as contas!
    }
    SendClientMessage(playerid, -1, "Todos os Vips/Super-Vips/Socios onlines foram salvos com sucesso!");
    return 1;
}
CMD:chatvip(playerid, params[])
{
    new String[128];// String!
    if(PlayerVip[playerid] == 0)// Se o player nгo for VIP manda amensagem abaixo!
        return SendClientMessage(playerid, -1, "Vocк nгo й Vip/Super-Vip/Sуcio");
    if(sscanf(params, "s[100]", _sStr))//Sscanf!
        return SendClientMessage(playerid, -1, "Correto: /chatvip [chat]");
    if(PlayerVip[playerid] == 1)// Se o cara for VIP nivel 1...
    {
        format(String, 128, "VIP %s: %s", pNome(playerid), _sStr);
        MensagemVips(COR_AMARELO2, String);
    }
    else if(PlayerVip[playerid] == 2)// Se for vip nivel 2
    {
        format(String, 128, "SUPER-VIP %s: %s", pNome(playerid), _sStr);
        MensagemVips(COR_AMARELO2, String);
    }
    else if(PlayerVip[playerid] == 3)// se for vip nivel 3
    {
        format(String, 128, "* SOCIO %s: %s", pNome(playerid), _sStr);
        MensagemVips(COR_AMARELO2, String);
    }
    return 1;
}

forward MensagemVips(cor, string[]);
public MensagemVips(cor, string[])// Funзгo que envia mensagem pros VIPS!!
{
    foreach(Player, i)// Loop!
    {
        if(IsPlayerConnected(i))// Players vips conectados!
        {
            if(PlayerVip[i] >= 1)// Se o vip for maior que 1
            {
                SendClientMessage(i, cor, string);// manda a mensagem!
            }
        }
    }
}
// ========= STOCKS ========= //
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
#2

Pow ajuda akiiii!!!!!!!!!!!!!! to PRECISANDOO MTU
Reply
#3

usa a sua scriptfiles pra criar casa e crie um comando so pra vip comprar !!
Reply
#4

Usa o LHouse do Los e adapta, nгo fiz esse sistema com casa vip ele й mais para iniciantes que querem INICIAR seu sistemas de vips
Reply
#5

tem como especificar isso ...porque nao sei como faz sou iniciante na parada ...ou se puder colocar na Fs pra mim ... Nao entendi direito como vc explicou nao entendo muito sobre o assunto@@!!
Reply
#6

cara й complicado, estude mais e dps tente fazer um sistemas de casa, concelho
Reply
#7

Quote:
Originally Posted by [BD]Cachorro_[BD]
Посмотреть сообщение
tem como especificar isso ...porque nao sei como faz sou iniciante na parada ...ou se puder colocar na Fs pra mim ... Nao entendi direito como vc explicou nao entendo muito sobre o assunto@@!!
Voce era da [BD]? Best Drift?


@Topic
Como o Bruno disse,pegue um FS de casa, e vб estudando,e dps adapte ao FS de VIP ;]
Reply
#8

nao BD Brasil Diversгo kkkk........em fim vou tentar qualquer dica de alguem ai postem por favor to precisando
Reply
#9

Algo como vocк estб pedindo nгo й possнvel desde que vocк crie um filterscript de casas junto com o filterscript vip ou entгo criar ambos em seu gamemode. Minha dica й que vocк estude um filterscript de casas, no caso se quiser o LHouse, e tambйm estude um de vip e tente juntar os dois.

Abraзos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)