15.02.2013, 17:48
(
Последний раз редактировалось Coringa_Vilao; 07.11.2015 в 02:39.
)
Resolvido !
// ====== INCLUDES =======//
#include <a_samp>
#include <foreach>
#include <SII>
#include <zcmd>
#include <sscanf2>
//=========================== COMEЗO DO GM ===================================//
#define COR_VIP 0xFFBEFFE2
#define COR_AZULZINHO 0x00A5FFFF
#define COR_AMARELO2 0xFFFF00AA
#define COR_VERDE 0x00FF00FF
#define COR_AZULZAO 0x005FFFFF
new
PlayerVip[SLOTS],
_sStr[128],
iddele,
meses
;
//======================= COLOCA NA CALLBACK ONGAMEMODEINIT ===============================//
foreach(Player, i)// Loop em foreach!
{
SalvarVip(i);// Salva as contas!
}
//======================= COLOCA NA CALLBACK ONPLAYERCONNECT ===============================//
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);
}
//======================= COLOCA NA CALLBACK ONPLAYERDISCONNECT ===============================//
SalvarVip(playerid);// Salva a conta do player!
return 1;
//================================================= FINAL DO GAME MODE =================================================//
CMD:ajudavip(playerid, params[])
{
if(PlayerVip[playerid] >= 1)// Se ele for VIP maior ou igual a um manda essa mensagem abaixo \/
{
SendClientMessage(playerid, -1, "/vips /socios /equiparvip");
}
if(IsPlayerAdmin(playerid))// Se ele for admin, manda essa tambem \/
{
SendClientMessage(playerid, -1, "/darvip /darsvip /darsocio /tirarvip");
}
return 1;
}
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;
}
CMD:socios(playerid, params[])
{
SendClientMessage(playerid, -1 , "Socios Onlines:");
foreach(Player, i)
{
if(IsPlayerConnected(i))
{
if(PlayerVip[playerid] == 3)
{
format(_sStr, 40, "SOCIO: %s", pNome(i));
SendClientMessage(playerid, COR_VERDE, _sStr);
}
}
}
return 1;
}
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:darsvip(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
if(sscanf(params, "ud", iddele, meses))
return SendClientMessage(playerid, -1, "Correto: /darsvip [id] [meses]");
if(!IsPlayerConnected(iddele))
return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
PlayerVip[iddele] = 2;
SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*3);
GivePlayerMoney(iddele, meses*20000);
format(_sStr, 100, "Atenзгo o admin %s te deu %d meses SUPER-VIP com %d Nнveis e R$ %d.", pNome(playerid), meses, meses*3, meses*20000);
SendClientMessage(iddele, COR_AZULZAO, _sStr);
format(_sStr, 100, "Vocк deu %d meses de SUPER-VIP para o %s", meses, pNome(iddele));
SendClientMessage(playerid, COR_AZULZAO, _sStr);
return 1;
}
CMD:darsocio(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
if(sscanf(params, "ud", iddele, meses))
return SendClientMessage(playerid, -1, "Correto: /darsocio [id] [meses]");
if(!IsPlayerConnected(iddele))
return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
PlayerVip[iddele] = 3;
SetPlayerScore(iddele, GetPlayerScore(iddele) + meses*4);
GivePlayerMoney(iddele, meses*30000);
format(_sStr, 100, "Atenзгo o admin %s te deu %d meses de Sуcio com %d Nнveis e R$ %d.", pNome(playerid), meses, meses*4, meses*30000);
SendClientMessage(iddele, COR_AZULZAO, _sStr);
format(_sStr, 100, "Vocк deu %d meses de Sуcio para o %s", meses, pNome(iddele));
SendClientMessage(playerid, COR_AZULZAO, _sStr);
return 1;
}
CMD:tirarvip(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
if(sscanf(params, "u", iddele))
return SendClientMessage(playerid, -1, "Correto: /tirarvip [id]");
if(!IsPlayerConnected(iddele))
return SendClientMessage(playerid, -1, "Esse jogador nгo estб online");
if(PlayerVip[iddele] == 0)
return SendClientMessage(playerid, -1, "Esse jogador nгo й VIP/S-VIP/SOCIO");
PlayerVip[iddele] = 0;// Seta o nivel vip do cara pra 0!
format(_sStr, 80, "O administrador %s tirou seu VIP/S-VIP/SOCIO!", pNome(playerid));
SendClientMessage(iddele, COR_AZULZAO, _sStr);
format(_sStr, 80, "Vocк tirou o VIP/S-VIP/SOCIO do %s", pNome(iddele));
SendClientMessage(playerid, COR_AZULZAO, _sStr);
format(_sStr, 35, "Vips/%s.ini", pNome(playerid));// Formata o local da Pasta!
if(fexist(_sStr))// Se a o arquivo existir, remove ele \/
{
INI_Remove(_sStr);// Remove o arquivo!
}
return 1;
}
CMD:equiparvip(playerid, params[])
{
if(PlayerVip[playerid] == 1)// Se ele for VIP vai dar essas armas:
{
GivePlayerWeapon(playerid, 24, 999);
GivePlayerWeapon(playerid, 31, 999);// Da a armas 31 com 999 balas ao player!
SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos VIP!");
}
else if(PlayerVip[playerid] == 2)// Se ele for SuperVip vai dar essas armas:
{
SetPlayerHealth(playerid, 100);
GivePlayerWeapon(playerid, 24, 999);
GivePlayerWeapon(playerid, 31, 999);
GivePlayerWeapon(playerid, 4, 999);
GivePlayerWeapon(playerid, 29, 999);
SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos SUPER VIP!");
}
else if(PlayerVip[playerid] == 3)// Se ele for Sуcio vai dar essas armas:
{
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
GivePlayerWeapon(playerid, 24, 999);
GivePlayerWeapon(playerid, 31, 999);
GivePlayerWeapon(playerid, 4, 999);
GivePlayerWeapon(playerid, 29, 999);
GivePlayerWeapon(playerid, 38, 999);
GivePlayerWeapon(playerid, 46, 999);
SendClientMessage(playerid, COR_AZULZINHO, "Vocк pegou seus equipamentos de SУCIO!");
}
else if(PlayerVip[playerid] == 0)// Se ele nao for VIP, vai mandar essa mensagem :)
return SendClientMessage(playerid, -1, "Vocк nгo й vip!");
return 1;
}
CMD:salvarvips(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Vocк nгo estб autorizado a usar esse comando !");
foreach(Player, i)// Loop
{
SalvarVip(i); // Salva as contas!
}
SendClientMessage(playerid, -1, "Todos os Vips/Super-Vips/Socios onlines foram salvos com sucesso!");
return 1;
}
CMD:chatvip(playerid, params[])
{
new String[128];// String!
if(PlayerVip[playerid] == 0)// Se o player nгo for VIP manda amensagem abaixo!
return SendClientMessage(playerid, -1, "Vocк nгo й Vip/Super-Vip/Sуcio");
if(sscanf(params, "s[100]", _sStr))//Sscanf!
return SendClientMessage(playerid, -1, "Correto: /chatvip [chat]");
if(PlayerVip[playerid] == 1)// Se o cara for VIP nivel 1...
{
format(String, 128, "VIP %s: %s", pNome(playerid), _sStr);
MensagemVips(COR_AMARELO2, String);
}
else if(PlayerVip[playerid] == 2)// Se for vip nivel 2
{
format(String, 128, "SUPER-VIP %s: %s", pNome(playerid), _sStr);
MensagemVips(COR_AMARELO2, String);
}
else if(PlayerVip[playerid] == 3)// se for vip nivel 3
{
format(String, 128, "* SOCIO %s: %s", pNome(playerid), _sStr);
MensagemVips(COR_AMARELO2, String);
}
return 1;
}
forward MensagemVips(cor, string[]);
public MensagemVips(cor, string[])// Funзгo que envia mensagem pros VIPS!!
{
foreach(Player, i)// Loop!
{
if(IsPlayerConnected(i))// Players vips conectados!
{
if(PlayerVip[i] >= 1)// Se o vip for maior que 1
{
SendClientMessage(i, cor, string);// manda a mensagem!
}
}
}
}
// ========= STOCKS ========= //
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;
}
C:\Documents and Settings\Jefferson\Desktop\[Brasil] Zombie Tracker [v1.0]\gamemodes\BZT.pwn(605) : warning 225: unreachable code
// Isso й Algum Cуdigo que Estб Errado
C:\Documents and Settings\Jefferson\Desktop\[Brasil] Zombie Tracker [v1.0]\gamemodes\BZT.pwn(113) : error 017: undefined symbol "SLOTS"
// Variбvel Nгo Estб Definida
Eu posso atй ser ban mais vou mandar a REAL.
VAI TOMAR NO SEU CU FILHO DA PUTA, quer criar um GM na base de edit/ctrl c,v.. Se nгo conhece a PORRA da linguagem pawn, pa que tб criando a desgraзa deste teu server? Podia ter um pouco mais de vontade e parar de pedir ajudas bobas. E ter um pouco mais de VONTADE. Pode denunciar, sei que vгo me banir mais pelo menos falei tudo que tinha que falar de um cara desse. |