Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Sistema de carteira de motorista e radar feito por Darth_Vader, mantenha os créditos porfavor //
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #include <DOF2>
- #include <streamer>
- #include <foreach>
- // Pastas //
- #define PastaPontos "Carteiras/%s.ini"
- #define PastaRadar "Radares/Radar%d.ini"
- // Valores da compra da carteira, caso queira mudar o valor de compra é só trocar os valores a seguir por o valor que desejar //
- #define VALOR_DINHEIRO 5000
- #define VALOR_SCORE 20
- // ID do Dialog da compra da carteira(recomendavél que troque para um id que não esteja sendo utilizado para não dar conflito) //
- #define DIALOG_COMPRARCARTEIRA 1
- // Quantidade máxima de radares que podem ser criados //
- #define MAX_RADAR 100
- // Variáveis //
- // Velocimetro //
- new Text:Velocimetro[2];
- // Radar //
- enum InfoRadar
- {
- Float:PozX,
- Float:PozY,
- Float:PozZ,
- Float:PozA,
- Velomax,
- Tolerancia,
- Icone,
- Text3D:TextoRadar,
- Radar1,
- Radar2,
- Player,
- IdRadar
- };
- new DataRadar[MAX_RADAR][InfoRadar];
- // Sistema de carteira //
- enum Variaveis
- {
- bool:Registrado,
- bool:PegouCarteira,
- bool:Carteira,
- Pontos
- }
- new AData[MAX_PLAYERS][Variaveis];
- new Text:TextCarteira[10],
- bool:Mostrando;
- // Globais //
- new Float:Pos[4],
- String[500];
- public OnGameModeInit()
- {
- // Mantenha os créditos porfavor //
- print("\n\n Sistema de carteira de motorista e radar feito por Darth_Vader\n\n");
- // TextDraw: Velocimetro //
- Velocimetro[0] = TextDrawCreate(396.000000, 338.000000, "i");
- TextDrawFont(Velocimetro[0], 2);
- TextDrawLetterSize(Velocimetro[0], 25.430051, 4.000000);
- TextDrawTextSize(Velocimetro[0], 485.000000, 0.000000);
- TextDrawColor(Velocimetro[0], 80);
- TextDrawSetOutline(Velocimetro[0], 0);
- TextDrawSetProportional(Velocimetro[0], 1);
- TextDrawSetShadow(Velocimetro[0], 1);
- TextDrawBackgroundColor(Velocimetro[0], 0);
- //
- Velocimetro[1] = TextDrawCreate(494.000000, 346.000000, " ");
- TextDrawAlignment(Velocimetro[1], 1);
- TextDrawFont(Velocimetro[1], 2);
- TextDrawLetterSize(Velocimetro[1], 0.420000, 2.399999);
- TextDrawColor(Velocimetro[1], -156);
- TextDrawSetProportional(Velocimetro[1], 1);
- TextDrawSetShadow(Velocimetro[1], 1);
- TextDrawBackgroundColor(Velocimetro[1], 0);
- TextDrawSetOutline(Velocimetro[1], 0);
- // TextDraw: Carteira de motorista //
- TextCarteira[0] = TextDrawCreate(525.000000, 95.000000, "_");
- TextDrawUseBox(TextCarteira[0], 1);
- TextDrawLetterSize(TextCarteira[0], 1.300000, 26.000000);
- TextDrawTextSize(TextCarteira[0], 120.000000, 10.000000);
- TextDrawBoxColor(TextCarteira[0], 100);
- //
- TextCarteira[1] = TextDrawCreate(525.000000, 95.000000, "_");
- TextDrawUseBox(TextCarteira[1], 1);
- TextDrawLetterSize(TextCarteira[1], 1.300000, 3.000000);
- TextDrawTextSize(TextCarteira[1],120.000000, 10.000000);
- TextDrawBoxColor(TextCarteira[1], 100);
- //
- TextCarteira[2] = TextDrawCreate(186.000000, 94.000000, "CARTEIRA DE MOTORISTA");
- TextDrawFont(TextCarteira[2], 2);
- TextDrawLetterSize(TextCarteira[2], 0.500000, 3.000000);
- //
- TextCarteira[3] = TextDrawCreate(122.000000, 122.000000, "_");
- TextDrawFont(TextCarteira[3], TEXT_DRAW_FONT_MODEL_PREVIEW);
- TextDrawLetterSize(TextCarteira[3], 1.100000, 1.100000);
- TextDrawTextSize(TextCarteira[3], 158.000000, 208.000000);
- TextDrawBackgroundColor(TextCarteira[3], -256);
- TextDrawSetOutline(TextCarteira[3], 0);
- //
- TextCarteira[4] = TextDrawCreate(500.000000, 150.000000, "_" );
- TextDrawUseBox(TextCarteira[4], 1);
- TextDrawLetterSize(TextCarteira[4], 0.500000, 2.000000);
- TextDrawTextSize(TextCarteira[4], 300.000000, 7.000000);
- TextDrawBoxColor(TextCarteira[4], 255);
- //
- TextCarteira[5] = TextDrawCreate(500.000000, 209.500000, "_");
- TextDrawUseBox(TextCarteira[5], 1);
- TextDrawLetterSize(TextCarteira[5], 0.500000, 2.000000);
- TextDrawTextSize(TextCarteira[5], 300.000000, 7.000000);
- TextDrawBoxColor(TextCarteira[5], 255);
- //
- TextCarteira[6] = TextDrawCreate(500.000000, 274.000000, "_");
- TextDrawUseBox(TextCarteira[6], 1);
- TextDrawLetterSize(TextCarteira[6], 0.500000, 2.000000);
- TextDrawTextSize(TextCarteira[6], 300.000000, 7.000000);
- TextDrawBoxColor(TextCarteira[6], 255);
- //
- TextCarteira[7] = TextDrawCreate(306.000000, 148.000000, "NAME");
- TextDrawFont(TextCarteira[7], 2);
- TextDrawLetterSize(TextCarteira[7], 0.500000, 2.199999);
- TextDrawColor(TextCarteira[7], -156);
- TextDrawSetProportional(TextCarteira[7], 1);
- TextDrawSetShadow(TextCarteira[7], 1);
- TextDrawBackgroundColor(TextCarteira[7], 0);
- TextDrawSetOutline(TextCarteira[7], 0);
- //
- TextCarteira[8] = TextDrawCreate(306.000000, 207.500000, "POINTS");
- TextDrawFont(TextCarteira[8], 2);
- TextDrawLetterSize(TextCarteira[8], 0.500000, 2.199999);
- TextDrawColor(TextCarteira[8], -156);
- TextDrawSetProportional(TextCarteira[8], 1);
- TextDrawSetShadow(TextCarteira[8], 1);
- TextDrawBackgroundColor(TextCarteira[8], 0);
- TextDrawSetOutline(TextCarteira[8], 0);
- //
- TextCarteira[9] = TextDrawCreate(306.000000, 272.000000, "STATUS");
- TextDrawFont(TextCarteira[9], 2);
- TextDrawLetterSize(TextCarteira[9], 0.500000, 2.199999);
- TextDrawColor(TextCarteira[9], -156);
- TextDrawSetProportional(TextCarteira[9], 1);
- TextDrawSetShadow(TextCarteira[9], 1);
- TextDrawBackgroundColor(TextCarteira[9], 0);
- TextDrawSetOutline(TextCarteira[9], 0);
- // Timer //
- SetTimer("Update", 1, 1);
- // Carregar os Radares //
- CarregarRadares();
- return 1;
- }
- public OnFilterScriptExit()
- {
- // Salva os Radares //
- SalvarRadares();
- //
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, -1, "Esse servidor possui um sistema de carteira de motorista feito por Darth_Vader");
- // Quando o player se conectar, erifica se já existe o arquivo do player //
- AData[playerid][Registrado] = DOF2_GetBool(Getar(playerid), "Registrado");
- // Caso não exista o arquivo, ele já o cria //
- if(AData[playerid][Registrado] == false)
- {
- AData[playerid][Registrado] = true;
- AData[playerid][PegouCarteira] = false;
- AData[playerid][Carteira] = false;
- DOF2_CreateFile(Getar(playerid));
- DOF2_SaveFile();
- SalvarCarteira(playerid);
- }
- // Caso já exista, apenas carregara a situação da carteira //
- else
- {
- CarregarCarteira(playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- // Assim que o player desconectar do servidor, será salvara o estado da carteira //
- SalvarCarteira(playerid);
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid)
- {
- // Verifica se o player tem carteira, e caso tenha qual a situação //
- if(AData[playerid][Carteira] == false)
- {
- // Caso o player ainda não tem carteira, ele será obrigado a pegar sua carteira para pegar um carro ///
- if(AData[playerid][PegouCarteira] == false)
- {
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- SendClientMessage(playerid, -1, "{FF0000}(Radar)Você ainda não tem a sua carteira, digite {FFFFFF}/pegarcarteira {FF0000}para pegar sua carteira!");
- }
- // Caso o player tenha perdido a sua carteira, ele estará impossibilitado de dirigir, a não ser que compre sua carteira novamente //
- else if(AData[playerid][PegouCarteira] == true || AData[playerid][Pontos] <= 22)
- {
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- SendClientMessage(playerid, -1, "{FF0000}(Radar)Você perdeu sua carteira, para usar um veiculo novamente digite {FFFFFF}/comprarcarteira {FF0000}e compre-a novamente!");
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- // Funções do dialog da compra da carteira
- if(dialogid == DIALOG_COMPRARCARTEIRA)
- {
- if(response)
- {
- // Verifica se o player tem o valor suficiente para comprar a carteira //
- if(GetPlayerMoney(playerid) >= VALOR_DINHEIRO && GetPlayerScore(playerid) >= VALOR_SCORE)
- {
- // Caso o player tenha o valor suficiente será setado a sua carteira e a quantidade de pontos iniciais que é 0, e será descontado a o valor em dinheiro e score //
- SendClientMessage(playerid, -1, "{6495ED}(Radar)Você adquiriu sua {FFFFFF}carteira {6495ED}novamente, agora você poderar dirigir qualquer veiculo, {FFFFFF}mais cuidado da próxima vez{6495ED}!");
- GivePlayerMoney(playerid, -VALOR_DINHEIRO);
- SetPlayerScore(playerid, GetPlayerScore(playerid) - VALOR_SCORE);
- AData[playerid][Carteira] = true, AData[playerid][Pontos] = 0;
- SalvarCarteira(playerid);
- }
- // Caso não tenha o valor suficiente, ele não poderá comprar a carteira //
- else
- {
- SendClientMessage(playerid, -1, "{FF0000}(Radar)Você não possui {FFFFFF}dinheiro/score {FF0000}suficiente para comprar sua carteira!");
- }
- }
- }
- return 1;
- }
- forward Update(playerid);
- public Update(playerid)
- {
- // Funcão responsável por getar a velocidade em que o player está //
- new Float:Speed[4], vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleVelocity(vehicleid, Speed[0], Speed[1], Speed[2]);
- Speed[3] = floatsqroot(((Speed[0] * Speed[0]) + (Speed[1] * Speed[1])) + (Speed[2] * Speed[2])) * 162.179;
- new Velocidade = floatround(Speed[3], floatround_round);
- // Caso o player estejá em um veiculo será mostrado o velocimetro e caso passe próximo a um radar será verificado sua velocidade //
- if(IsPlayerInAnyVehicle(playerid))
- {
- format(String, sizeof(String), "%i KM/H", Velocidade);
- TextDrawSetString(Velocimetro[1], String);
- TextDrawShowForPlayer(playerid, Velocimetro[0]);
- TextDrawShowForPlayer(playerid, Velocimetro[1]);
- // Caso o player esteja com a quantidade máxima de pontos ou esteja sem a carteira, automatica seu carro irá parar e ele será expulso do veiculo //
- if(AData[playerid][Pontos] == 22 || AData[playerid][Carteira] == false)
- {
- SetVehicleSpeed (vehicleid , 0, 1);
- RemovePlayerFromVehicle(playerid);
- }
- for(new RadID = 0; RadID < MAX_RADAR; RadID++)
- {
- // Caso o player esteja próximo a zona que possui um radar e ele esteja acima da velocidade permitida e tolerada, ele será avisado pelo velocimetro, pois a cor da velocidade começará a ficar vermelha //
- if(IsPlayerInRangeOfPoint(playerid, 100.0, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ]) && Velocidade > DataRadar[RadID][Velomax] + DataRadar[RadID][Tolerancia])
- {
- format(String, sizeof(String), "~r~%i ~w~KM/H", Velocidade);
- TextDrawSetString(Velocimetro[1], String);
- TextDrawShowForPlayer(playerid, Velocimetro[0]);
- TextDrawShowForPlayer(playerid, Velocimetro[1]);
- }
- if(IsPlayerInRangeOfPoint(playerid, 25.0, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ]))
- {
- // Verifica se a velocidade do player é maior do que a velocidade permitada //
- if(Velocidade > DataRadar[RadID][Velomax] + DataRadar[RadID][Tolerancia])
- {
- // Veridica se o tempo de espera do radar já acabou //
- if(gettime() > DataRadar[RadID][Player])
- {
- // Caso o player já tenha passado pelo radar, caso ele venha novamente a passar pelo radar ele terá 10 segundos de espera para que não sejá multado novamente //
- DataRadar[RadID][Player] = (gettime() + 5);
- // Caso o player tenha passado acima da velocidade ele será multado e receberá uma estrela de procurado //
- format(String, sizeof(String),"{FF0000}(Radar) Você passou a {FFFFFF}%d KM/H {FF0000}em um radar com limite de {FFFFFF}%d KM/H{FF0000} e tolerãncia de {FFFFFF}%d KM{FF0000}.", Velocidade, DataRadar[RadID][Velomax], DataRadar[RadID][Tolerancia]);
- SendClientMessage(playerid, -1, String);
- SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+1);
- // Caso o player tenha passado acima da velocidade e ele tenha menos de 21 pontos na carteira ele receberá apenas 1 ponto na carteira //
- if(AData[playerid][Pontos] < 21)
- {
- AData[playerid][Pontos]++;
- }
- // Caso o player tenha passado acima da velocidade e ele tenha 21 pontos na carteira ele receberá mais 1 ponto na carteira, assim totalizando 22 pontos fazendo com que o player perca sua carteira //
- else if(AData[playerid][Pontos] == 21)
- {
- AData[playerid][Pontos]++, AData[playerid][Carteira] = false;
- SendClientMessage(playerid, -1, "{FF0000}(Radar)Você perdeu sua carteira, para usar qualquer veiculo novamente digite {FFFFFF}/comprarcarteira {FF0000}e compre-a novamnete!");
- }
- }
- }
- }
- }
- }
- // Caso o player não estejá em um veiculo o velocimetro irá sumir //
- else
- {
- TextDrawHideForPlayer(playerid, Velocimetro[0]);
- TextDrawHideForPlayer(playerid, Velocimetro[1]);
- }
- return 1;
- }
- // Comandos do radar //
- // Comando para criar o radar, ele irar getar as coordernadas em que o player está, e ira criar os radares no local //
- CMD:criarradar(playerid, params[])
- {
- new Velo, Tol, RadID;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Você não tem permissão para usar esse comando!");
- if(sscanf(params,"di", Velo, Tol)) return SendClientMessage(playerid, -1, "{FF0000}Digite: {FFFFFF}/criarradar [velocidade] [tolerancia]{FF0000}.");
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- GetPlayerFacingAngle(playerid, Pos[3]);
- IdLivre();
- DataRadar[RadID][PozX] = Pos[0], DataRadar[RadID][PozY] = Pos[1], DataRadar[RadID][PozZ] = Pos[2]-1.5, DataRadar[RadID][PozA] = Pos[3], DataRadar[RadID][Velomax] = Velo, DataRadar[RadID][Tolerancia] = Tol;
- DataRadar[RadID][Icone] = CreateDynamicMapIcon(DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 34, 0, 0, 0, -1, 150.0);
- DataRadar[RadID][Radar1] = CreateDynamicObject(18880, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 0.0, 0.0, DataRadar[RadID][PozA]);
- DataRadar[RadID][Radar2] = CreateDynamicObject(18880, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 0.0, 0.0, DataRadar[RadID][PozA] + 180.0);
- format(String, sizeof(String),"{FF0000}LIMITE DE VELOCIDADE: {FFFFFF}%d KM/H\n{FF0000}TOLERÂNCIA: {FFFFFF}%d KM\n{FF0000}ID RADAR: {FFFFFF}%d",DataRadar[RadID][Velomax], DataRadar[RadID][Tolerancia], RadID);
- DataRadar[RadID][TextoRadar] = CreateDynamic3DTextLabel(String, -1, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ]+6, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0, -1, 100.0);
- format(String, sizeof(String),"{FF0033}Radar ID: {FFFFFF}%d {FF0033}criado.",RadID);
- SendClientMessage(playerid, -1, String);
- SetPlayerPos(playerid, Pos[0]+1, Pos[1]+1, Pos[2]+1);
- SalvarRadares();
- return 1;
- }
- // Comando para deletar os radares que foram criados //
- CMD:deletarradar(playerid, params[])
- {
- new RadID;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Você não tem permissão para usar esse comando!");
- if(sscanf(params, "d", RadID)) return SendClientMessage(playerid, -1, "{FF0000}Digite: {FFFFFF}/deletarradar [Id do radar]{FF0000}.");
- format(String, sizeof(String), PastaRadar, RadID);
- if(DOF2_FileExists(String))
- {
- DOF2_RemoveFile(String);
- format(String, sizeof(String), "{FF0033}Você deletou o radar de ID: {FFFFFF}%d{FF0033}.", RadID);
- SendClientMessage(playerid, -1 ,String);
- DestroyDynamicObject(DataRadar[RadID][Radar1]), DestroyDynamicObject(DataRadar[RadID][Radar2]), DestroyDynamic3DTextLabel(DataRadar[RadID][TextoRadar]);
- DataRadar[RadID][PozX] = 0, DataRadar[RadID][PozY] = 0, DataRadar[RadID][PozZ] = 0, DataRadar[RadID][PozA] = 0, DataRadar[RadID][Velomax] = 0, DataRadar[RadID][Tolerancia] = 0, DataRadar[RadID][Icone] = 0;
- return 1;
- }
- else
- {
- format(String, sizeof(String), "{FF0033}O radar de ID: {FFFFFF}%d {FF0033}não existe.", RadID);
- SendClientMessage(playerid, -1, String);
- }
- return 1;
- }
- // Comandos da carteira de habilitação //
- // Comando para mudar a quantidade de pontos do outro player //
- CMD:darpontos(playerid, params[])
- {
- new IDJogador, Quantidade;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Você não tem permissão para usar esse comando!");
- if(sscanf(params, "dd", IDJogador, Quantidade)) return SendClientMessage(playerid, -1, "{FF0000}Use {FFFFFF}/darpontos [ID] [Pontos]{FF0000}.");
- if(Quantidade < 0 || Quantidade > 23) return SendClientMessage(playerid, -1, "[ERRO]A quantida de pontos tem quer ser no máximo 23!");
- AData[IDJogador][Pontos] = AData[IDJogador][Pontos] + Quantidade;
- format(String, sizeof(String), "{6495ED}Você deu {FFFFFF}%d pontos {6495ED}para {FFFFFF}%s{6495ED}.", Quantidade, Nome(IDJogador));
- SendClientMessage(playerid, -1, String);
- format(String, sizeof(String), "{6495ED}Você recebeu {FFFFFF}%d pontos {6495ED}de {FFFFFF}%s {6495ED}e agora está com {FFFFFF}%d {6495ED}pontos!", Quantidade, Nome(playerid), AData[IDJogador][Pontos]);
- SendClientMessage(IDJogador, -1, String);
- if(AData[IDJogador][Pontos] < 22) AData[IDJogador][Carteira] = true;
- else AData[IDJogador][Carteira] = false;
- return 1;
- }
- // Comando para setar a quantidade de pontos do outro player //
- CMD:setarpontos(playerid, params[])
- {
- new IDJogador, Quantidade;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Você não tem permissão para usar esse comando!");
- if(sscanf(params, "dd", IDJogador, Quantidade)) return SendClientMessage(playerid, -1, "{FF0000}Use {FFFFFF}/setarpontos [ID] [Pontos]{FF0000}.");
- if(Quantidade < 0 || Quantidade > 22) return SendClientMessage(playerid, -1, "[ERRO]A quantidade de pontos tem quer ser no minimo 1 e máximo 22!");
- AData[IDJogador][Pontos] = Quantidade;
- format(String, sizeof(String), "{6495ED}Você setou os pontos de {FFFFFF}%s {6495ED}para {FFFFFF}%d{6495ED}.", Nome(IDJogador), Quantidade);
- SendClientMessage(playerid, -1, String);
- format(String, sizeof(String), "{6495ED}O Administrador {FFFFFF}%s {6495ED}setou seus pontos para {FFFFFF}%d {6495ED}!", Nome(playerid), Quantidade);
- SendClientMessage(IDJogador, -1, String);
- if(Quantidade < 22) AData[IDJogador][Carteira] = true;
- else AData[IDJogador][Carteira] = false;
- return 1;
- }
- // Comando para que caso o player não possua a carteira e nunca tenha pego ela consiga pegar a carteira de graça pela primeira vez //
- CMD:pegarcarteira(playerid)
- {
- if(AData[playerid][PegouCarteira] == false)
- {
- AData[playerid][PegouCarteira] = true, AData[playerid][Carteira] = true, AData[playerid][Pontos] = 0;
- SendClientMessage(playerid, -1, "{6495ED}Você pegou sua carteira pela {FFFFFF}primeira vez{6495ED}, agora você pode usar qualquer veiculo.");
- SendClientMessage(playerid, -1, "{6495ED}Lembre-se: a cada {FFFFFF}22 pontos {6495ED}você perderá sua carteira, então cuidado ao passar nos radares em alta velocidade.");
- SendClientMessage(playerid, -1, "{6495ED}Sempre que quiser ver com quantos pontos você está digite {FFFFFF}/minhacarteira{6495ED}.");
- SalvarCarteira(playerid);
- }
- else
- {
- SendClientMessage(playerid, -1, "{6495ED}Você já pegou sua carteira!");
- }
- return 1;
- }
- // Comando para que caso o player tenha perdido carteira, o player terá que comprar a carteira novamente //
- CMD:comprarcarteira(playerid)
- {
- if(AData[playerid][PegouCarteira] == true)
- {
- if(AData[playerid][Pontos] < 22 && AData[playerid][Carteira] == true)
- {
- SendClientMessage(playerid, -1, "{6495ED}(Radar)Você ainda não perdeu sua carteira!");
- }
- else
- {
- format(String, sizeof(String), "{9ACEEB}Deseja comprar sua carteira novamente?\n\n\n{9ACEEB}Custo: {44944A}R$ {FFFFFF}%i {9ACEEB}e {FFFFFF}%i Scores{9ACEEB}.", VALOR_DINHEIRO, VALOR_SCORE);
- ShowPlayerDialog(playerid, DIALOG_COMPRARCARTEIRA, DIALOG_STYLE_MSGBOX, "{FF0000}#{6495ED}Comprar carteira", String, "Comprar", "Fechar");
- }
- }
- else
- {
- SendClientMessage(playerid, -1, "{6495ED}Você ainda não pegou sua carteira, digite {FFFFFF}/pegarcarteira {6495ED}e pegue sua carteira!");
- }
- return 1;
- }
- // Comando para o player o estado que está sua carteira //
- CMD:minhacarteira(playerid)
- {
- if(AData[playerid][PegouCarteira] == true)
- {
- if(Mostrando == false)
- {
- Mostrando = true;
- SendClientMessage(playerid, -1, "{6495ED}Você está vendo sua carteira, para fechar digite {FFFFFF}/minhacarteira {6495ED}novamente!");
- TextDrawSetPreviewModel(TextCarteira[3], GetPlayerSkin(playerid));
- format(String, sizeof(String), "%s", Nome(playerid));
- TextDrawSetString(TextCarteira[7], String);
- format(String, sizeof(String), "PONTOS: %d", AData[playerid][Pontos]);
- TextDrawSetString(TextCarteira[8], String);
- if(AData[playerid][Pontos] <= 6)
- {
- format(String, sizeof(String), "STATUS: ~g~PERFEITO");
- TextDrawSetString(TextCarteira[9], String);
- }
- else if(AData[playerid][Pontos] <= 12)
- {
- format(String, sizeof(String), "STATUS: ~y~REGULAR");
- TextDrawSetString(TextCarteira[9], String);
- }
- else if(AData[playerid][Pontos] <= 18)
- {
- format(String, sizeof(String), "STATUS: ~b~RISCO");
- TextDrawSetString(TextCarteira[9], String);
- }
- else if(AData[playerid][Pontos] <= 21)
- {
- format(String, sizeof(String), "STATUS: ~r~PERIGO");
- TextDrawSetString(TextCarteira[9], String);
- }
- else if(AData[playerid][Pontos] == 22)
- {
- format(String, sizeof(String), "STATUS: ~w~PERDEU");
- TextDrawSetString(TextCarteira[9], String);
- }
- TextDrawShowForPlayer(playerid, TextCarteira[7]);
- TextDrawShowForPlayer(playerid, TextCarteira[8]);
- TextDrawShowForPlayer(playerid, TextCarteira[9]);
- TextDrawShowForPlayer(playerid, TextCarteira[0]);
- TextDrawShowForPlayer(playerid, TextCarteira[1]);
- TextDrawShowForPlayer(playerid, TextCarteira[2]);
- TextDrawShowForPlayer(playerid, TextCarteira[3]);
- TextDrawShowForPlayer(playerid, TextCarteira[4]);
- TextDrawShowForPlayer(playerid, TextCarteira[5]);
- TextDrawShowForPlayer(playerid, TextCarteira[6]);
- }
- else
- {
- Mostrando = false;
- TextDrawHideForPlayer(playerid, TextCarteira[0]);
- TextDrawHideForPlayer(playerid, TextCarteira[1]);
- TextDrawHideForPlayer(playerid, TextCarteira[2]);
- TextDrawHideForPlayer(playerid, TextCarteira[3]);
- TextDrawHideForPlayer(playerid, TextCarteira[4]);
- TextDrawHideForPlayer(playerid, TextCarteira[5]);
- TextDrawHideForPlayer(playerid, TextCarteira[6]);
- TextDrawHideForPlayer(playerid, TextCarteira[7]);
- TextDrawHideForPlayer(playerid, TextCarteira[8]);
- TextDrawHideForPlayer(playerid, TextCarteira[9]);
- }
- }
- else
- {
- SendClientMessage(playerid, -1, "{6495ED}Você ainda não possui sua carteira, digite {FFFFFF}/pegarcarteira {6495ED}e obtenha a sua!");
- }
- return 1;
- }
- // Carrega todos os radares assim que o filterscript for carregado //
- stock CarregarRadares()
- {
- for(new RadID=0;RadID<MAX_RADAR; RadID++)
- {
- format(String, sizeof(String), PastaRadar, RadID);
- if(DOF2_FileExists(String))
- {
- DataRadar[RadID][Velomax] = DOF2_GetInt(String,"Velocidade"), DataRadar[RadID][Tolerancia] = DOF2_GetInt(String,"Tolerancia"), DataRadar[RadID][PozX] = DOF2_GetFloat(String,"PosX"), DataRadar[RadID][PozY] = DOF2_GetFloat(String,"PosY"), DataRadar[RadID][PozZ] = DOF2_GetFloat(String,"PosZ"), DataRadar[RadID][PozA] = DOF2_GetFloat(String,"Angulo");
- DataRadar[RadID][Icone] = CreateDynamicMapIcon(DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 34, 0, 0, 0, -1, 150.0);
- DataRadar[RadID][Radar1] = CreateDynamicObject(18880, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 0.0, 0.0, DataRadar[RadID][PozA]);
- DataRadar[RadID][Radar2] = CreateDynamicObject(18880, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ], 0.0, 0.0, DataRadar[RadID][PozA] + 180.0);
- format(String, sizeof(String),"{FF0000}LIMITE DE VELOCIDADE: {FFFFFF}%d KM/H\n{FF0000}TOLERÂNCIA: {FFFFFF}%d KM\n{FF0000}ID RADAR: {FFFFFF}%d",DataRadar[RadID][Velomax], DataRadar[RadID][Tolerancia], RadID);
- DataRadar[RadID][TextoRadar] = CreateDynamic3DTextLabel(String, -1, DataRadar[RadID][PozX], DataRadar[RadID][PozY], DataRadar[RadID][PozZ]+6, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0, -1, 100.0);
- }
- }
- return 1;
- }
- // Salva todos os radares assim que o filterscript for finalizado //
- stock SalvarRadares()
- {
- for(new RadID=0;RadID<MAX_RADAR; RadID++)
- {
- format(String, sizeof(String), PastaRadar, RadID);
- if(DOF2_FileExists(String))
- {
- DOF2_SetInt(String,"Velocidade",DataRadar[RadID][Velomax]);
- DOF2_SetInt(String,"Tolerancia",DataRadar[RadID][Tolerancia]);
- DOF2_SetFloat(String,"PosX",DataRadar[RadID][PozX]);
- DOF2_SetFloat(String,"PosY",DataRadar[RadID][PozY]);
- DOF2_SetFloat(String,"PosZ",DataRadar[RadID][PozZ]);
- DOF2_SetFloat(String,"Angulo",DataRadar[RadID][PozA]);
- }
- }
- return 1;
- }
- // Procura ids para que nenhum radar tenha o id igual ao de outro radar //
- stock IdLivre()
- {
- for(new i; i< MAX_RADAR; i++)
- {
- format(String, sizeof String, PastaRadar, i);
- if(!DOF2_FileExists(String))
- {
- DataRadar[i][IdRadar] = i;
- DOF2_CreateFile(String);
- return 1;
- }
- }
- return 0;
- }
- // Salva a carteira do player assim que ele desconecta //
- stock SalvarCarteira(playerid)
- {
- DOF2_SetBool(Getar(playerid), "Registrado", AData[playerid][Registrado]);
- DOF2_SetBool(Getar(playerid), "PegouCarteira", AData[playerid][PegouCarteira]);
- DOF2_SetBool(Getar(playerid), "Carteira", AData[playerid][Carteira]);
- DOF2_SetInt(Getar(playerid), "Pontos", AData[playerid][Pontos]);
- DOF2_SaveFile();
- return 1;
- }
- // Carrega a carteira do player assim que ele se conecta //
- stock CarregarCarteira(playerid)
- {
- AData[playerid][PegouCarteira] = DOF2_GetBool(Getar(playerid), "PegouCarteira");
- AData[playerid][Carteira] = DOF2_GetBool(Getar(playerid), "Carteira");
- AData[playerid][Pontos] = DOF2_GetInt(Getar(playerid), "Pontos");
- return 1;
- }
- // Acessa os arquivos da carteira de cada player //
- stock Getar(playerid)
- {
- new Arq[40];
- format(Arq, sizeof(Arq), PastaPontos, Nome(playerid));
- return Arq;
- }
- // Geta o nome do player sempre que for nescessário //
- stock Nome(playerid)
- {
- new name[24];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- // Função para setar a velocidade do player sempre que for nescessário //
- stock SetVehicleSpeed(vehicleid, Float:speed, mode = 1)
- {
- GetVehicleZAngle(vehicleid, Pos[3]) ;
- speed = ((!mode)?(floatdiv(speed, 105.0)):(floatdiv(speed, 170.0)));
- return SetVehicleVelocity(vehicleid, speed * floatsin(-Pos[3], degrees), speed * floatcos(-Pos[3], degrees), 0.0) ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement