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:
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