[Ajuda] Como fazer pra checar ?
#1

Como fazer pra checar se o veнculo da concessionaria possui dono, estou aprendendo e tentando criar um sistema de concessionaria cmd em desenvolvimento \/
pawn Код:
CMD:criarcc(playerid, params[])
{
    new carro, preco ,cor1 ,cor2;
    if(!NivelRequerido(playerid, 100)) return 1;
    if(sscanf(params, "dddd", carro, preco, cor1 ,cor2))
        return SCM(playerid, INFOCOR,"Ч Info ¤ {FFFFFF}Use: /criarcc [id do carro] [preзo] [cor1] [cor2]");
    if(carro < 400 || carro > 611)
        return SCM(playerid, INFOCOR,"Ч Info ¤ {FFFFFF}O Modelo do veнculo tem que ser entre 400 e 611.");
    new Float:Pos[4], arq[56];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    GetPlayerFacingAngle(playerid, Pos[3]);
    for(new u = 1; u < MAX_CARROSCONCE; u++)
    {
        format(arq, sizeof(arq), PASTACONCESNA, u);
        if(!DOF2_FileExists(arq))
        {
            DOF2_CreateFile(arq);
            DOF2_SetInt(arq, "ModeloCarConceSNA", carro);
            DOF2_SetInt(arq, "PrecoCarConceSNA", preco);
            DOF2_SetInt(arq, "Cor1CarConceSNA", cor1);
            DOF2_SetInt(arq, "Cor2CarConceSNA", cor2);
            DOF2_SetFloat(arq, "XConceSNA", Pos[0]);
            DOF2_SetFloat(arq, "YConceSNA", Pos[1]);
            DOF2_SetFloat(arq, "ZConceSNA", Pos[2]);
            DOF2_SetFloat(arq, "AConceSNA", Pos[3]);
            DOF2_SetString(arq, "DonoCConceSNA", "Ninguem");
            DOF2_SaveFile();
            new string[100];
            format(string, sizeof(string),""SNA_COR"Ч Admin ¤ {FF8000}Carro da Concessionбria %d criado com sucesso!", u);
            SCM(playerid, INFOCOR, string);
            InfoConceSNA[u][ModeloCarConceSNA] = carro;
            InfoConceSNA[u][PrecoCarConceSNA] = preco;
            InfoConceSNA[u][Cor1CarConceSNA] = cor1;
            InfoConceSNA[u][Cor2CarConceSNA] = cor2;
            InfoConceSNA[u][XConceSNA] = Pos[0];
            InfoConceSNA[u][YConceSNA] = Pos[1];
            InfoConceSNA[u][ZConceSNA] = Pos[2];
            InfoConceSNA[u][AConceSNA] = Pos[3];
            carconce_id = CreateVehicle(carro, Pos[0],Pos[1],Pos[2], Pos[3], cor1, cor2, 60000);
            break;
        }
    }
    return 1;
}
vou dar um exemplo, queria fazer pra quando o player digita-se "/motor" aparecer uma msg falando q ele nгo pode ligar veнculos da conce. й um Exemplo!
Reply
#2

usa a funзгo dini_isset

pawn Код:
dini_Isset(arquivo[], chave[])
Essa funзгo verifica se uma chave existe em um arquivo.
Reply
#3

Checar se tem dono:

