[FilterScript] Sistema Gold [Base]

1 de jan. de 2013.

Bom, Criei esse FilterScript a pedido, não retire os creditos!

Comandos:
/dargold
/tirargold
/resetargold
/menu

Opçoes do Menu:
Comprar 1k
Comprar 2k
Comprar 5 Score
Comprar 10 Score

A cada 5 minutos você ganha gold.

Textdraw atualiza 1 segundo em 1 segundo.

Imagem:



Creditos: Don_Speed

Código:
pawn Code:
#include                  a_samp #include                  DOF2 #include                  zcmd #include                  sscanf2 #define                   DIALOG_MENU                                        125 #define                   Salvos                                   "Gold\%s.ini"// LOCAL QUE SALVA A CONTA COM O GOLD new Gold[MAX_PLAYERS],// VARIAVEL DO GOLD     Text:GoldText[MAX_PLAYERS],     DName[MAX_PLAYER_NAME],     Don[100],     ID,     Quantia; public OnFilterScriptInit() {     return 1; } public OnFilterScriptExit() {     return 1; } public OnPlayerConnect(playerid) {     GetPlayerName(playerid, DName, sizeof(DName));     format(Don, sizeof(Don), Salvos, DName);     if(DOF2_FileExists(Don))     {           Gold[playerid] = DOF2_GetInt(Don, "Gold");     }     else     {           DOF2_CreateFile(Don);           DOF2_SetInt(Don, "Gold", 0);           DOF2_SaveFile();           DOF2_Exit();     }     format(Don,sizeof(Don),"-!- Você possui %d Gold.", DOF2_GetInt(Don, "Gold"));     SendClientMessage(playerid, -1, Don);     SSetTimerEx("Atualizar", 1000, true, "i", playerid);     SetTimerEx("Ganha", 1000*60*5, true, "i", playerid);         GoldText[playerid] = TextDrawCreate(58.000000, 307.000000, "");     TextDrawBackgroundColor(GoldText[playerid], 255);     TextDrawFont(GoldText[playerid], 2);     TextDrawLetterSize(GoldText[playerid], 0.300000, 1.900000);     TextDrawColor(GoldText[playerid], -1);     TextDrawSetOutline(GoldText[playerid], 0);     TextDrawSetProportional(GoldText[playerid], 1);     TextDrawSetShadow(GoldText[playerid], 1);     TextDrawSetSelectable(GoldText[playerid], 0);     return 1; } public OnPlayerDisconnect(playerid, reason) {     GetPlayerName(playerid, DName, sizeof(DName));     format(Don, sizeof(Don), Salvos, DName);     DOF2_SetInt(Don, "Gold", Gold[playerid]);     DOF2_Save();     DOF2_Exit();     return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {     switch(dialogid)     {            case DIALOG_MENU:            {                 if(!response)return true;                 switch(listitem)                 {                     case 0:                     {                         if(Gold[playerid] < 20)return SendClientMessage(playerid,-1,"-!- Você não tem todo o score necesario.");                         GivePlayerMoney(playerid, 1000);// OU FAZER SETAR COM A FUNÇAO DE SEU GAMEMODE                         Gold[playerid] -= 20;                         SendClientMessage(playerid, -1,"-!- Compra efetuada com sucesso!");                     }                     case 1:                     {                         if(Gold[playerid] < 40)return SendClientMessage(playerid,-1,"-!- Você não tem todo o score necesario.");                         GivePlayerMoney(playerid, 2000);// OU FAZER SETAR COM A FUNÇAO DE SEU GAMEMODE                         Gold[playerid] -= 40;                         SendClientMessage(playerid, -1,"-!- Compra efetuada com sucesso!");                     }                     case 2:                     {                         if(Gold[playerid] < 10)return SendClientMessage(playerid,-1,"-!- Você não tem todo o score necesario.");                         SetPlayerScore(playerid, 5);// OU FAZER SETAR COM A FUNÇAO DE SEU GAMEMODE                         Gold[playerid] -= 10;                         SendClientMessage(playerid, -1,"-!- Compra efetuada com sucesso!");                     }                     case 3:                     {                         if(Gold[playerid] < 20)return SendClientMessage(playerid,-1,"-!- Você não tem todo o score necesario.");                         SetPlayerScore(playerid, 10);// OU FAZER SETAR COM A FUNÇAO DE SEU GAMEMODE                         Gold[playerid] -= 20;                         SendClientMessage(playerid, -1,"-!- Compra efetuada com sucesso!");                     }                                 }          }     }     return 1; } forward Ganha(playerid); public Ganha(playerid) {     Gold[playerid] += 1;     return true; } forward Atualizar(playerid); public Atualizar(playerid) {     format(Don,sizeof(Don),"Gold %d", Gold[playerid]);     TextDrawSetString(GoldText[playerid], Don);     TextDrawShowForPlayer(playerid, GoldText[playerid]);     return 1; } command(dargold,playerid,params[]) {     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,"-!- Você não esta logado na RCON!");     if(sscanf(params, "ud", ID, Quantia))return SendClientMessage(playerid, -1,"-!- Uso /dargold [ID] [Quantia]");     if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"-!- PlayerOff!");     Gold[ID] += Quantia;     format(Don,sizeof(Don),"-!- Você ganhou %d de gold , e possui %d Gold´s.", Quantia, Gold[ID]);     SendClientMessage(ID,-1,Don);     format(Don,sizeof(Don),"-!- Você deu %d para o ID %d, agora ele possui %d Gold´s.", Quantia , ID, Gold[ID]);     SendClientMessage(playerid,-1,Don);     return true; } command(tirargold,playerid,params[]) {     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,"-!- Você não esta logado na RCON!");     if(sscanf(params, "ud", ID, Quantia))return SendClientMessage(playerid, -1,"-!- Uso /tirargold [ID] [Quantia]");     if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"-!- PlayerOff!");     Gold[ID] -= Quantia;     format(Don,sizeof(Don),"-!- Você perdeu %d de gold , e possui %d Gold´s.", Quantia, Gold[ID]);     SendClientMessage(ID,-1,Don);     format(Don,sizeof(Don),"-!- Você tirou %d do ID %d, agora ele possui %d Gold´s.", Quantia , ID, Gold[ID]);     SendClientMessage(playerid,-1,Don);     return true; } command(resetargold,playerid,params[]) {     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,"-!- Você não esta logado na RCON!");     if(sscanf(params, "u", ID))return SendClientMessage(playerid, -1,"-!- Uso /resetargold [ID]");     if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"-!- PlayerOff!");     Gold[ID] -= Quantia;     format(Don,sizeof(Don),"-!- Você teve o gold resetado pelo id %d,", playerid);     SendClientMessage(ID,-1,Don);     format(Don,sizeof(Don),"-!- Você resetou o gold do id %d.",ID);     SendClientMessage(playerid,-1,Don);     return true; } command(menu,playerid,params[]) {     ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Menu", "20 Gold = 1K\n 40 Gold 2k\n10Gold = 5 Score\n20Gold = 10 Score", "Continuar", "Cancelar");     return 1; }

0 comentários:

Postar um comentário