Postado 10/7/2015, 23:07
Por Favor
Última edição por Scripter/Geral em 11/7/2015, 22:47, editado 1 vez(es)
Você não está conectado. Conecte-se ou registre-se
Última edição por Scripter/Geral em 11/7/2015, 22:47, editado 1 vez(es)
//enum's
enum MoedasInfo
{
moedas,
}
// News
new PlayerMoedasInfo[MAX_PLAYERS][MoedasInfo];
new MoedasV[MAX_PLAYERS];
new Text:Moedas;
// Forwards
forward MoedasVerdes(playerid);
//Publics
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Sistema de Moedas Verdes - by BrinqueDo");
print("--------------------------------------\n");
SetTimer("MoedasVerdes",1000, 1); // Fica atualizando o numero de moedas
return 1;
}
main (){}
public OnPlayerConnect(playerid)
{
new nome[MAX_PLAYER_NAME];
new arquivo[40];
GetPlayerName(playerid, nome, 32);
format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
if(DOF2_FileExists(arquivo))
{
CarregarMoedas(playerid);
}
else
{
CriarMoedas(playerid);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, Moedas);
}
public MoedasVerdes(playerid)
{
TextDrawDestroy(Moedas);
new str[128];
format(str, 256, "~g~MV~r~:~w~%d", PlayerMoedasInfo[playerid][moedas]);
Moedas = TextDrawCreate(496.000000, 122.000000,str);
TextDrawBackgroundColor(Moedas, 255);
TextDrawFont(Moedas, 2);
TextDrawLetterSize(Moedas, 0.509999, 2.100000);
TextDrawColor(Moedas, -1);
TextDrawSetOutline(Moedas, 1);
TextDrawSetProportional(Moedas, 0);
for(new i; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
TextDrawHideForPlayer(i, Moedas);
TextDrawShowForPlayer(i, Moedas);
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarMoedas(playerid);
return 1;
}
public OnFilterScriptExit()
{
TextDrawHideForAll(Moedas);
TextDrawDestroy(Moedas);
DOF2_Exit();
return 1;
}
CMD:moedasverdes(playerid)
{
SendClientMessage(playerid, azul, "Comandos Player: /comprardinheiro /comprarscore /transferirmoedasv");
SendClientMessage(playerid, azul, "Ajuda: Você ganha moedas verdes em eventos.");
return 1;
}
CMD:moedasvadmin(playerid)
{
SendClientMessage(playerid, azul, "Comandos Admin: /darmoedasv - /darmoedasvtodos - /setarmoedasv - /setarmoedasvtodos - /resetarmoedasv - /vermoedas");
SendClientMessage(playerid, azul, "Ajuda: Você precisa estar logado na rcon. (/rcon login [senha])");
return 1;
}
// Comandos Admin
CMD:darmoedasv(playerid,params[])
{
new ID, MOEDAS;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "ud", ID, MOEDAS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /darmoedasv [ID][QUANTIDADE]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] ID invalido");
PlayerMoedasInfo[ID][moedas] = PlayerMoedasInfo[ID][moedas] + MOEDAS;
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você deu %d moedas para %s.", MOEDAS, GetName(ID));
SendClientMessage(playerid, verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] Você ganhou %d moedas do admin %s.", MOEDAS, GetName(playerid));
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
CMD:darmoedasvtodos(playerid,params[])
{
new MOEDAS;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "d", MOEDAS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /darmoedasvtodos [QUANTIDADE]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerMoedasInfo[i][moedas] = PlayerMoedasInfo[i][moedas] + MOEDAS;
}
}
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você deu %d moedas para todos.", MOEDAS);
SendClientMessage(playerid, verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] Você ganhou %d moedas do admin %s.", MOEDAS, GetName(playerid));
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
CMD:setarmoedasvtodos(playerid,params[])
{
new MOEDAS;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "d", MOEDAS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /setarmoedasvtodos [QUANTIDADE]");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
PlayerMoedasInfo[i][moedas] = MOEDAS;
}
}
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você setou as moedas de todos para %d.", MOEDAS);
SendClientMessageToAll(verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] Suas moedas foram setadas para %d pelo admin %s.", MOEDAS, GetName(playerid));
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
CMD:setarmoedasv(playerid,params[])
{
new ID, MOEDAS;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "ud", ID, MOEDAS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /setarmoedasv [ID][QUANTIDADE]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Erro: ID invalido");
PlayerMoedasInfo[ID][moedas] = MOEDAS;
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você setou as moedas de %s para %d.", GetName(ID), MOEDAS);
SendClientMessage(playerid, verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] Suas moedas foram setadas para %d pelo admin %s.", MOEDAS, GetName(playerid));
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
CMD:resetarmoedasv(playerid,params[])
{
new ID;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /resetarmoedasv [ID]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Erro: ID invalido");
PlayerMoedasInfo[ID][moedas] = 0;
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você resetou as moedas de %s.", GetName(ID));
SendClientMessage(playerid, verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] Suas moedas foram resetadas pelo admin %s.", GetName(playerid));
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
CMD:vermoedasv(playerid,params[])
{
new ID;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "[MOEDAS] Você não é administrador !");
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /vermoedasv [ID]");
new vermoedasv[200];
format(vermoedasv, sizeof(vermoedasv),"[MOEDAS] %s tem %d moedas verdes.",GetName(ID), GetPlayerMoedasV(ID));
SendClientMessage(playerid, verdeclaro, vermoedasv);
return 1;
}
CMD:transferirmoedasv(playerid,params[])
{
new ID, MOEDAS;
if(sscanf(params, "ud", ID, MOEDAS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /transferirmoedasv [ID][QUANTIDADE]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] ID invalido");
if(MOEDAS >= PlayerMoedasInfo[playerid][moedas]) return SendClientMessage(playerid, vermelho,"[MOEDAS] Você não tem Moedas Verdes suficientes.");
PlayerMoedasInfo[playerid][moedas] = PlayerMoedasInfo[playerid][moedas] - MOEDAS;
PlayerMoedasInfo[ID][moedas] = PlayerMoedasInfo[ID][moedas] + MOEDAS;
new msgadm[200];
format(msgadm, sizeof(msgadm),"[MOEDAS] Você transferiu %d moedas para %s.", MOEDAS, GetName(ID));
SendClientMessage(playerid, verdeclaro, msgadm);
new msgplayer[200];
format(msgplayer, sizeof(msgplayer),"[MOEDAS] %s transferiu %d moedas para você.", GetName(playerid), MOEDAS);
SendClientMessage(playerid, verdeclaro, msgplayer);
return 1;
}
// Comandos Player
CMD:comprardinheiro(playerid,params[])
{
new qtd;
if(sscanf(params, "d", qtd)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /comprardinheiro [QUANTIDADE] - 10000 Reais = 10 MV");
if(qtd < 10000 || qtd > 500000) return SendClientMessage(playerid, vermelho,"[MOEDAS] Valor mínimo: 10000 Reais - Valor Máximo: 500000 Reais");
if(qtd/1000 >= PlayerMoedasInfo[playerid][moedas]) return SendClientMessage(playerid, vermelho,"[MOEDAS] Você não tem Moedas Verdes suficientes.");
PlayerMoedasInfo[playerid][moedas] = PlayerMoedasInfo[playerid][moedas] - qtd/1000;
GivePlayerMoney(playerid, qtd);
return 1;
}
CMD:comprarscore(playerid,params[])
{
new qtd;
if(sscanf(params, "d", qtd)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /comprarscore [QUANTIDADE] - 1000 Score = 10 MV");
if(qtd < 1000 || qtd > 50000) return SendClientMessage(playerid, vermelho,"[MOEDAS] Valor mínimo: 1000 Score - Valor Máximo: 50000 Score por compra.");
if(qtd/100 >= PlayerMoedasInfo[playerid][moedas]) return SendClientMessage(playerid, vermelho,"[MOEDAS] Você não tem Moedas Verdes suficientes.");
PlayerMoedasInfo[playerid][moedas] = PlayerMoedasInfo[playerid][moedas] - qtd/100;
SetPlayerScore(playerid,GetPlayerScore(playerid) +qtd);
return 1;
}
// Stocks
stock GetName(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
return name;
}
stock CriarMoedas(playerid)
{
new arquivo[36];
format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "moedas", 0);
DOF2_SaveFile();
PlayerMoedasInfo[playerid][moedas] = 0;
}
stock CarregarMoedas(playerid)
{
new arquivo[36];
format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
PlayerMoedasInfo[playerid][moedas] = 0;
PlayerMoedasInfo[playerid][moedas] = DOF2_GetInt(arquivo, "moedas");
}
stock SalvarMoedas(playerid)
{
new arquivo[36];
format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
DOF2_SetInt(arquivo, "moedas", PlayerMoedasInfo[playerid][moedas]);
DOF2_SaveFile();
}
stock GetPlayerMoedasV(playerid)
{
return MoedasV[playerid];
}
CMD:comprarnivel(playerid,params[])
{
if(sscanf(params, "d", qtd)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /comprarnivel 1 Nivel = 10 MV");
if(PlayerMoedasInfo[playerid][moedas] >= 10) return SendClientMessage(playerid, vermelho,"[MOEDAS] Você não tem Moedas Verdes suficientes.");
PlayerMoedasInfo[playerid][moedas] = PlayerMoedasInfo[playerid][moedas] - 10;
PlayerMoedasInfo[playerid][nivel] = PlayerMoedasInfo[playerid][nivel] + 1;
return 1;
}
Tópicos semelhantes
Permissões neste sub-fórum
Não podes responder a tópicos