PHP код:
if(strcmp(DOF2_GetString(arq"DonoCConceSNA"), "Ninguem"true) != 0)
{
     
SendClientMessage(playerid, -1"O veнculo tem dono.");

Verificar se um player especнfico й dono:

PHP код:
new nomej[MAX_PLAYER_NAME];
GetPlayerName(playeridnomejsizeof(nomej));
if(
strcmp(nomejDOF2_GetString(arq,"DonoCConceSNA"), false) == 0)
{
     
//funзхes do dono
}
else return 
SendClientMessage(playerid, -1"Vocк nгo й dono, champz."); 
Qualquer erro, desculpe-me. Estou com o pensamento longe kk
Reply
#4

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Checar se tem dono:

PHP код:
if(strcmp(DOF2_GetString(arq"DonoCConceSNA"), "Ninguem"true) != 0)
{
     
SendClientMessage(playerid, -1"O veнculo tem dono.");

Verificar se um player especнfico й dono:

PHP код:
new nomej[MAX_PLAYER_NAME];
GetPlayerName(playeridnomejsizeof(nomej));
if(
strcmp(nomejDOF2_GetString(arq,"DonoCConceSNA"), false) == 0)
{
     
//funзхes do dono
}
else return 
SendClientMessage(playerid, -1"Vocк nгo й dono, champz."); 
Qualquer erro, desculpe-me. Estou com o pensamento longe kk
Bom eu fiz desse modo no comando de comprar o carro e mesmo se o carro nгo possuir dono ele manda a msg " Esse veнculo tem dono! " \/
pawn Код:
CMD:comprarcc(playerid, params[])
{
    new string[150], arq[56];
    for(new u = 1; u < MAX_CARROSCONCE; u++)
    {
        format(arq, sizeof(arq), PASTACONCESNA, u);
        if(DOF2_FileExists(arq))
        {
            if(strcmp(DOF2_GetString(arq, "DonoCConceSNA"), "Ninguem", true) != 0) return SCM(playerid, -1, "O veнculo tem dono.");
            if(GetPlayerMoneyEx(playerid) < DOF2_GetInt(arq,"PrecoCarConceSNA"))
            {
                format(string, sizeof(string),"Ч Erro ¤ {FFFFFF}Vocк nгo tem R$%d para comprar este veнculo!",DOF2_GetInt(arq,"PrecoCarConceSNA"));
                SCM(playerid, ERROCOR, string);
                return 1;
            }
            IDCarC[playerid] = u;
            new v_Name[18],SonConceBuyDialog[500];
            strunpack(v_Name, vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n      {7000DF}Ч Informaзхes do veнculo.",SonConceBuyDialog);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n\n{7000DF}Ч {FFFFFF}Modelo: {FF8000}%s"BRANCO2".",SonConceBuyDialog,v_Name);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n{7000DF}Ч {FFFFFF}Preзo: "VERDE"R$%d"BRANCO2".",SonConceBuyDialog,DOF2_GetInt(arq,"PrecoCarConceSNA"));
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n\n{7000DF}Ч {FFFFFF}Click em {00FF00}Comprar {FFFFFF}se deseja comprar o veнculo. ",SonConceBuyDialog);
            ShowPlayerDialog(playerid, DIALOG_COMPRAR_CARCONCE, DIALOG_STYLE_MSGBOX, "{7000DF}Concessнonaria{FFFFFF}!", SonConceBuyDialog, "Comprar", "Cancelar");
        }
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by sonmook
Посмотреть сообщение
Bom eu fiz desse modo no comando de comprar o carro e mesmo se o carro nгo possuir dono ele manda a msg " Esse veнculo tem dono! " \/
pawn Код:
CMD:comprarcc(playerid, params[])
{
    new string[150], arq[56];
    for(new u = 1; u < MAX_CARROSCONCE; u++)
    {
        format(arq, sizeof(arq), PASTACONCESNA, u);
        if(DOF2_FileExists(arq))
        {
            if(strcmp(DOF2_GetString(arq, "DonoCConceSNA"), "Ninguem", true) != 0) return SCM(playerid, -1, "O veнculo tem dono.");
            if(GetPlayerMoneyEx(playerid) < DOF2_GetInt(arq,"PrecoCarConceSNA"))
            {
                format(string, sizeof(string),"Ч Erro ¤ {FFFFFF}Vocк nгo tem R$%d para comprar este veнculo!",DOF2_GetInt(arq,"PrecoCarConceSNA"));
                SCM(playerid, ERROCOR, string);
                return 1;
            }
            IDCarC[playerid] = u;
            new v_Name[18],SonConceBuyDialog[500];
            strunpack(v_Name, vehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n      {7000DF}Ч Informaзхes do veнculo.",SonConceBuyDialog);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n\n{7000DF}Ч {FFFFFF}Modelo: {FF8000}%s"BRANCO2".",SonConceBuyDialog,v_Name);
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n{7000DF}Ч {FFFFFF}Preзo: "VERDE"R$%d"BRANCO2".",SonConceBuyDialog,DOF2_GetInt(arq,"PrecoCarConceSNA"));
            format(SonConceBuyDialog, sizeof(SonConceBuyDialog),"%s\n\n{7000DF}Ч {FFFFFF}Click em {00FF00}Comprar {FFFFFF}se deseja comprar o veнculo. ",SonConceBuyDialog);
            ShowPlayerDialog(playerid, DIALOG_COMPRAR_CARCONCE, DIALOG_STYLE_MSGBOX, "{7000DF}Concessнonaria{FFFFFF}!", SonConceBuyDialog, "Comprar", "Cancelar");
        }
    }
    return 1;
}
Quantos veнculos da concessionбria jб existem? Vocк estб utilizando loop, ele vai passando de arquivo em arquivo.. Ou todos criados possuem dono?
Reply
#6

E como eu faria pra nгo checar todos ? quero que cheque somente o veнculo que o player estб tentando comprar!
Reply
#7

Quote:
Originally Posted by sonmook
Посмотреть сообщение
E como eu faria pra nгo checar todos ? quero que cheque somente o veнculo que o player estб tentando comprar!
Preciso que me explique melhor como funciona o sistema entгo. Hm... Esse comando й digitado dentro do veнculo?
Reply
#8

Isso dentro do veiculo.
eu digito, "/criarcc" ai crio o veнculo da conce e depois entro nele e digito "/comprarcc" entendeu ?

@EDIT

Obrigado fiquei tentando aqui e fiz usando dessa maneira \/ e deu certo \/
pawn Код:
format(arq, sizeof(arq), PASTACONCESNA, GetPlayerVehicleID(playerid));
mais agora sу estб dando um problema, sу ta dando pra digitar "/comprarcc" depois que crio o veнculo e dou gmx, porque quando crio e tento dar "/comprarcc" nгo aparece nada, se eu dou GMX funciona normal.
Reply
#9

Quote:
Originally Posted by sonmook
Посмотреть сообщение
Isso dentro do veiculo.
eu digito, "/criarcc" ai crio o veнculo da conce e depois entro nele e digito "/comprarcc" entendeu ?

@EDIT

Obrigado fiquei tentando aqui e fiz usando dessa maneira \/ e deu certo \/
pawn Код:
format(arq, sizeof(arq), PASTACONCESNA, GetPlayerVehicleID(playerid));
mais agora sу estб dando um problema, sу ta dando pra digitar "/comprarcc" depois que crio o veнculo e dou gmx, porque quando crio e tento dar "/comprarcc" nгo aparece nada, se eu dou GMX funciona normal.
Esse mйtodo nгo й bom.. Faзa o seguinte, digite /dl, crie o veнculo e veja qual ID foi atribuнdo a ele. Apуs o GMX, reveja o ID do mesmo veнculo e verifique se permanece o mesmo.
Reply
#10

Fiz oque vocк falou e os ID's muda apуs o GMX.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)