[Pedido] Sistema de concessionaria
#1

dale Moзos e moзas Desse planet samp eu tava precisando muito q alguem tirase akele sistema de concessionaria da gm dten(Brasil sub mundo) mas antes de fazer o post eu fussei na net e achei o sistema mas n consigu compilar akela ***** tai o sistema!! agradesso muito ao cara q fazer isso pra min
Код:
#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;
}
Reply
#2

Й sу vocк tirar do gm da Dten nгo й impossivel, eu consegui de boa, e sу iniciante no pawn.
E estou estudando esse sistema, jб aprendi um pouco.
Reply
#3

Sistema de concessionбria й facil demais de fazer, sу fazer um enum que carregarб os arq do veiculo e salva-los quando ele sair do veнculo caso queira pegar a ultima posiзгo, ou onplayerdisconnect, etc.
Estude um pouco que vocк verб que й simples demais.
Reply
#4

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Й sу vocк tirar do gm da Dten nгo й impossivel, eu consegui de boa, e sу iniciante no pawn.
E estou estudando esse sistema, jб aprendi um pouco.
Vlw mas so Iniciante Pra ****** em pawn(e mt noob tbm)ja tentei mas n consigu ajeitar para salvar os carros q crio, e alem d tudo sempre da erro pra compilar por causa de
Код:
#pragma tabsize 0
Reply
#5

Quote:
Originally Posted by TheHiredKillers
Посмотреть сообщение
Vlw mas so Iniciante Pra ****** em pawn(e mt noob tbm)ja tentei mas n consigu ajeitar para salvar os carros q crio, e alem d tudo sempre da erro pra compilar por causa de
Код:
#pragma tabsize 0
Depois eu tiro o que eu tirei e mando o link.
Reply
#6

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Depois eu tiro o que eu tirei e mando o link.
Opavlw vey nem sei como t agradescer!!!
Reply
#7

Й muito fбcil, mas requer um pouco de atenзгo, sem falar que o sistema й super fбcil de fazer por si sу.
Reply
#8

Concessionaria do Gm da Dten
Reply
#9

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Nossa vey vlw dnovo!!!
Reply
#10

Quote:
Originally Posted by francisco_alves
Посмотреть сообщение
Й muito fбcil, mas requer um pouco de atenзгo, sem falar que o sistema й super fбcil de fazer por si sу.
eu sei mas n acho tutorial baun pra encinar a fazer um sistema igual esse se souber d algum me fala
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)