[Ajuda] veiculo nao seta trancado
#1

ae olha estava olhando no site da samp forum dai encontrei esse FS de Vp
tentei modificar ele pra q o carro ficase trancado sempre e q so o dono podese dirigir ele mais acabei nao conseguindo
sera q alguem pode me ajudar..


pawn Code:
#include <a_samp>
#define MAX_VEICULOS        2000
#define vermelho            0xD50000AA
#define verde               0x00B000AA
#define ARQUIVO_VEICULO     "Veiculos.stakline"
#define DIALOGS             1589
enum vp{dono[20],trancado}
new VEICULO_DONO[MAX_VEICULOS][vp],tmp1,tmp2,tmp3,tmp4;
//============================================================================*/

public OnFilterScriptInit()
{
    new Argumento[8][100];
    new str[256];
    new modeloid,Float:x,Float:y,Float:z,Float:a,cor1,cor2,veiculoid;
    new File: ArquivoVeiculo = fopen(ARQUIVO_VEICULO, io_read);
    if (ArquivoVeiculo)
    {
        for(new id; id<MAX_VEICULOS; id++)
        {
            fread(ArquivoVeiculo, str);
            split(str, Argumento, ',');

            modeloid     =       strval   (Argumento[0]);
            x            =       floatstr (Argumento[1]);
            y            =       floatstr (Argumento[2]);
            z            =       floatstr (Argumento[3]);
            a            =       floatstr (Argumento[4]);
            cor1         =       strval   (Argumento[5]);
            cor2         =       strval   (Argumento[6]);
            veiculoid = AddStaticVehicle(modeloid,x,y,z,a,cor1,cor2);
            format(VEICULO_DONO[veiculoid][dono],20,Argumento[7]);
        }
        fclose(ArquivoVeiculo);
    }
    print("\n---------------------------------------");
    print(" Veiculo Player - by Stakline -HomeHots");
    print("---------------------------------------\n");
    return 1;
}
//============================================================================//
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/vp", true) == 0) {
        if(!IsPlayerAdmin(playerid)){return 0;}
        ShowPlayerDialog(playerid,DIALOGS+1,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do player:\n(que serб dono do veнculo):","Ok","Cancelar");
        return 1;
    }
//----------------------------------------------------------------------------//
    if(strcmp(cmdtext, "/vptrancar", true) == 0) {
        if(!IsPlayerInAnyVehicle(playerid)){
            SendClientMessage(playerid,vermelho,"Vocк nгo estб em um veiculo!");
            return 1;
        }
        new Veiculo = GetPlayerVehicleID(playerid);
        if(CompararStrings(VEICULO_DONO[Veiculo][dono],PlayerNome(playerid))){
            if(VEICULO_DONO[Veiculo][trancado] == 1){
                SendClientMessage(playerid, vermelho, "[VP]: O veнculo jб estб trancado!");
                return 1;
            }
            VEICULO_DONO[Veiculo][trancado] = 1;
            SendClientMessage(playerid, verde, "[VP]: Veiculo trancado com sucesso.");
            return 1;
        }else{
            SendClientMessage(playerid, vermelho, "[VP]: Esse veiculo nгo й seu!");
            return 1;
        }

    }
