DanN Posted March 6, 2017 Posted March 6, 2017 Dupa cum spune si titlul azi m-am hotarat sa va fac un tutorial in care am sa va arat pasii care trebuie parcursi pentru a iti creea un sistem de VIP. Cerinte pentru a urmarii acest tutorial: -Sa ai cel putin 16 ani ca sa intelegi macar limbajul de programare -Sa stii cu ce se papa scriptingul si mai ales pawno -Sa fii atent la fiecare pas Step 1 Adaugam la enum pInfo langa celelalte pVip, Step 2 Mergem la callback-ul OnPlayerConnect si adaugam urmatorul cod langa celelalte PlayerInfo[playerid][pVip] = 0; Ne asiguram ca jucatorul care intra pe server / isi inregistreaza un cont sa primeasca automat vip 0. Step 3 Mergem la callback-ul OnPlayerRegister si adaugam urmatorul cod langa celelalte format(var, 32, "VipLevel=%d\n",PlayerInfo[playerid][pVip]);fwrite(hFile, var); Mergem la callback-ul SavePlayerData si adaugam urmatorul cod langa celelalte if( strcmp( key , "VipLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pVip] = strval( val ); } Mergem la callback-ul OnPlayerLogin si adaugam urmatorul cod langa celelalte if( strcmp( key , "VipLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pVip] = strval( val ); } Adaugand codurile astea vom stoca si salva desigur aceasta informatie de VIP. Daca va primii VIP level 1,2 etc, jucatorului i se va salva in fisier urmand la relog sa revina cu acelasi VIP level inainte de relog. Step 4 Creeam comanda pentru a face un player simplu in VIP CMD:makevip(playerid, params[]) { new string[128], level, giveplayerid, sendername[MAX_PLAYER_NAME] ,giveplayer[MAX_PLAYER_NAME]; if(PlayerInfo[playerid][pAdmin] >= 1338 || PlayerInfo[playerid][pVip] >= 1338) { if(sscanf(params, "ui", giveplayerid,level)) return SendClientMessage(playerid, COLOR_ORANGE, "{F97804}USAGE:{B4B5B7}{FFFFFF} /makevip [playerid/PartOfName] [level(1-1338)]"); if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1,"Invalid player !"); if(level > 1338) return SendClientMessage(playerid, COLOR_WHITE, "Minimum Vip level is 1 and maximum 1338"); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[giveplayerid][pVip] = level; format(string, sizeof(string), "You have been promoted to a level %d vip by %s.", level, sendername); SCM(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "[AdmCmd] %s has promoted %s to a level %d vip.", sendername, giveplayer, level); SendAdminMessage(COLOR_LIGHTRED, string); } else { SendClientMessage(playerid, COLOR_ORANGE, "DENIED: {FFFFFF}You are not authorized to use that command."); } return 1; } Step 5 Creeam o comanda cu care putem vizualiza cu usurinta vip-urile online CMD:vips(playerid, params[]) { new string[256], sendername[MAX_PLAYER_NAME]; SendClientMessage(playerid, 0x95C730FF, "|__Vips Online__|"); foreach (new i : Player) { GetPlayerName(i, sendername, sizeof(sendername)); if (IsPlayerConnected(i)) { if(PlayerInfo[i][pVip] == 1) { GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "ID: %d | Vip Level 1: %s ", i, sendername); SCM(playerid,COLOR_GRAD1, string); } if(PlayerInfo[i][pVip] == 2) { GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "ID: %d | Vip Level 2: %s ", i, sendername); SCM(playerid,COLOR_GRAD1, string); } if(PlayerInfo[i][pVip] == 3) { GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "ID: %d | Vip Level 3: %s ", i, sendername); SCM(playerid,COLOR_GRAD1, string); } if(PlayerInfo[i][pVip] == 4) { GetPlayerName(i, sendername, sizeof(sendername)); format(string, 256, "ID: %d | Head Vip: %s ", i, sendername); SCM(playerid,COLOR_GRAD1, string); } } } return 1; } Sper ca e de ajutor.
pRobert Posted April 13, 2017 Posted April 13, 2017 Cine are face un sistem de vip cu 1338 de levele? Si comanda ta nu are o solutie de salvare a contului in baza de date, dupa relog userul cu siguranta nu va mai avea contul vip.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now