14.03.2016, 17:38
(
Последний раз редактировалось Inks; 14.03.2016 в 18:32.
)
Hola quй tal cуmo estбn usuarios de Forum SAMP, bueno la verdad no tengo la suficiente experiencia para hacer esto es por eso que he decidido publicar aca el codigo para ver si alguien me ayuda bueno voy directo al grano.
El tema se trata de que quisiera que si alguien fuera tan amable en ayudarme lo que quiero es lo siguiente:
Explicaciуn: Bueno como verбn uso un ladmin que usa sistema de guardado dini si no me equivoco es dini y quisiera hacer un sistema para que el VIP caduque cada 30 dнas no sй si me hago entender osea lo que quiero es lo siguiente: Adaptar un sistema para que cuando le des el VIP a un usuario le caduque el VIP a los 30 dнas y les dejo el cmd de dcmd_listavip para ver si me pueden hacer tambiйn para que salga cuando uses ese comando: Puedas ver los VIPS conectados y los dнas de VIP que le quedan gracias.
El tema se trata de que quisiera que si alguien fuera tan amable en ayudarme lo que quiero es lo siguiente:
Explicaciуn: Bueno como verбn uso un ladmin que usa sistema de guardado dini si no me equivoco es dini y quisiera hacer un sistema para que el VIP caduque cada 30 dнas no sй si me hago entender osea lo que quiero es lo siguiente: Adaptar un sistema para que cuando le des el VIP a un usuario le caduque el VIP a los 30 dнas y les dejo el cmd de dcmd_listavip para ver si me pueden hacer tambiйn para que salga cuando uses ese comando: Puedas ver los VIPS conectados y los dнas de VIP que le quedan gracias.
Quote:
Acб les dejo los dos comandos: dcmd_setvip(playerid,params[]) { if(PlayerInfo[playerid][LoggedIn] == 1) { new pame[MAX_PLAYER_NAME]; GetPlayerName(playerid, pame, sizeof(pame)); if(!strcmp(NickAutorizado1,pame,true) ||!strcmp(NickAutorizado2,pame,true) ||!strcmp(NickAutorizado3,pame,true)) { if(PlayerInfo[playerid][Level] >= 7 || IsPlayerAdmin(playerid)) { new tmp [256]; new Index; tmp = strtok(params,Index); tmp2 = strtok(params,Index); if(!strlen(params)) return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-5)]") && SendClientMessage(playerid, orange, "Funciуn: Especifique el Tipo de Cuenta (0-NormalAcc,1-Silver,2-Gold,3-Premium,4-Platinum,5-ExTrema)"); new player1, type, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME]; player1 = strval(tmp); if(!strlen(tmp2)) return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setvip [PlayerID] [AccountType (0-5)]") && SendClientMessage(playerid, orange, "Funciуn: Especifique el Tipo de Cuenta (1-Silver,2-Gold,3-Premium,4-Platinum,5-ExTrema)"); type = strval(tmp2); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) { if(PlayerInfo[player1][LoggedIn] == 1) { if(type > 5) return SendClientMessage(playerid,red,"ERROR: Tipo de Cuenta Invalida!"); if(type == PlayerInfo[player1][pVip]) return SendClientMessage(playerid,red,"ERROR: Este Player Ya Tiene Este Tipo de Cuenta!"); CMDMessageToAdmins(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 = "Silver"; case 2: AccType = "Gold"; case 3: AccType = "Premium"; case 4: AccType = "Platinum"; case 5: AccType = "ExTrema"; } if(type > 0) format(string2,sizeof(string2),"|- Administrador %s a Cambiado Tu Cuenta a: %s",adminname,AccType); else format(string2,sizeof(string2),"|- Administrador %s a Cambiado Tu Cuenta a: 'Cuenta Normal!",adminname); SendClientMessage(player1,0x66C178AA,string2); if(type > PlayerInfo[player1][pVip]) GameTextPlayer(player1,"Promoted", 2000, 3); else GameTextPlayer(player1,"Demoted", 2000, 3); format(string2,sizeof(string2),"Usted ha dado a %s El Tipo de Cuenta: %s on '%d/%d/%d' at '%d:%d:%d'", playername, AccType, day, month, year, hour, minute, second); SendClientMessage(playerid,0x00C378AA,string2); format(string2,sizeof(string2),"Administrador %s ha hecho a %s el Tipo de Cuenta: %s",adminname, playername, AccType); SaveToFile("VipLog",string2); dUserSetINT(PlayerName2(player1)).("AccountType",( type)); PlayerInfo[player1][pVip] = type; return PlayerPlaySound(player1,1057,0.0,0.0,0.0); } else return SendClientMessage(playerid,red,"ERROR: This player is not Registred or Logged!"); } else return SendClientMessage(playerid,red,"ERROR: Tu No Tienes El Lvl Suficiente Para Usar Este Comando!"); } else return SendClientMessage(playerid,red,"ERROR: El Jugador No Esta Conectado!"); } else return SendClientMessage(playerid,red,"Lo Sentimos solo Samuel, Puede Dar Cuenta VIP"); } else return SendClientMessage(playerid,red,"ERROR: Tu Debes Estar Logeado (/login) para Usar Este Comando"); } dcmd_listavip(playerid,params[]) { #pragma unused params new conteo, vips[7000],texto[128],titulo[128]; for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { if(PlayerInfo[i][pVip] >= 1) { conteo++; } } if(conteo == 0)return SendClientMessage(playerid,red,"No hay miembros Vips Conectados"); //Si no hay Vips format(titulo,128,"{40FF00}|| Vips Conectados ||: {FFFFFF}>> %d <<",conteo); //Se contaron los vips conectados for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pVip] >= 1) { //Si el player es VIP format(texto,128,"{FFFFFF}%s [ID: %d] {00FFFF}[Cuenta: %d] \n",PlayerName2(i),i,PlayerInfo[i][pVip]); strcat(vips,texto); } } ShowPlayerDialog(playerid,79,DIALOG_STYLE_LIST,tit ulo,vips,"Cerrar",""); return 1; } |