//----------------------------------------------------------------------------//
    if(strcmp(cmdtext, "/vpdestrancar", true) == 0) {
        if(!IsPlayerInAnyVehicle(playerid)){
            SendClientMessage(playerid,vermelho,"Vocк nгo estб em um veiculo!");
            return 1;
        }
        new Veiculo = GetPlayerVehicleID(playerid);
        if(CompararStrings(VEICULO_DONO[Veiculo][dono],PlayerNome(playerid))){
            if(VEICULO_DONO[Veiculo][trancado] == 0){
                SendClientMessage(playerid, vermelho, "[VP]: O veнculo jб estб destrancado!");
                return 1;
            }
            VEICULO_DONO[Veiculo][trancado] = 0;
            SendClientMessage(playerid, verde, "[VP]: Veiculo destrancado com sucesso.");
            return 1;
        }else{
            SendClientMessage(playerid, vermelho, "[VP]: Esse veiculo nгo й seu!");
            return 1;
        }
    }
    if(strcmp(cmdtext, "/vpcomandos", true) == 0) {
        SendClientMessage(playerid, verde, "[VP]: /vptrancar e /vpdestrancar!");
        SendClientMessage(playerid, 0xFFFFFFAA, "[VP]: Feito Por [KnD]NaTaN -SampKnd");
        return 1;
    }
    return 0;
}
//============================================================================//
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(!ispassenger){
        if(VeiculoDono(playerid, vehicleid) == -1){return 1;}
        if(VeiculoDono(playerid, vehicleid)){
            SendClientMessage(playerid, verde, "[VP]: Bem Vindo ao Seu Veiculo.");
        }else{
            if(VEICULO_DONO[vehicleid][trancado] == 1){
                RemovePlayerFromVehicle(playerid);
                new Float:x,Float:y,Float:z;
                GetPlayerPos(playerid,x,y,z);
                SetPlayerPos(playerid,x,y,z+0.5);
                new msg[256];
                format(msg,256,"[VP]: Este veiculo й exclusivo de %s!",VEICULO_DONO[vehicleid][dono]);
                SendClientMessage(playerid, vermelho, msg);
            }

        }
    }
    return 1;
}
//============================================================================//
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOGS+1){
        if(response){
            if(!IsNumeric(inputtext)){
                SendClientMessage(playerid, vermelho, "[VP]:  Por favor digite o ID do player!");
                ShowPlayerDialog(playerid,DIALOGS+1,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do player:\n(que serб dono do veнculo):","Ok","Cancelar");
                return 1;
            }
            tmp1 = 0;tmp2 = 0;tmp3= 0;
            tmp1 = strval(inputtext);
            if(!IsPlayerConnected(strval(inputtext))){
                SendClientMessage(playerid, vermelho, "[VP]:  Jogador nгo estб conectado!");
                ShowPlayerDialog(playerid,DIALOGS+1,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do player:\n(que serб dono do veнculo):","Ok","Cancelar");
                return 1;
            }
            ShowPlayerDialog(playerid,DIALOGS+2,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do veнculo:\n(de 411 а 611)","Ok","Cancelar");
            return 1;
        }else{return SendClientMessage(playerid, vermelho, "[VP]: Criaзгo cancelada!");}
    }
//===================================================================================================================================================================================//
    if(dialogid == DIALOGS+2){
        if(response){
            if(!IsNumeric(inputtext)){
                SendClientMessage(playerid, vermelho, "[VP]: Modelo ID Incorreto! (400 a 611) -  NUMEROS!");
                ShowPlayerDialog(playerid,DIALOGS+2,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do veнculo:\n(de 411 а 611)","Ok","Cancelar");
                return 1;
            }
            tmp2 = strval(inputtext);
            if(tmp2 < 400 || tmp2 > 611){
                ShowPlayerDialog(playerid,DIALOGS+2,DIALOG_STYLE_INPUT,"Veiculo Player - Stakline","Digite o ID do veнculo:\n(de 411 а 611)","Ok","Cancelar");
                SendClientMessage(playerid, vermelho, "[VP]: Modelo ID Incorreto! (400 a 611)");
                return 1;
            }
            ShowPlayerDialog(playerid,DIALOGS+3,DIALOG_STYLE_LIST,"Veнculo Player - Stakline - Cor 1:"," Preto \n Branco \n Vermelho \n Azul \n Verde \n Amarelo \n Rosa \n Marron \n Cinza \n Ouro \n Azul Escuro \n Azul Claro \n Verde \n Cinza Escuro \n Vermelho Escuro \n Marron Escuro \n« Voltar","Pintar","Fechar");
        }else{return SendClientMessage(playerid, vermelho, "[VP]: Criaзгo cancelada!");}
        return 1;
    }
//===================================================================================================================================================================================//
    if(dialogid == DIALOGS+3){
        if(response){
            if(listitem == 0){tmp3= 0;}
            else if(listitem == 1){tmp3= 1;}
            else if(listitem == 2){tmp3= 3;}
            else if(listitem == 3){tmp3= 79;}
            else if(listitem == 4){tmp3= 86;}
            else if(listitem == 5){tmp3= 6;}
            else if(listitem == 6){tmp3= 126;}
            else if(listitem == 7){tmp3= 66;}
            else if(listitem == 8){tmp3= 24;}
            else if(listitem == 9){tmp3= 123;}
            else if(listitem == 10){tmp3= 53;}
            else if(listitem == 11){tmp3= 93;}
            else if(listitem == 12){tmp3= 83;}
            else if(listitem == 13){tmp3= 25;}
            else if(listitem == 14){tmp3= 43;}
            else if(listitem == 15){tmp3= 84;}
            ShowPlayerDialog(playerid,DIALOGS+4,DIALOG_STYLE_LIST,"Veнculo Player - Stakline - Cor 2:"," Preto \n Branco \n Vermelho \n Azul \n Verde \n Amarelo \n Rosa \n Marron \n Cinza \n Ouro \n Azul Escuro \n Azul Claro \n Verde \n Cinza Escuro \n Vermelho Escuro \n Marron Escuro \n« Voltar","Pintar","Fechar");
        }else{return SendClientMessage(playerid, vermelho, "[VP]: Criaзгo cancelada!");}
        return 1;
    }
//===================================================================================================================================================================================//
    if(dialogid == DIALOGS+4){
        if(response){
            if(listitem == 0){tmp4= 0;}
            else if(listitem == 1){tmp4= 1;}
            else if(listitem == 2){tmp4= 3;}
            else if(listitem == 3){tmp4= 79;}
            else if(listitem == 4){tmp4= 86;}
            else if(listitem == 5){tmp4= 6;}
            else if(listitem == 6){tmp4= 126;}
            else if(listitem == 7){tmp4= 66;}
            else if(listitem == 8){tmp4= 24;}
            else if(listitem == 9){tmp4= 123;}
            else if(listitem == 10){tmp4= 53;}
            else if(listitem == 11){tmp4= 93;}
            else if(listitem == 12){tmp4= 83;}
            else if(listitem == 13){tmp4= 25;}
            else if(listitem == 14){tmp4= 43;}
            else if(listitem == 15){tmp4= 84;}
            if(CriarVeiculoPlayer(playerid,tmp1,tmp2,tmp3,tmp4)){
                SendClientMessage(playerid, verde, "[VP]: Veiculo Criado e Salvo com sucesso!");
                new msg[256];
                format(msg,256,"[VP]: %s criou um veiculo exclusivo para vocк!",PlayerNome(playerid));
                SendClientMessage(tmp2, verde, msg);
            }else{
                SendClientMessage(playerid, verde, "[VP]: Erro ao criar o veiculo!");
            }
        }else{return SendClientMessage(playerid, vermelho, "[VP]: Criaзгo cancelada!");}
        return 1;
    }
//===================================================================================================================================================================================//
    return 0;
}
//============================================================================//
stock PlayerNome(id){
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(id, Nome, MAX_PLAYER_NAME);
    return Nome;
}
//============================================================================//
stock CompararStrings(String1[],String2[]){
    if(strlen(String1) == 0 || strlen(String2) == 0){
        return false;
    }
    if(strcmp(String1 ,String2, true ) == 0 ){
        //printf("'%s' й igual б '%s'!",String1,String2);
        return true;
    }else{
        //printf("'%s' й diferente de '%s'!",String1,String2);
        return false;
    }
}
//============================================================================//
stock CriarVeiculoPlayer(playerid,plid,modeloid,cor1,cor2){
    new Float:x, Float:y, Float:z, Float:a, string[256], File:temp, veiculoid;

    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid,a);

    format(string, sizeof(string), "%d,%f,%f,%f,%f,%d,%d,%s,\r\n", modeloid,x,y,z,a,cor1,cor2,PlayerNome(plid));
    temp = fopen(ARQUIVO_VEICULO, io_append);
    fwrite(temp, string);
    fclose(temp);

    veiculoid = AddStaticVehicle(modeloid,x,y,z,a,cor1,cor2);
    format(VEICULO_DONO[veiculoid][dono],20,PlayerNome(plid));
    return 1;
}
//============================================================================//
stock VeiculoDono(playerid, veiculoid){
    if(strlen(VEICULO_DONO[veiculoid][dono]) == 0){
        return -1;
    }
    if(!CompararStrings(VEICULO_DONO[veiculoid][dono],PlayerNome(playerid))){
        return 0;
    }
    return 1;
}
//============================================================================//
forward split(const strsrc[], strdest[][], delimiter);
public split(const strsrc[], strdest[][], delimiter)
{
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc)){
        if(strsrc[i]==delimiter || i==strlen(strsrc)){
            len = strmid(strdest[aNum], strsrc, li, i, 128);
            strdest[aNum][len] = 0;
            li = i+1;
            aNum++;
        }
        i++;
    }
    return 1;
}
//============================================================================//
stock IsNumeric(const string[]) {
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
        if (
        (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')
        || (string[i]=='-' && i!=0)
        || (string[i]=='+' && i!=0)
        ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
}
//============================================================================//
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)