25.09.2013, 15:19
(
Последний раз редактировалось HatedS; 25.09.2013 в 15:20.
Причина: ..
)
Tenta adapta na sua GM ...
Код:
// INCLUDES // #include <a_samp> #include <foreach> #include <zcmd> #include <SII> new PlayerVip[SLOTS],// Variavel pra ver se o player й vip e o nivel vip dele _sStr[128],// Uma string global! meses// Variavel dos meses que serгo dado aos players vips! ; public OnGameModeExit() { 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; } //CMD /DARVIP 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 /VIPS .. 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; } public OnPlayerDisconnect(playerid, reason) { SalvarVip(playerid);// Salva a conta do player! return 1; } 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; }