Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ZCMD>
- #include <YSI/y_ini>
- native sscanf(const data[], const format[], {Float,_}:...);
- #define MaxPlayers (15)
- #define ParseFile(%0,%1,%2) \
- forward %0(playerid,%1,%2); \
- public %0(playerid,%1,%2)
- new
- VipPoints[MaxPlayers],
- Text:Textdraw[MaxPlayers]
- ;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" VIP System by RockFire loaded");
- print("--------------------------------------\n");
- for(new i, j = GetMaxPlayers(); i < j; ++i)
- {
- Textdraw[i] = TextDrawCreate(500.000000, 9.000000, "~g~Pontos: ~w~999999999");
- TextDrawBackgroundColor(Textdraw[i], 255);
- TextDrawFont(Textdraw[i], 3);
- TextDrawLetterSize(Textdraw[i], 0.310000, 1.100000);
- TextDrawColor(Textdraw[i], -1);
- TextDrawSetOutline(Textdraw[i], 1);
- TextDrawSetProportional(Textdraw[i], 1);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid,Textdraw[playerid]);
- UpdateTextDraw(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid,killerid,reason)
- {
- TextDrawHideForPlayer(playerid,Textdraw[playerid]);
- return 1;
- }
- CMD:fsetvip(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- new v[2];
- if(sscanf(params,"ii",v[0],v[1]))
- return SendClientMessage(playerid,-1,"{94ED40}USE: /fsetvip [id] [pontos]");
- new sStr[128];
- format(sStr,128,"{94ED40}Você recebeu {FF5500}%i {94ED40}pontos de algum administrador, use '/vipmenu'",v[1]);
- SendClientMessage(v[0],-1,sStr);
- GetPlayerName(playerid,sStr,23);
- format(sStr,128,"{94ED40}Você setou os pontos vips de {FF5500}%s {94ED40}para {FF5500}%i",sStr,v[1]);
- ShowPlayerDialog(playerid,309,DIALOG_STYLE_MSGBOX,"VIP:",sStr,"Fechar","");
- VipPoints[ v[0] ] = v[1];
- UpdateTextDraw(v[0]);
- return 1;
- }
- CMD:vipmenu(playerid,params[])
- {
- if(VipPoints[playerid] <= 0) return SendClientMessage(playerid,-1,"{FF0000}Você não é vip");
- ShowPlayerDialog(playerid,350,DIALOG_STYLE_LIST,"VIP:","Comprar veículo\nComprar nitro\nComprar armas\nDar pontos","OK","Cancelar");
- return 1;
- }
- CMD:vip(playerid,params[])
- {
- new sStr[50];
- format(sStr,50,"{FF5500}Você tem %i pontos",VipPoints[playerid]);
- SendClientMessage(playerid,-1,sStr);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new sStr[23];
- GetPlayerName(playerid,sStr,23);
- INI_ParseFile("vip_list.txt",sStr,.bExtra = true, .extra = playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- new
- sStr[23],
- INI:File = INI_Open("vip_list.txt")
- ;
- GetPlayerName(playerid,sStr,23);
- INI_RemoveEntry(File,sStr);
- INI_WriteInt(File,sStr,VipPoints[playerid]);
- INI_Close(File);
- VipPoints[playerid] = 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case 350:
- {
- switch(listitem)
- {
- case 0:
- {
- if(response)
- {
- ShowPlayerDialog(playerid,351,DIALOG_STYLE_INPUT,"VIP:","Digite o modelo do carro abaixo","OK","Calcelar");
- return 1;
- }
- }
- case 1:
- {
- if(response)
- {
- if(VipPoints[playerid] <= 0)
- return 1;
- if(!IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid,-1,"{94ED40}Você precisa estar em um veículo");
- AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
- SendClientMessage(playerid,-1,"{FF5500}Você comprou nitro para seu carro, custo de {94ED40}500 {FF5500}pontos vip");
- VipPoints[playerid] -= 500;
- UpdateTextDraw(playerid);
- return 1;
- }
- }
- case 2:
- {
- if(response)
- {
- ShowPlayerDialog(playerid,352,DIALOG_STYLE_INPUT,"VIP:","Insira o id de uma arma","OK","Cancelar");
- return 1;
- }
- }
- case 3:
- {
- if(response)
- {
- SetPVarInt(playerid,"Player_",strval(inputtext));
- ShowPlayerDialog(playerid,353,DIALOG_STYLE_INPUT,"VIP:","Digite a quantia","OK","Cancelar");
- }
- }
- }
- }
- case 351:
- {
- if(!inputtext[0] || strval(inputtext) < 400 || strval(inputtext) > 609)
- return SendClientMessage(playerid,-1,"{FF5500}Digite um id válido");
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid,-1,"{FF5500}Você está em um veículo");
- new price;
- switch(strval(inputtext))
- {
- case 592,577,519:
- price = 40000;
- case 511,512,476,460,513:
- price = 6000;
- case 553:
- price = 12000;
- case 520:
- price = 70000;
- case 402,415:
- price = 12000;
- case 432:
- price = 70000;
- case 451,541:
- price = 25000;
- case 411,506:
- price = 30000;
- case 548,417,487,488,489,563,469:
- price = 24000;
- case 447:
- price = 40000;
- case 425:
- price = 70000;
- default:
- price = 5000;
- }
- if(VipPoints[playerid] < price)
- return SendClientMessage(playerid,-1,"Você não tem pontos suficientes");
- new
- sStr[128],
- Float:x[4]
- ;
- GetPlayerPos(playerid,x[0],x[1],x[2]);
- GetPlayerFacingAngle(playerid,x[3]);
- PutPlayerInVehicle(playerid,CreateVehicle(strval(inputtext),x[0],x[1],x[2],x[3]+2,random(999),random(999),-1),0);
- format(sStr,128,"{94ED40}Você comprou um veículo, custo de {FF5500}%i {94ED40}pontos vip",price);
- SendClientMessage(playerid,-1,sStr);
- VipPoints[playerid] -= price;
- UpdateTextDraw(playerid);
- return 1;
- }
- case 352:
- {
- if(response)
- {
- if(VipPoints[playerid] < 15000)
- return SendClientMessage(playerid,-1,"{00FFFF}Você não tem pontos suficientes");
- GivePlayerWeapon(playerid,strval(inputtext),0x000F423F);
- VipPoints[playerid] -= 15000;
- UpdateTextDraw(playerid);
- }
- return 1;
- }
- case 353:
- {
- if(response)
- {
- if(VipPoints[playerid] < strval(inputtext))
- return SendClientMessage(playerid,-1,"{00FFFF}Você não tem pontos suficientes");
- VipPoints[ GetPVarInt(playerid,"Player_") ] += strval(inputtext);
- VipPoints[playerid] -= strval(inputtext);
- new sStr[128];
- GetPlayerName(playerid,sStr,23);
- format(sStr,128,"Você deu %i pontos para %s",strval(inputtext),sStr);
- SendClientMessage(playerid,-1,sStr);
- GetPlayerName(GetPVarInt(playerid,"Player_"),sStr,23);
- format(sStr,128,"Você recebeu %i pontos de %s",strval(inputtext),sStr);
- SendClientMessage(playerid,-1,sStr);
- UpdateTextDraw(playerid);
- UpdateTextDraw(GetPVarInt(playerid,"Player_"));
- }
- return 1;
- }
- }
- return 1;
- }
- ParseFile(Vip,name[],value[])
- {
- #pragma unused name, value
- new sStr[23];
- GetPlayerName(playerid,sStr,23);
- INI_Int(sStr,"Points",VipPoints[playerid]);
- return 1;
- }
- UpdateTextDraw(playerid)
- {
- new sStr[50];
- format(sStr,50,"~g~Pontos: ~w~%09d",VipPoints[playerid]);
- TextDrawSetString(Textdraw[playerid],sStr);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement