[ajuda]placa carro
#1

pq quando coloco o fs de mudar as placa os codigos do gm bugo e so funfa o da placa
pawn Код:
#include <a_samp>

public OnPlayerCommandText(playerid, cmdtext[])

{
if ( strcmp( cmdtext, "/mudarplaca", true)   == 0)
    {
    ShowPlayerDialog(playerid, 10101, DIALOG_STYLE_INPUT, "Sistema de Placa", "Digite sua Placa:\n\nMaximo de 8 Caracteres", "Mudar", "Cancelar");
    return 1;
    }
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 10101)
    {
        new string[128], Float:X, Float:Y, Float:Z, Float:angle;
        if(strlen(inputtext) < 1 || strlen(inputtext) > 8) return SendClientMessage(playerid, 0xAFAFAFAA, "Texto Invalido.");
        else
        {
            format(string, sizeof(string), "Vocк mudou o texto de sua placa para '%s'.", inputtext);
            SendClientMessage(playerid, 0x33CCFFAA, string);
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, angle);
            SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
            SetVehicleToRespawn(GetPlayerVehicleID(playerid));
            GetPlayerPos(playerid, X, Y, Z);
            SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
            SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
            PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
            SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z+2);
        }
    }
return 1;
}
Reply
#2

tenta..como sempre a falta do return 0 no final...mais no seu caso e pq ta return 1..
pawn Код:
#include <a_samp>

public OnPlayerCommandText(playerid, cmdtext[])

{
if ( strcmp( cmdtext, "/mudarplaca", true)   == 0)
    {
    ShowPlayerDialog(playerid, 10101, DIALOG_STYLE_INPUT, "Sistema de Placa", "Digite sua Placa:\n\nMaximo de 8 Caracteres", "Mudar", "Cancelar");
    return 1;
    }
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 10101)
    {
        new string[128], Float:X, Float:Y, Float:Z, Float:angle;
        if(strlen(inputtext) < 1 || strlen(inputtext) > 8) return SendClientMessage(playerid, 0xAFAFAFAA, "Texto Invalido.");
        else
        {
            format(string, sizeof(string), "Vocк mudou o texto de sua placa para '%s'.", inputtext);
            SendClientMessage(playerid, 0x33CCFFAA, string);
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, angle);
            SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
            SetVehicleToRespawn(GetPlayerVehicleID(playerid));
            GetPlayerPos(playerid, X, Y, Z);
            SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
            SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
            PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
            SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z+2);
        }
    }
return 1;
}
Reply
#3

pawn Код:
//==============================================================================
//Includes
#include a_samp

//==============================================================================
//Configs
#define MAX_PLATES (999)
#define PLACA_FILE "PlacasVeiculos.fek"
#define maxtag   (00244)
#define maxfile    (99999)
#define maxname (00064)

//==============================================================================
//Files
public OnFilterScriptInit()
{
    Fini_OpenFile(PLACA_FILE);
    for(new i; i < MAX_PLATES; ++i)
        LoadVehicleNumberPlateEx(i);
    Fini_SaveFile();
    Fini_CloseFile();
}

public OnFilterScriptExit()
{
    Fini_OpenFile(PLACA_FILE);
    for(new i; i < MAX_PLATES; ++i)
        SaveVehicleNumberPlateEx(i);
    Fini_SaveFile();
    Fini_CloseFile();
}

//==============================================================================
//Functions Plates
new Plaquinhas[MAX_PLATES][64];

stock
    SetVehicleNumberPlateEx(vehid,plate[])
{
    format(Plaquinhas[vehid],64,"%s",plate);
    SetVehicleNumberPlate(vehid,plate);
    return SetVehicleToRespawn(vehid);
}

stock
    RemoveVehicleNumberPlate(vehid)
{
    Plaquinhas[vehid][0] = '\0';
    SetVehicleNumberPlate(vehid," ");
    return SetVehicleToRespawn(vehid);
}

#define GetVehicleNumberPlateEx(%0) Plaquinhas[%0]


//==============================================================================
//File Functions Plates

stock
    SaveVehicleNumberPlateEx(vehid)
{
    new aString[8],iString[64];
    format(aString,8,"%d",vehid),format(iString,64,"%s",GetVehicleNumberPlateEx(vehid));
    return Fini_SetStr(aString,iString);
}

stock
    LoadVehicleNumberPlateEx(vehid)
{
    new aString[64];
    format(aString,64,"%d",vehid);
    return SetVehicleNumberPlateEx(vehid,Fini_GetStr(aString));
}

//==============================================================================
//Fini [2.0]
#define Fini_Exists             fexist
#define Fini_GetFloat(%0)       floatstr(Fini_GetStr(%0))

static
    zNormal1,
    zNormal2,
    fStr[maxtag],
    fTag[maxtag],
    fFile[maxfile],
    File:zFopenFile,
    fName[maxname],
    iSource
;

stock
    Fini_OpenFile(fname[])
{
    zFopenFile = fopen(fname,io_read);

    while(fread(zFopenFile,fStr))
        strins(fFile,fStr,strlen(fFile),maxfile);

    fclose(zFopenFile);
    format(fName,maxname,"%s",fname);
    return true;
}

stock
    Fini_SaveFile()
{
    fremove(fName);
    zFopenFile = fopen(fName,io_write);

    fwrite(zFopenFile,fFile);
    fclose(zFopenFile);
    return true;
}

stock
    Fini_CloseFile()
{
    fFile[0] = '\0';
    fName[0] = '\0';
    return true;
}

stock
    Fini_GetStr(ftag[])
{
    zNormal1 = strfind(fFile,ftag,true);
    zNormal2 = (zNormal1 + (strlen(ftag)));
    strmid(fTag,fFile,zNormal2,(zNormal2  + maxtag),maxtag);
    zNormal2 = strfind(fTag,"\n",true);
    strmid(fStr,fTag,1,zNormal2 ,maxtag);
    return fStr;
}


stock
    Fini_SetStr(ftag[],fstr[])
{
    format(fTag,maxtag,"%s=%s",ftag,Fini_GetStr(ftag));
    zNormal1 = strfind(fFile,ftag,true);
    if(zNormal1 != -1)
    {
        iSource = strlen( fTag ) ;
        format(fStr,maxtag,"%s=%s",ftag,fstr);
        strdel(fFile,zNormal1  ,(zNormal1 + iSource));
        format(fStr,128,"%s",fStr);
        strins(fFile,fStr,zNormal1 ,128);
    }

    else
    {
        format(fStr,maxtag,"%s=%s\r\n",ftag,fstr);
        strins(fFile,fStr,strlen(fFile));
    }
    return true;
}

stock
    Fini_Create(nFile[])
{
    if (Fini_Exists(nFile)) return false;
    new File:cFile = fopen(nFile,io_write);
    return fclose(cFile);
}

stock
    Fini_SetVal(ftag[],fval)
{
    static Seting[24];
    format(Seting,maxtag,"%d",fval);
    Fini_SetStr(ftag,Seting);
    return true;
}

stock
    Fini_SetFloat(ftag[],Float:fval)
{
    static Seting[24];
    format(Seting,maxtag,"%f",fval);
    Fini_SetStr(ftag,Seting);
    return true;
}

stock
    Fini_SetBool(ftag[],bool:fval)
{
    static Seting[24];
    format(Seting,maxtag,"%d",fval);
    Fini_SetStr(ftag,Seting);
    return true;
}

stock
    Fini_IsSet(ftag[])
{
    format(fTag,maxtag,"%s=%s",ftag,Fini_GetStr(ftag));
    zNormal1 = strfind(fFile,ftag,true);
    if(zNormal1 != -1)
        return true;
    return false;
}

stock Fini_GetBool(ftag[])
{
    new Seting = strval(Fini_GetStr(ftag));
    return Seting;
}

stock Fini_GetValue(ftag[])
{
    new Seting = strval(Fini_GetStr(ftag));
    return Seting;
}
vlw agora foi, enquanto a isso quando eu coloco fecha o serve isso serve para salvar as placas
Reply
#4

notei 1 bug ai clicar em cancelar ele seta a placa igual e quando estб fora de um veiculo da pra colocar igual
cmd arumado.

pawn Код:
if ( strcmp( cmdtext, "/mudarplaca", true)   == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xAFAFAFAA, "Vocк nгo estб em um veiculo");
        {
            ShowPlayerDialog(playerid, 10101, DIALOG_STYLE_INPUT, "Sistema de Placa", "Digite sua Placa:\n\nMaximo de 8 Caracteres", "Mudar", "Cancelar");
            return 1;
        }
    }
reponse
pawn Код:
if(dialogid == 10101)
    {
        if(response)
        {
            new Float:X, Float:Y, Float:Z, Float:angle;
            if(strlen(inputtext) < 1 || strlen(inputtext) > 8) return SendClientMessage(playerid, 0xAFAFAFAA, "Texto Invalido.");
            else
            {
                format(string, sizeof(string), "Vocк mudou o texto de sua placa para '%s'.", inputtext);
                SendClientMessage(playerid, 0x33CCFFAA, string);
                GetPlayerPos(playerid, X, Y, Z);
                GetPlayerFacingAngle(playerid, angle);
                SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
                SetVehicleToRespawn(GetPlayerVehicleID(playerid));
                GetPlayerPos(playerid, X, Y, Z);
                SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
                SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
                PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
                SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z+2);
            }
        }
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)