22/10/2021 19:51
(21/10/2021 22:13)ProKillerPa Escreveu:Código PHP:]A unica alteração que fiz foi adicionar uma condição na linha usada do strcmp
O erro não está no strcmp, o uso está correto.
O problema aqui é simples: Vejam que não está sendo feito a verificação de qual veiculo o player está, logo, a verificação está sendo feita para o veiculo de arquivo ID 0. Ou seja, se o jogador em questão não for dono do veiculo ID 0, o erro acontecerá.
Para sanar seu problema, você precisará fazer o seguinte:
Codigo:
Código PHP:new ff[30], vehicleid = GetPlayerVehicleID(playerid);
for(new i; i < MAX_VEH_CONCE; i++){
format(ff, 30, CONCE, i);
if(DOF2::FileExists(ff)){
if(Conce[i][ID] == vehicleid){ // COLOQUE AQUI SUA VARIAVEL QUE ARMAZENA O ID DO VEICULO DA CONCE.
if(strcmp(DOF2::GetString(ff, "Dono"), NomePQP(playerid), true) == 0)
{
SCM(playerid, Vermelho, "Use /Ligar para ligar seu veiculo");
}
else
{
if(furto[playerid] == 0)
{
SCM(playerid, Vermelho, "Este veiculo nao e seu, use o comando");
SCM(playerid, Vermelho, "/Furtar para Furtar este veiculo");
RemovePlayerFromVehicle(playerid);
}
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 1);
for(new d; d < MAX_PLAYERS; ++d)
{
if(IsPlayerConnected(d)){
if(pInfo[d][Cop] >= 1)
{
format(String, sizeof(String), "{2E64FE}|COPOM|{FF0000}Denuncia Anonima um Noia furtou um veiculo", NomeOrg(playerid), pNome(playerid));
SCM(d, -1, String);
}
}
}
}
}
}
}
OBS: coloque um return ou break tambem para evitar que o loop gire mais. Não coloquei por que seu codigo está totalmente mal identado e eu não tenho paciencia para contar as chaves hahaha
Abraços
deu certo vlw mano era esse o erro msm, aproveitando o post pode me ajudar com o comando de furtar? o attch nao esta attachando
Código:
CMD:furtar(playerid)
{
new vehicle = GetPlayerVehicleID(playerid);
VehicleText[VehicleID] = Create3DTextLabel("Veiculo Furtado", 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1);
Attach3DTextLabelToVehicle(VehicleText[VehicleID], vehicle, 0.0, 0.0, 2.0);
return 1;
}