Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Sistema de Moedas Verdes v1.0 - by BrinqueDo
- Primeira versão do sistema de moeda secundária (Moedas Verdes)
- - Salvamento de moedas para cada usuario em DOF2.
- - Primeiro comando de compra com mv's criados para seguirem o exemplo.
- - Comandos Admin: /darmoedasv - /darmoedasvtodos - /setarmoedasv - /setarmoedasvtodos - /resetarmoedasv logado em rcon
- - Sisteminha simples adicionado na compra para verificar se o usuario tem ou não mv's suficientes para efetuar a compra
- e pode ser usado como exemplo para a criação dos outros comandos.
- Créditos: A idéia de moeda secundária n faço a minima ideia de quem inventou, só atendi a pedidos e criei esse sisteminha mais completo.
- O nome Moedas Verdes foi criado pelo BPF.
- O code aqui contido foi criado do zero inteiramente por mim. Eu autorizo a cópia e alteração dos codes porém com os devidos créditos originais.
- Obs. é necessario ter o plugin sscanf.inc dentro da pasta plugins no diretorio do seu servidor, e adicione tambem a linha "plugins sscanf" ao seu server.cfg
- Obs2. é necessario ter a pasta moedas criada dentro da pasta scriptfiles do diretorio do seu servirdor. (SEUSERVIDOR/scriptfiles/moedas) caso contrario n ira funcionar
- */
- #include <a_samp>
- #include <DOF2>
- #include <zcmd>
- #include <sscanf2>
- //Defines
- #define amarelo 0xFFFF00FF
- #define azul 0x058AFFFF
- #define rosa 0xFF05CDFF
- #define verde 0x33AA33AA
- #define vermelho 0xFFFFFFAA
- #define branco 0xFFFFFFFF
- #define preto 0x000000FF
- #define cinza 0x878787FF
- #define azulclaro 0x03F2FFFF
- #define verdeclaro 0x03FF35FF
- #define roxo 0x7D03FFFF
- #define roxoclaro 0x9A03FFFF
- #define laranja 0xFF7403FF
- //enum's
- enum info
- {
- moedas,
- }
- // News
- new PlayerInfo[MAX_PLAYERS][info];
- new MoedasV[MAX_PLAYERS];
- new ID;
- new PONTOS;
- new Text:Moedas;
- // Forwards
- forward Dinheiro(playerid);
- //Publics
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Sistema de Moedas Verdes - by BrinqueDo");
- print("--------------------------------------\n");
- SetTimer("Dinheiro",1000, 1); // Fica atualizando o numero de moedas
- return 1;
- }
- 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))
- {
- CarregarConta(playerid);
- }
- else
- {
- CriarConta(playerid);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid, Moedas);
- }
- public Dinheiro(playerid)
- {
- TextDrawDestroy(Moedas);
- new str[128];
- format(str, 256, "~g~MV~r~:~w~%d", PlayerInfo[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 OnPlayerRequestClass(playerid, classid)
- {
- SpawnPlayer(playerid); // E depois disso, ele 'Spawnará'
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarConta(playerid);
- return 1;
- }
- public OnFilterScriptExit()
- {
- TextDrawHideForAll(Moedas);
- TextDrawDestroy(Moedas);
- DOF2_Exit();
- return 1;
- }
- CMD:moedasv(playerid)
- {
- SendClientMessage(playerid, azul, "Comandos Admin: /darmoedasv - /darmoedasvtodos - /setarmoedasv - /setarmoedasvtodos - /resetarmoedasv");
- SendClientMessage(playerid, azul, "Comandos Player: /comprardinheiro");
- return 1;
- }
- // Comandos Admin
- CMD:darmoedasv(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "Você não é administrador !");
- if(sscanf(params, "ud", ID, PONTOS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /darmoedasv [ID][QUANTIDADE]");
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[ERRO] ID invalido");
- PlayerInfo[ID][moedas] = PlayerInfo[ID][moedas] + PONTOS;
- return 1;
- }
- CMD:darmoedasvtodos(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "Você não é administrador !");
- if(sscanf(params, "d", PONTOS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /darmoedasvtodos [QUANTIDADE]");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerInfo[i][moedas] = PlayerInfo[i][moedas] + PONTOS;
- }
- }
- return 1;
- }
- CMD:setarmoedasvtodos(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "Você não é administrador !");
- if(sscanf(params, "d", PONTOS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /setarmoedasvtodos [QUANTIDADE]");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerInfo[i][moedas] = PONTOS;
- }
- }
- return 1;
- }
- CMD:setarmoedasv(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "Você não é administrador !");
- if(sscanf(params, "ud", ID, PONTOS)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /setarmoedasv [ID][QUANTIDADE]");
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[ERRO] ID invalido");
- PlayerInfo[ID][moedas] = PONTOS;
- return 1;
- }
- CMD:resetarmoedasv(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, cinza, "Você não é administrador !");
- if(sscanf(params, "u", ID)) return SendClientMessage(playerid, vermelho, "[MOEDAS] Use /resetarmoedasv [ID]");
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, vermelho, "[ERRO] ID invalido");
- PlayerInfo[ID][moedas] = 0;
- 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,"Valor mínimo: 10000 Reais - Valor Máximo: 500000 Reais");
- if(qtd/1000 >= PlayerInfo[playerid][moedas]) return SendClientMessage(playerid, vermelho,"Você não tem Moedas Verdes suficientes.");
- PlayerInfo[playerid][moedas] = PlayerInfo[playerid][moedas] - qtd/1000;
- GivePlayerMoney(playerid, qtd);
- return 1;
- }
- // Stocks
- stock GetName(playerid)
- {
- new name[24];
- GetPlayerName(playerid,name,24);
- return name;
- }
- stock CriarConta(playerid)
- {
- new arquivo[36];
- format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
- DOF2_CreateFile(arquivo);
- DOF2_SetInt(arquivo, "moedas", 0);
- DOF2_SaveFile();
- }
- stock CarregarConta(playerid)
- {
- new arquivo[36];
- format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
- PlayerInfo[playerid][moedas] = 0;
- PlayerInfo[playerid][moedas] = DOF2_GetInt(arquivo, "moedas");
- }
- stock SalvarConta(playerid)
- {
- new arquivo[36];
- format(arquivo,sizeof arquivo,"/moedas/%s.txt",GetName(playerid));
- DOF2_SetInt(arquivo, "moedas", PlayerInfo[playerid][moedas]);
- DOF2_SaveFile();
- }
- stock GetPlayerMoedasV(playerid)
- {
- return MoedasV[playerid];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement