[Pedido] Conversao para Zcmd/Sscanf
#1

Ola , alguem poderia converter este comando para mim ? estou quebrando a cabeзa , e cada vez que tento erro....

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new
        cmd[128], idx, tmp[128];

    cmd = strtok(cmdtext, idx);

    GetPlayerPos(playerid, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2]);
    GetPlayerFacingAngle(playerid, iAngulo);

    if(strcmp(cmd, "/veh", true) == 0 || strcmp(cmd, "/criarveiculo", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
            return 1;
        }
        new veiculo = GetVehicleModelID(tmp);
        if(veiculo == -1)
        {
            veiculo = strval(tmp);
            if(veiculo < 400 || veiculo > 611)
            {
                SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
                return 1;
            }
        }
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
            return 1;
        }
        new color1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
            return 1;
        }
        new color2 = strval(tmp);
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Somente veнculos entre 400 б 611!");
            return 1;
        }
        DestroyVehicle(VeiculoID[playerid]);
        PutPlayerInVehicle(playerid, Modelo[ playerid ] = CreateVehicle(veiculo, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2], iAngulo, color1, color2, -1), 0);
        VeiculoID[playerid] = GetPlayerVehicleID(playerid);
        CriouVeiculo[playerid] = true;
        format(g_string, sizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
        SendClientMessage(playerid, 0xFFFF33AA, g_string);
        format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
        VLabel3D[playerid] = Create3DTextLabel(g_string, 0x00FF00AA, 0.0, 0.0, 0.0, 40.0, 0, 1);
        Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
        format(Veiculopp[VeiculoID[playerid]][NomeT], 20, PlayerName(playerid));
        return 1;
    }
Reply
#2

pawn Код:
CMD:veh(playerid, params[])  return cmd_criarveiculo(playerid, params);
CMD:criarveiculo(playerid, params[])
{
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new veiculo = GetVehicleModelID(tmp);
    if(veiculo == -1)
    {
        veiculo = strval(tmp);
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
            return 1;
        }
    }
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new color1 = strval(tmp);
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new color2 = strval(tmp);
    if(veiculo < 400 || veiculo > 611)
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Somente veнculos entre 400 б 611!");
        return 1;
    }
    DestroyVehicle(VeiculoID[playerid]);
    PutPlayerInVehicle(playerid, Modelo[ playerid ] = CreateVehicle(veiculo, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2], iAngulo, color1, color2, -1), 0);
    VeiculoID[playerid] = GetPlayerVehicleID(playerid);
    CriouVeiculo[playerid] = true;
    format(g_string, sizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
    SendClientMessage(playerid, 0xFFFF33AA, g_string);
    format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
    VLabel3D[playerid] = Create3DTextLabel(g_string, 0x00FF00AA, 0.0, 0.0, 0.0, 40.0, 0, 1);
    Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
    format(Veiculopp[VeiculoID[playerid]][NomeT], 20, PlayerName(playerid));
    return 1;
}
coloque as variбveis junto com as outras.


@EDIT

Aproveitando baixa o conversor feito pelo rjj eu uso ele й уtimo Clique Aqui
Reply
#3

https://sampforum.blast.hk/showthread.php?tid=277842
Reply
#4

Quote:
Originally Posted by FStralioti
Посмотреть сообщение
pawn Код:
CMD:veh(playerid, params[])  return cmd_criarveiculo(playerid, params);
CMD:criarveiculo(playerid, params[])
{
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new veiculo = GetVehicleModelID(tmp);
    if(veiculo == -1)
    {
        veiculo = strval(tmp);
        if(veiculo < 400 || veiculo > 611)
        {
            SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
            return 1;
        }
    }
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new color1 = strval(tmp);
    tmp = strtok(cmd, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
        return 1;
    }
    new color2 = strval(tmp);
    if(veiculo < 400 || veiculo > 611)
    {
        SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Somente veнculos entre 400 б 611!");
        return 1;
    }
    DestroyVehicle(VeiculoID[playerid]);
    PutPlayerInVehicle(playerid, Modelo[ playerid ] = CreateVehicle(veiculo, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2], iAngulo, color1, color2, -1), 0);
    VeiculoID[playerid] = GetPlayerVehicleID(playerid);
    CriouVeiculo[playerid] = true;
    format(g_string, sizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
    SendClientMessage(playerid, 0xFFFF33AA, g_string);
    format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
    VLabel3D[playerid] = Create3DTextLabel(g_string, 0x00FF00AA, 0.0, 0.0, 0.0, 40.0, 0, 1);
    Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
    format(Veiculopp[VeiculoID[playerid]][NomeT], 20, PlayerName(playerid));
    return 1;
}
coloque as variбveis junto com as outras.


@EDIT

Aproveitando baixa o conversor feito pelo rjj eu uso ele й уtimo Clique Aqui
Eu uso Zcmd , este comando nao e reconhecido caso eu coloque em minha game mode , nao consigo converter ...

MultiKill - eu ja vi este tutorial estou tentando porem , nao consigo sempre da erros
Reply
#5

Patrick141 nгo converta o comando apenas faзa o comando do zero.

Faзa ele do zero se tiver problemas mostre com o que estб tento problemas para poder ajuda-lo.
Reply
#6

