dcmd_setvip(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
if(AccInfo[playerid][Level] >= 5 || IsPlayerAdmin(playerid))
{
new tmp [256];
new tmp2[256];
new Index;
tmp = strtok(params,Index);
tmp2 = strtok(params,Index);
if(!strlen(params)) return
SendClientMessage(playerid, LIGHTBLUE2, "Uso: /setvip [ID del Jugador] [Tipo de Cuenta (0-3)]") &&
SendClientMessage(playerid, orange, "Funcion: Establece un Tipo de Cuenta a Determinado Jugador (0-Normal,1-Plata,2-Oro,3-Premium)");
new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(!strlen(tmp2)) return
SendClientMessage(playerid, LIGHTBLUE2, "Uso: /setvip [ID del Jugador] [Tipo de Cuenta (0-3)]") &&
SendClientMessage(playerid, orange, "Funcion: Establece un Tipo de Cuenta a Determinado Jugador (0-Normal,1-Plata,2-Oro,3-Premium)");
type = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(AccInfo[player1][LoggedIn] == 1)
{
if(type > 3)
return SendClientMessage(playerid,red,"ERROR: Tipo de Cuenta Invalida!");
if(type == AccInfo[player1][pVip])
return SendClientMessage(playerid,red,"ERROR: El Jugador ya tiene Esta Membrecia!");
SendCommandToAdmins(playerid,"SetVip");
GetPlayerName(player1, playername, sizeof(playername));
GetPlayerName(playerid, adminname, sizeof(adminname));
new year,month,day;
new hour,minute,second;
getdate(year, month, day);
gettime(hour,minute,second);
switch(type)
{
case 1: AccType = "Plata";
case 2: AccType = "Oro";
case 3: AccType = "Premium";
}
if(type > 0)
format(string,sizeof(string),"|- Administrador %s ha Establecido tu Cuenta a Membrecia: %s",adminname,AccType);
else
format(string,sizeof(string),"|- Administrador %s ha Establecido tu Cuenta a: 'Cuenta Normal!",adminname);
SendClientMessage(player1,0x66C178AA,string);
if(type > AccInfo[player1][pVip])
GameTextForPlayer(player1,"Promovido", 2000, 3);
else GameTextForPlayer(player1,"Degradado", 2000, 3);
format(string,sizeof(string),"Usted ha dado %s Membrecia: %s en '%d/%d/%d' Fecha '%d:%d:%d'", playername, AccType, day, month, year, hour, minute, second);
SendClientMessage(playerid,0x00C378AA,string);
format(string,sizeof(string),"Administrador %s ha echo a %s Membrecia: %s",adminname, playername, AccType);
SaveIn("AdminLog",string);
dUserSetINT(PlayerName2(player1)).("Membrecia",(type));
AccInfo[player1][pVip] = type;
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
}
else return SendClientMessage(playerid,red,"ERROR: Este Jugador no Esta Registrado o Logueado!");
}
else return ErrorMessages(playerid, 2);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,"ERROR: Usted debe estar registrado para utilizar estos comandos");
}
AccInfo[playerid][pVip]
if(GetPlayerScore(playerid) == 1000) AccInfo[playerid][pVip] = 1 // Si llega a 1000 score se le dara oro
Utiliza la variable
pawn Код:
pawn Код:
https://sampwiki.blast.hk/wiki/GetPlayerScore |
stock Vip(playerid)
{
if(PlayerInfo[playerid][LoggedIn] == 1)
{
new Score;
Score=GetPlayerScore(playerid);
if(2000 < Score >= 3000 )//Premium
{
if(PlayerInfo[playerid][pVip] < 3)
{
dUserSetINT(PlayerName2(playerid)).("Membrecia",(3));
PlayerInfo[playerid][pVip] = 3;
}
return 1;
}
else if(1000 < Score >= 2000 )//Plata
{
if(PlayerInfo[playerid][pVip] < 2)
{
dUserSetINT(PlayerName2(playerid)).("Membrecia",(2));
PlayerInfo[playerid][pVip] = 2;
}
return 1;
}
else if(Score >= 1000 )//Oro
{
if(PlayerInfo[playerid][pVip] < 1)
{
dUserSetINT(PlayerName2(playerid)).("Membrecia",(1));
PlayerInfo[playerid][pVip] = 1;
}
}
}
return 1;
}
Conosco el sistema y serнa de esta forma.
Solo define el Stock en el Spawnear asн: stock Vip(playerid); asн se verifica si esta logueado y si tiene el score se le dara el nivel Vip y se guardara pawn Код:
|