Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #pragma tabsize 0
- new proximocarro;
- new incar[MAX_PLAYERS];
- new string[256];
- #define MAX_CARROS 350
- forward CriarVeiculo2(m,Float:x,Float:y,Float:z,Float:r,c,d);
- public CriarVeiculo2(m,Float:x,Float:y,Float:z,Float:r,c,d){
- format(string, sizeof(string), "carro%d.ini", proximocarro);
- new carroid;
- carroid = AddStaticVehicle(m, x, y, z, r, c, d);
- dini_IntSet(string, "Id", carroid);
- proximocarro++;
- }
- new STRX[256];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Concessionaria by: Rodrigo");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/ccar", true) == 0) {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- if(IsPlayerAdmin(playerid)){
- new tmp[256];
- new carid, Float:ang, preco, cor1, cor2;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)){
- SendClientMessage(playerid, -1, "| ERRO | Veiculo inválido.");
- return 1;
- }
- carid = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- SendClientMessage(playerid, -1, "| ERRO |: /ccar [id] [preço] [cor1] [cor2]");
- return 1;
- }
- preco = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- SendClientMessage(playerid, -1, "| ERRO |: /ccar [id] [preço] [cor1] [cor2]");
- return 1;
- }
- cor1 = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- SendClientMessage(playerid, -1, "| ERRO |: /ccar [id] [preço] [cor1] [cor2]");
- return 1;
- }
- cor2 = strval(tmp);
- if(carid >= 400 && carid <= 611){
- if(IsPlayerInAnyVehicle(playerid)){
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
- format(string, sizeof(string), "carro%d.ini", proximocarro);
- if(!dini_Exists(string)){
- dini_Create(string);
- dini_IntSet(string, "Modelo", carid);
- dini_FloatSet(string, "CordX", Float:X);
- dini_FloatSet(string, "CordY", Float:Y);
- dini_FloatSet(string, "CordZ", Float:Z);
- dini_FloatSet(string, "Angulo", Float:ang);
- dini_IntSet(string, "Cor1", cor1);
- dini_IntSet(string, "Cor2", cor2);
- dini_IntSet(string, "TDono", 0);
- dini_Set(string, "Dono", "Ninguem");
- dini_IntSet(string, "Preco", preco);
- }
- SetTimerEx("CriarVeiculo2",5000,false,"dffffdd",carid,X,Y,Z,ang,cor1,cor2);
- format(string, sizeof(string), "[CamperLife]: Veiculo Criado e Salvo com sucesso!");
- SendClientMessage(playerid, -1, string);
- return 1;
- } else {
- SendClientMessage(playerid, -1, "[CamperLife]: Você não está em um veiculo!");
- }
- }
- else{
- SendClientMessage(playerid, -1, "[CamperLife]: Erro ao criar o veiculo!");
- return 1;
- }
- } else {
- SendClientMessage(playerid, -1, "| ERRO | Comando inválido!");
- return 1;
- }
- }
- if(strcmp(cmdtext, "/comprarcarro", true) == 0) {
- new VehicleID;
- VehicleID = GetPlayerVehicleID(playerid);
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
- SendClientMessage(playerid, -1, "Você já tem um carro");
- return 1;
- }
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string, "Id")){
- if(GetPlayerMoney(playerid) >= dini_Int(string, "Preco")){
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
- dini_IntSet(string, "TDono", 1);
- dini_Set(string, "Dono", aname);
- SendClientMessage(playerid, -1, "| INFO | Veiculo comprado com sucesso!");
- SendClientMessage(playerid, -1, "| INFO | Para ver os comandos do veiculo, use: /meucarro");
- GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
- TogglePlayerControllable(playerid, 1);
- return 1;
- } else {
- SendClientMessage(playerid, -1, "| ERRO | Você não tem dinheiro suficiente!");
- return 1;
- }
- }
- }
- }
- if(strcmp(cmdtext, "/meucarro", true) == 0) {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
- new resultados;
- new string2[256];
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(dini_Exists(string)){
- if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
- format(string2, sizeof(string2), "Meu Carro(Id:%d)", carro);
- ShowPlayerDialog(playerid, 4501, DIALOG_STYLE_LIST, string, "Salvar Posição \nAlterar cor 1 \nAlterar cor 2 \nRespawnar Carro \nVender Carro", "OK", "Cancelar");
- resultados = 0;
- } else {
- resultados = 1;
- }
- }
- }
- if(resultados == 1){
- //SendClientMessage(playerid, -1, "Você não está no seu carro.");
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 4501) // Menu
- {
- if(response)
- {
- if(listitem == 0) //Salvar posição
- {
- if(IsPlayerInAnyVehicle(playerid)){
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
- new Float:carroX,Float:carroY,Float:carroZ,Float:carroA;
- new vid;
- vid = GetPlayerVehicleID(playerid);
- GetVehiclePos(vid, carroX, carroY, carroZ);
- GetVehicleZAngle(vid, carroA);
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
- dini_FloatSet(string, "CordX", Float:carroX);
- dini_FloatSet(string, "CordY", Float:carroY);
- dini_FloatSet(string, "CordZ", Float:carroZ);
- dini_FloatSet(string, "Angulo", Float:carroA);
- //SendClientMessage(playerid, Verde, "Seu carro foi salvo na sua posição.");
- }
- }
- SendClientMessage(playerid, -1, "Seu carro foi salvo na sua posição.");
- } else {
- SendClientMessage(playerid, -1, "Para salvar a posição você presisa estar em um carro.");
- }
- }
- if(listitem == 1) //Alterar cor 1
- {
- format(STRX, sizeof(STRX), "Alterar Cor 1\n\nDigite o número da cor desejada e aperte \"Alterar\".\n\n ~ Domínio RPG!");
- ShowPlayerDialog(playerid, 4502, DIALOG_STYLE_INPUT, "Meu Carro", STRX, "Alterar", "Cancelar");
- }
- if(listitem == 2) //Alterar cor 2
- {
- format(STRX, sizeof(STRX), "Alterar Cor 2\n\nDigite o número da cor desejada e aperte \"Alterar\".\n\n ~ Domínio RPG!");
- ShowPlayerDialog(playerid, 4503, DIALOG_STYLE_INPUT, "Meu Carro", STRX, "Alterar", "Cancelar");
- }
- if(listitem == 3) // Respawnar carro
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
- DestroyVehicle(dini_Int(string, "Id"));
- new carroid;
- carroid = AddStaticVehicle(dini_Int(string, "Modelo"), dini_Float(string, "CordX"), dini_Float(string, "CordY"), dini_Float(string, "CordZ"), dini_Float(string, "Angulo"), dini_Int(string, "Cor1"), dini_Int(string, "Cor2"));
- dini_IntSet(string, "Id", carroid);
- }
- }
- SendClientMessage(playerid, -1, "Carro respawnado !");
- }
- if(listitem == 4) // Vender carro
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
- dini_Set(string, "Dono", "Nenhum");
- dini_IntSet(string, "TDono", 0);
- GivePlayerMoney(playerid, dini_Int(string, "Preco"));
- }
- }
- }
- }
- }
- if(dialogid == 4502)
- {
- new nomepl[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nomepl, sizeof(nomepl));
- if(response == 1)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- if(!IsNumeric(inputtext)){
- SendClientMessage(playerid, -1, "Valor inválido.");
- return 1;
- } else {
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), aname, true) == 0){
- dini_IntSet(string, "Cor1", StrToInt(inputtext));
- ChangeVehicleColor(dini_Int(string, "Id"), dini_Int(string, "Cor1"), dini_Int(string, "Cor2"));
- }
- }
- }
- }
- }
- if(dialogid == 4503)
- {
- new nomepl[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nomepl, sizeof(nomepl));
- if(response == 1)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- if(!IsNumeric(inputtext)){
- SendClientMessage(playerid, -1, "Valor inválido.");
- return 1;
- } else {
- for(new carro = 0; carro < MAX_CARROS; carro++)
- {
- format(string, sizeof(string), "carro%d.ini", carro);
- if(strcmp(dini_Get(string, "Dono"), aname, true) == 0){
- dini_IntSet(string, "Cor2", StrToInt(inputtext));
- ChangeVehicleColor(dini_Int(string, "Id"), dini_Int(string, "Cor1"), dini_Int(string, "Cor2"));
- }
- }
- }
- }
- }
- return 1;
- }
- forward IsNumeric(const string[]);
- public IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment