Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #include <DOF2>
- new Float:X,
- Float:Y,
- Float:Z,
- Text3D:TextoDoCarro[MAX_VEHICLES],
- Float:Angl
- ;
- new TaProcurando[MAX_PLAYERS];
- enum Carrinho{
- Criador,
- Model,
- Float:CarX,
- Float:CarY,
- Float:CarZ,
- Float:Angle,
- Car1,
- Car2,
- RT,
- }
- new InfoGabriel[MAX_VEHICLES][Carrinho],
- CrioCarro[MAX_VEHICLES],
- Contando
- ;
- new Str[100]; //to sem contador de Str :o
- public OnFilterScriptInit()
- {
- CarregarCarros();
- print("Programado por Gabriel Ribeiro");
- print("-------------------------------------------------------------");
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- TaProcurando[playerid] = 0;
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success)
- {
- SendClientMessage(playerid, -1, "O Comando Não Existe!");
- return 1;
- }
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(TaProcurando[playerid] == 1)
- {
- TaProcurando[playerid] = 0;
- DisablePlayerCheckpoint(playerid);
- SendClientMessage(playerid, -1,"Voce achou seu carro!");
- }
- return 1;
- }
- CMD:criarcarro(playerid, params[])
- {
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerFacingAngle(playerid, Angl);
- new carro, cor1, cor2, respawntime;
- if(sscanf(params, "dddd", carro, cor1, cor2,respawntime))
- return SendClientMessage(playerid, -1, "Use: /criarcarro [ID] [COR1] [COR2] [RESPAWN]");
- if(carro < 400 || carro > 611)
- return SendClientMessage(playerid, -1, "O Modelo do veiculo tem que ser entre 400 e 611");
- if(cor1 < 0 || cor1 > 255)
- return SendClientMessage(playerid, -1, "O numero da cor 1 tem que ser entre 0 e 255");
- if(cor2 < 0 || cor2 > 255)
- return SendClientMessage(playerid, -1, "O numero da cor 2 tem que ser entre 0 e 255");
- Contando = 0;
- CriarCarro(playerid, Contando, carro,X,Y,Z,Angl,cor1,cor2,respawntime);
- SendClientMessage(playerid, -1,"Creditos: Gabriel Ribeiro.");
- return 1;
- }
- CMD:deletar(playerid, params[])
- {
- new carid;
- if(sscanf(params,"d",carid))
- return SendClientMessage(playerid, -1, "Use: /deletar [ID DO ARQUIVO]");
- format(Str, 50, "FS/Carro %d.ini", carid);
- if(fexist(Str))
- {
- DOF2_RemoveFile(Str);
- DestroyVehicle(CrioCarro[carid]);
- SendClientMessage(playerid, -1,"Voce removeu o arquivo");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, -1,"Arquivo nao existe!");
- }
- return 1;
- }
- CMD:trazercarro(playerid, params[])
- {
- new carid;
- if(sscanf(params,"d",carid)) return SendClientMessage(playerid, -1,"Use: /trazercarro [ID ARQ]");
- {
- GetPlayerPos(playerid, X,Y,Z);
- format(Str, 50, "FS/Carro %d.ini", carid);
- if(fexist(Str))
- {
- SetVehiclePos(CrioCarro[carid], X,Y,Z);
- }
- else
- {
- SendClientMessage(playerid, -1,"Arquivo nao existe!");
- }
- }
- return 1;
- }
- CMD:ircarro(playerid, params[])
- {
- new carid;
- if(sscanf(params,"d",carid)) return SendClientMessage(playerid, -1,"Use: /ircarro [ID ARQ]");
- {
- GetVehiclePos(CrioCarro[carid], X,Y,Z);
- format(Str, 50, "FS/Carro %d.ini", carid);
- if(fexist(Str))
- {
- SetPlayerPos(playerid, X,Y,Z);
- }
- else
- {
- SendClientMessage(playerid, -1,"Arquivo nao existe!");
- }
- }
- return 1;
- }
- CMD:acharcarro(playerid, params[])
- {
- new carid;
- if(sscanf(params,"d",carid)) return SendClientMessage(playerid, -1,"Use: /acharcarro [ID ARQ]");
- {
- GetVehiclePos(CrioCarro[carid], X,Y,Z);
- format(Str, 50, "FS/Carro %d.ini", carid);
- if(fexist(Str))
- {
- DisablePlayerCheckpoint(playerid);
- SetPlayerCheckpoint(playerid, X,Y,Z,8);
- TaProcurando[playerid] = 1;
- }
- else
- {
- SendClientMessage(playerid, -1,"Arquivo nao existe!");
- }
- }
- return 1;
- }
- CMD:ajudacarro(playerid, params[])
- {
- SendClientMessage(playerid, -1,"CREDITOS A GABRIEL RIBEIRO.");
- SendClientMessage(playerid, -1, "/criarcarro /salvarcarro /deletar /ircarro /trazercarro /acharcarro");
- return 1;
- }
- CMD:salvarcarro(playerid, params[])
- {
- new carid;
- new Float: A;
- if(sscanf(params,"d",carid)) return SendClientMessage(playerid, -1,"Use: /salvarcarro [ID DO ARQ]");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1,"Voce nao esta dirigindo o carro!");
- format(Str, 50, "FS/Carro %d.ini", carid);
- if(fexist(Str))
- {
- GetVehiclePos(CrioCarro[carid], X,Y,Z);
- GetVehicleZAngle(CrioCarro[carid], A);
- InfoGabriel[carid][CarX] = X;
- InfoGabriel[carid][CarY] = Y;
- InfoGabriel[carid][CarZ] = Z;
- InfoGabriel[carid][Angle] = A;
- DOF2_SetFloat(Str, "CarX", X);
- DOF2_SetFloat(Str, "CarY", Y);
- DOF2_SetFloat(Str, "CarZ", Z);
- DOF2_SaveFile();
- DestroyVehicle(CrioCarro[carid]);
- CrioCarro[carid] = CreateVehicle(
- DOF2_GetInt(Str, "Modelo"),
- X,
- Y,
- Z,
- A,
- DOF2_GetInt(Str,"Cor1"),
- DOF2_GetInt(Str,"Cor2"),
- DOF2_GetInt(Str,"RT"));
- PutPlayerInVehicle(playerid, CrioCarro[carid],0);
- SendClientMessage(playerid, -1,"Carro Atualizado!");
- }
- else
- {
- SendClientMessage(playerid, -1,"Arquivo nao existe!");
- }
- return 1;
- }
- CriarCarro(playerid, CarID, Modelo, Float:CX, Float:CY, Float:CZ, Float:An, Cor1, Cor2,respawntime)
- {
- new nome[MAX_PLAYER_NAME];
- new Texto[216];
- GetPlayerName(playerid, nome, sizeof(nome));
- format(Str, 100, "FS/Carro %d.ini",CarID);
- if(!fexist(Str))
- {
- DOF2_CreateFile(Str);
- InfoGabriel[CarID][CarX] = CX;
- InfoGabriel[CarID][CarY] = CY;
- InfoGabriel[CarID][CarZ] = CZ;
- InfoGabriel[CarID][Angle] = An;
- InfoGabriel[CarID][RT] = respawntime;
- format(InfoGabriel[CarID][Criador], 24, "%s", nome);
- DOF2_SetString(Str,"Criador", nome);
- DOF2_SetInt(Str,"Modelo",Modelo);
- DOF2_SetFloat(Str, "CarX", CX);
- DOF2_SetFloat(Str, "CarY", CY);
- DOF2_SetFloat(Str, "CarZ", CZ);
- DOF2_SetFloat(Str, "Angle", An);
- DOF2_SetInt(Str,"Cor1", Cor1);
- DOF2_SetInt(Str,"Cor2", Cor2);
- DOF2_SetInt(Str,"RT", respawntime);
- format(Texto,sizeof(Texto),"AddStaticVehicleEx(%d,%f,%f,%f,%f,%d,%d,%d);",Modelo, CX,CY,CZ,An,Cor1,Cor2,respawntime);
- DOF2_SetString(Str,"AddGM",Texto);
- DOF2_SaveFile();
- CrioCarro[CarID] = CreateVehicle(Modelo, CX,CY,CZ,An,Cor1,Cor2,respawntime);
- format(Str, 180,"CARRO CRIADO\nID: %d",CarID);
- TextoDoCarro[CarID] = Create3DTextLabel(Str, 0xFFFFFFFF, 0.0, 0.0, 0.0, 10.0, 0, 1);
- Attach3DTextLabelToVehicle(TextoDoCarro[CarID], CrioCarro[CarID], 0.0, -0.0, 0.5);
- PutPlayerInVehicle(playerid, CrioCarro[CarID], 0);
- }
- else{
- Contando++;
- CriarCarro(playerid, Contando, Modelo,X,Y,Z,An,Cor1,Cor2, respawntime);
- }
- return 1;
- }
- CarregarCarros(){
- new contagem = 0;
- new Strt[100];
- for(new i = 0; i < MAX_VEHICLES; i++)
- {
- format(Str, 30,"FS/Carro %d.ini", i);
- if(fexist(Str))
- {
- format(Strt, 180,"CARRO CRIADO\nID: %d",i);
- format(InfoGabriel[i][Criador], 24, "%s", DOF2_GetString(Str,"Criador"));
- InfoGabriel[i][Model] = DOF2_GetInt(Str,"Modelo");
- InfoGabriel[i][CarX] = DOF2_GetFloat(Str,"CarX");
- InfoGabriel[i][CarY] = DOF2_GetFloat(Str,"CarY");
- InfoGabriel[i][CarZ] = DOF2_GetFloat(Str,"Angle");
- InfoGabriel[i][Angle] = DOF2_GetFloat(Str,"CarZ");
- InfoGabriel[i][Car1] = DOF2_GetInt(Str,"Cor1");
- InfoGabriel[i][Car2] = DOF2_GetInt(Str,"Cor2");
- InfoGabriel[i][RT] = DOF2_GetInt(Str,"RT");
- contagem++;
- CrioCarro[i] = CreateVehicle(
- DOF2_GetInt(Str,"Modelo"),
- DOF2_GetFloat(Str,"CarX"),
- DOF2_GetFloat(Str,"CarY"),
- DOF2_GetFloat(Str,"CarZ"),
- DOF2_GetFloat(Str,"Angle"),
- DOF2_GetInt(Str,"Cor1"),
- DOF2_GetInt(Str,"Cor1"),
- DOF2_GetInt(Str,"RT"));
- printf("%d",i);
- TextoDoCarro[i] = Create3DTextLabel(Strt, 0xFFFFFFFF, 0.0, 0.0, 0.0, 10.0, 0, 1);
- Attach3DTextLabelToVehicle(TextoDoCarro[i], CrioCarro[i], 0.0, -0.0, 0.5);
- }
- }
- DOF2_SaveFile();
- print("-------------------------------------------------------------");
- printf("[FS GABRIEL] %d Carros carregados com sucesso!",contagem);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement