REGISTER











Toturial Cumparare VIP
#1
Salut sa-mp.ro am decis sa fac un tutorial bun pentru buyvip nu ce a facut funky plin de greseli.
Voi face comanda pe Zcmd dupa o puteti adapta singuri sistemului vostru de admin/vip.
Code: [Select]
#include < a_samp >// Libraria sa-mp by samp team
#include < zcmd >// procesorul de comenzi by ZeeX
#define Buyvip 1243 // Definitia dialogului
#define SCM SendClientMessage // si definitia pentru scurtarea SendClientMessage
Acum codul oare cum il facem ?
Foarte simplu si rapid!
Code:
[Select]
CMD:buyvip(playerid,params[])
{
    ShowPlayerDialog(playerid, Buyvip , DIALOG_STYLE_LIST, "Buyvip", "Level 1\t* 10 ore *\nLevel 2\t* 20 ore *\nLevel 3\t* 30 ore *", "Buy", "Close"); // Functia care ii arata dialogul la tastarea comenzi!
    return 1;
}

//========================Codul dialogului========================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if( dialogid == Buyvip )
    {
        if( !response )
            return ( 1 );

        if( listitem == 0 )
        {
            if( PlayerInfo[ playerid ][ VIPLevel ] == 1 )//functia care verifica daca ai acel level
                return SCM(playerid,-1,"Ai Dejea Vip Level 1!");//Dupa i se returneaza mesajul Care ii spune ca are deja vip level 1

            if( PlayerInfo[ playerid ][ VIPLevel ] > 1 )//Functia care verifica daca are level mai mare
                return SCM( playerid, -1, "Ai Level De Vip Mai Mare xD!" );//Dupa ii se returneaza mesajul care ii spune ca are level mai mare!
                
            if( PlayerInfo[ playerid ][ Hours ] < 10 )//functia ce verifica daca are ore necesare pentru a cumpara vip!
                return SCM( playerid, -1, "Nu ai destul ore pentru a cumpara vip level 1 !" );//Dupa ii se returneaza mesajul care ii spune ca nu are destule ore
                
            PlayerInfo[ playerid ][ Hours ] -= 10;//Functia care ii scade orele playerului
            PlayerInfo[ playerid ][ VIPLevel ] = 1;//Functia care ii da levelul
            
            SCM( playerid, -1, "Ai cumparat VIP Level 1 !" );//functia ce ii da vestea ca a cumparat vip level 1
        }
        
        if( listitem == 1 )
        {
               if( PlayerInfo[ playerid ][ VIPLevel ] == 2 )//functia care verifica daca ai acel level
                return SCM(playerid,-1,"Ai Dejea Vip Level 2!");//Dupa ii se returneaza mesajul Care ii spune ca are deja vip level 2

            if( PlayerInfo[ playerid ][ VIPLevel ] > 2 )//Functia care verifica daca are level mai mare
                return SCM( playerid, -1, "Ai Level De Vip Mai Mare xD!" );//Dupa ii se returneaza mesajul care ii spune ca are level mai mare!

            if( PlayerInfo[ playerid ][ Hours ] < 20 )//functia ce verifica daca are ore necesare pentru a cumpara vip!
                return SCM( playerid, -1, "Nu ai destul ore pentru a cumpara vip level 2 !" );//Dupa ii se returneaza mesajul care ii spune ca nu are destule ore

            PlayerInfo[ playerid ][ Hours ] -= 20;//Functia care ii scade orele playerului
            PlayerInfo[ playerid ][ VIPLevel ] = 2;//Functia care ii da levelul

            SCM( playerid, -1, "Ai cumparat VIP Level 2 !" );//functia ce ii da vestea ca a cumparat vip level 2
        }
        if( listitem == 2 )
        {
            if( PlayerInfo[ playerid ][ VIPLevel ] == 3 )//functia care verifica daca ai acel level
                return SCM(playerid,-1,"Ai Dejea Vip Level 3!");//Dupa ii se returneaza mesajul Care ii spune ca are deja vip level 3

            if( PlayerInfo[ playerid ][ VIPLevel ] > 3 )//Functia care verifica daca are level mai mare
                return SCM( playerid, -1, "Ai Level De Vip Mai Mare xD!" );//Dupa ii se returneaza mesajul care ii spune ca are level mai mare!

            if( PlayerInfo[ playerid ][ Hours ] < 30 )//functia ce verifica daca are ore necesare pentru a cumpara vip!
                return SCM( playerid, -1, "Nu ai destul ore pentru a cumpara vip level 3 !" );//Dupa ii se returneaza mesajul care ii spune ca nu are destule ore

            PlayerInfo[ playerid ][ Hours ] -= 30;//Functia care ii scade orele playerului
            PlayerInfo[ playerid ][ VIPLevel ] = 3;//Functia care ii da levelul

            SCM( playerid, -1, "Ai cumparat VIP Level 3 !" );//functia ce ii da vestea ca a cumparat vip level 3
        }
        
        return ( 1 );
    }
    
    return ( 1 );
}
#2
Multumesc , e folositor .
#3
TOPIC CLOSE .
Nn indeplineste conditiile cerute .