PHP код:
CMD:veh(playeridparams[])
{
    new 
modelIDvehColor1vehColor2;

    if(
sscanf(params"iii"modelIDvehColor1vehColor2))
        return 
SendClientMessage(playerid0xFF3300AA"| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");

    if(
modelID 400 || modelID 611)
        return 
SendClientMessage(playerid, -1"Modelo invбlido! [400 - 611]");

    new 
vehicleCreatedFloatvehiclePos[3];

    
DestroyVehicle(VeiculoID[playerid]);

    
GetPlayerPos(playeridvehiclePos[0], vehiclePos[1], vehiclePos[2]);
    
vehicleCreated CreateVehicle(modelIDvehiclePos[0], vehiclePos[1], vehiclePos[2], 0.0vehColor1vehColor2, -1);
    
PutPlayerInVehicle(playeridvehicleCreated0);

    
CriouVeiculo[playerid] = true;
    
    
format(g_stringsizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)"Veiculos[GetVehicleModel(Modeloplayerid ])-400]);
    
SendClientMessage(playerid0xFFFF33AAg_string);
    
    
format(g_stringsizeof(g_string), "%s [%d]"PlayerName(playerid), playerid);
    
VLabel3D[playerid] = Create3DTextLabel(g_string0x00FF00AA0.00.00.040.001);
    
Attach3DTextLabelToVehicle(VLabel3D[playerid], Modeloplayerid ], 0.0, -2.50.5);
    
    
format(Veiculopp[VeiculoID[playerid]][NomeT], 20PlayerName(playerid));

    return 
1;

Reply
#7

Quote:
Originally Posted by Lуs
Посмотреть сообщение
PHP код:
CMD:veh(playeridparams[])
{
    new 
modelIDvehColor1vehColor2;
    if(
sscanf(params"iii"modelIDvehColor1vehColor2))
        return 
SendClientMessage(playerid0xFF3300AA"| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
    if(
modelID 400 || modelID 611)
        return 
SendClientMessage(playerid, -1"Modelo invбlido! [400 - 611]");
    new 
vehicleCreatedFloatvehiclePos[3];
    
DestroyVehicle(VeiculoID[playerid]);
    
GetPlayerPos(playeridvehiclePos[0], vehiclePos[1], vehiclePos[2]);
    
vehicleCreated CreateVehicle(modelIDvehiclePos[0], vehiclePos[1], vehiclePos[2], 0.0vehColor1vehColor2, -1);
    
PutPlayerInVehicle(playeridvehicleCreated0);
    
CriouVeiculo[playerid] = true;
    
    
format(g_stringsizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)"Veiculos[GetVehicleModel(Modeloplayerid ])-400]);
    
SendClientMessage(playerid0xFFFF33AAg_string);
    
    
format(g_stringsizeof(g_string), "%s [%d]"PlayerName(playerid), playerid);
    
VLabel3D[playerid] = Create3DTextLabel(g_string0x00FF00AA0.00.00.040.001);
    
Attach3DTextLabelToVehicle(VLabel3D[playerid], Modeloplayerid ], 0.0, -2.50.5);
    
    
format(Veiculopp[VeiculoID[playerid]][NomeT], 20PlayerName(playerid));
    return 
1;

Peguei o seu e editei para adequar a minha game mode
pawn Код:
CMD:v(playerid, params[])
{
if(DuelActive == true) return SendClientMessage(playerid,Vermelho,"[Error]:You can Not use Commands if you are in a Duel !");
new modelID, vehColor1, vehColor2;
if(sscanf(params, "iii", modelID, vehColor1, vehColor2))
return SendClientMessage(playerid, Amarelo, "Use: /V [ID/Name] [Color 1] [Color 2]");
if(modelID < 400 || modelID > 611) return SendClientMessage(playerid, Vermelho, "[Error]: Invalid Model !, Models: [400 - 611]");
if(modelID == 425 || modelID == 432 || modelID == 447 || modelID == 520) return SendClientMessage(playerid, Vermelho, "[Info]: Vehicle Only for Vip !");
new vehicleCreated, Float: vehiclePos[3];
DestroyVehicle(VeiculoID[playerid]);
GetPlayerPos(playerid, vehiclePos[0], vehiclePos[1], vehiclePos[2]);
vehicleCreated = CreateVehicle(modelID, vehiclePos[0], vehiclePos[1], vehiclePos[2], 0.0, vehColor1, vehColor2, -1);
PutPlayerInVehicle(playerid, vehicleCreated, 0);
CriouVeiculo[playerid] = true;
format(g_string, sizeof(g_string), "[Info]: %s Successfully Created, Only You can Drive !", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
SendClientMessage(playerid, Verde, g_string);
format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
VLabel3D[playerid] = Create3DTextLabel(g_string, Verde, 0.0, 0.0, 0.0, 40.0, 0, 1);
Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
format(Veiculopp[VeiculoID[playerid]][NomeT], 20, PlayerName(playerid));
return 1;
}
Porem tenho um problema , toda vez q digito ex : /v elegy 0 1 aparece como se eu tivesse errado !
Reply
#8

Troque:

PHP код:
if(sscanf(params"iii"modelIDvehColor1vehColor2))
return 
SendClientMessage(playeridAmarelo"Use: /V [ID/Name] [Color 1] [Color 2]"); 
Por:

PHP код:
new vname[30];
if(
sscanf(params"s[30]ii"vnamevehColor1vehColor2))
return 
SendClientMessage(playeridAmarelo"Use: /V [ID/Name] [Color 1] [Color 2]");
modelID GetVehicleModelID(vname);
if(
modelID == -1)  modelID strval(vname); 
Reply
#9

Agora so resta esse erro de mesmo acertando o comando manda a mensagem de comando invalido
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)