Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Risticc poslato Jul 30, 2020, 16:49:24 POSLE PODNE

Naslov: Rent zauzeto slobodno
Poruka od: Risticc poslato Jul 30, 2020, 16:49:24 POSLE PODNE
Problem(error/warning): E ovako koristim Athlone by Traxx i imam u modu sistem kada je rent vozilo slobodno pise na labelu slobodno, kada je zauzeto pise zauzeto. Napravio sam da updateuje label ali kada rentujem vozilo ono ga ne updateuje vec samo stoji isto tj. da je slobodno.
Deo skripte: [pawn]new Text3D:LabelRent[ MAX_VEHICLES ];[/pawn]
[pawn]            else if( dialogid == dialog_RENTANJE ) {

        if( response ) {

            new vreme, price;

            if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) price = 5;
            else if( IsVehicleMotor( GetPlayerVehicleID( playerid ) ) ) price = 10;
            else if( IsVehicleAuto( GetPlayerVehicleID( playerid ) ) ) price = 15;

            if( sscanf( inputtext, "i", vreme ) ) {

                new string[ 512 ];
                format( string, sizeof( string ), ""col_white"Usli ste u rent vozilo.\n\n\
                        "col_white"Vozilo koje zelite rentati iznajmljujete na minute.\n\n\
                        "col_white"1 minut je %d$.\n\n\
                        "col_white"Unesite koliko minuta zelite da rentate ovo vozilo.\n\n\
                        "col_white"Ukoliko zelite rentati ovo vozilo mozete koristiti sledece komande:\n\n\
                        "col_sboja"/lock /unrent /rlociraj", price );
                SPD( playerid, dialog_RENTANJE, DSI, D_NASLOV, string, "Rentaj", D_ODUSTANI );

                return 1;
            }

            if( vreme < 1 || vreme > 45 ) return GRESKA( playerid, "Ne mozes ispod 1 ili iznad 45 min." ), N_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );

            new engine, lights, alarm, doors, bonnet, boot, objective;
            GetVehicleParamsEx( GetPlayerVehicleID( playerid ), engine, lights, alarm, doors, bonnet, boot, objective );

            if( Rentano[ playerid ] != -1 ) return GRESKA( playerid, "Vec si rentao neko vozilo."), N_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );
            if( !IsPlayerInAnyVehicle(playerid)) return GRESKA( playerid, "Morate biti u vozilu!");
            if( GetPlayerState(playerid) != PLAYER_STATE_DRIVER ) return GRESKA( playerid, "Morate biti na mestu vozaca!");

            foreach( Player, i ) {

                if( Rentano[ i ] == GetPlayerVehicleID( playerid ) ) {

                    GRESKA( playerid, "To vozilo je vec rentano!" );
                    N_RemovePlayerFromVehicle( playerid ); TogglePlayerControllable( playerid, true );
                    return 1;
                }
            }

            if( PlayerInfo[ playerid ][ xNovac ] < price*vreme ) return GRESKA( playerid, "Nemas dovoljno novca(%d$)!", price*vreme ), N_RemovePlayerFromVehicle( playerid ), TogglePlayerControllable( playerid, true );
            DajIgracuNovac( playerid, -price*vreme  );
            Rentano[ playerid ] = GetPlayerVehicleID( playerid );
            RentTimer[ playerid ] = SetTimerEx( "KrajRenta", vreme*60000, 0, "ii", playerid, GetPlayerVehicleID( playerid ) );

            if( IsVehicleBajs( GetPlayerVehicleID( playerid ) ) ) {
                SetVehicleParamsEx( GetPlayerVehicleID( playerid ), 1, lights, alarm, doors, bonnet, boot, objective );
                SendClientMessageEx( playerid, ZUTA, "Rentao si biciklu sada mozete krenuti, rent ti je ogranicen na %d minuta!", vreme );
                SCM( playerid, ZUTA, "Ako zaboravite gde ste ostavili rent vozilo kucajte /rlociraj" );
                Update3DTextLabelText( LabelRent[ Rentano[ playerid ] ], -1, "RENT {F9F9F9}VOZILO {FF1414}ZAUZETO" );
            }
            else if( IsVehicleMotor( GetPlayerVehicleID( playerid ) ) ) {
                SendClientMessageEx( playerid, ZUTA, "Rentao si motor sada ga mozes upaliti, rent ti je ogranicen na %d minuta!", vreme );
                SCM( playerid, ZUTA, "Ako zaboravite gde ste ostavili rent vozilo kucajte /rlociraj" );
                Update3DTextLabelText( LabelRent[ Rentano[ playerid ] ], -1, "RENT {F9F9F9}VOZILO {FF1414}ZAUZETO" );
            }
            else if( IsVehicleAuto( GetPlayerVehicleID( playerid ) ) ) {
                SendClientMessageEx( playerid, ZUTA, "Rentao si vozilo sada ga mozes upaliti, rent ti je ogranicen na %d minuta!", vreme );
                SCM( playerid, ZUTA, "Ako zaboravite gde ste ostavili rent vozilo kucajte /rlociraj" );
                Update3DTextLabelText( LabelRent[ Rentano[ playerid ] ], -1, "RENT {F9F9F9}VOZILO {FF1414}ZAUZETO" );
            }

            BussinesRentMoney( playerid, price*vreme );
        }
        else {

            N_RemovePlayerFromVehicle( playerid ); TogglePlayerControllable( playerid, true );
            SCM( playerid, CRVENA, "Odbio si rentanje vozila!");
        }
    }
      [/pawn]
[pawn]CMD:unrent( playerid, params[] ) {
    if( Rentano[ playerid ] == -1 ) return GRESKA( playerid, "Niste rentali vozilo!");
    if( GetPlayerInterior( playerid ) != 0 ) return GRESKA( playerid, "Ne mozete koristiti u interijeru." );
    if( GetPlayerVirtualWorld( playerid ) != 0 ) return GRESKA( playerid, "Ne mozete koristiti u virtual worldu." );
    VehicleObjectCheck( Rentano[ playerid ] );
    SetVehicleToRespawn( Rentano[ playerid ] );
    LinkVehicleToInterior( Rentano[ playerid ], 0 );
    Rentano[ playerid ] = -1;
    Update3DTextLabelText( LabelRent[ Rentano[ playerid ] ], -1, "RENT {F9F9F9}VOZILO {FF1414}SLOBODNO" );
    N_KillTimer( RentTimer[ playerid ] );
    TogglePlayerControllable( playerid, true );
    SCM( playerid, ZUTA, "Vise ne rentate vozilo!");
    return 1;
}[/pawn]
[pawn]   else if( dialogid == dialog_RVCREATE ) {
        if( response ) {
            if( ServerInfo[ BrojKreiranihVozila ] > MaxBrojKreiranih ) return SCM( playerid, SBOJA, "LG:"col_white" Nemoguce je trenutno kreirati vozilo, limit vozila na serveru je dosegnut.");
            new idauta, Float:PozX, Float:PozY, Float:PozZ, Float:PozA, boja1, boja2;
            GetPlayerPos( playerid, PozX, PozY, PozZ );
            GetPlayerFacingAngle( playerid, PozA );
            if(carspawntimer == 1)
            {
                SCM( playerid, CRVENA, "Pokusajte za 3 sekunde. (Anticrash)");
                return 1;
            }
            if( sscanf( inputtext, "iii", idauta, boja1, boja2 ) ) return SPD( playerid, dialog_RVCREATE, DSI, D_NASLOV, "Unesite id zeljenog auta za rent vozilo, id boje1, id boje2.", D_ODABERI, D_NAZAD );
            if( idauta < 400 || idauta > 611 ) return SPD( playerid, dialog_RVCREATE, DSI, D_NASLOV, "Unesite id zeljenog auta za rent vozilo, id boje1, id boje2.", D_ODABERI, D_NAZAD );
            if( boja1 < 0 || boja1 > 255 ) return GRESKA( playerid, "Prva boja ne moze biti manja od 0 ili veca od 255.");
            if( boja2 < 0 || boja2 > 255 ) return GRESKA( playerid, "Druga boja ne moze biti manja od 0 ili veca od 255.");
            for( new i = 1; i < MAX_CARS; i++ ) {
                new fileauta[ 40 ];
                format(fileauta, sizeof( fileauta ), V_FILE, i);
                if( !fexist( fileauta ) ) {
                    VehicleInfo[ i ][ vOwned ] = 0;
                    VehicleInfo[ i ][ vNeaktivnost ] = 0;
                    VehicleInfo[ i ][ vKilometri ] = 0;
                    VehicleInfo[ i ][ vMetri ] = 0;
                    VehicleInfo[ i ][ vPrice ] = 0;
                    strmid( VehicleInfo[ i ][ vOwner ], "Drzava", 0, strlen("Drzava"), 32);
                    VehicleInfo[ i ][ vLocked ] = 0;
                    VehicleInfo[ i ][ vLokacijaX ] = PozX;
                    VehicleInfo[ i ][ vLokacijaY ] = PozY;
                    VehicleInfo[ i ][ vLokacijaZ ] = PozZ;
                    VehicleInfo[ i ][ vLokacijaA ] = PozA;
                    VehicleInfo[ i ][ vVirtualWorld ] = 0;
                    VehicleInfo[ i ][ vInterior ] = 0;
                    VehicleInfo[ i ][ vUsage ] = RENTANO_VOZILO;
                    VehicleInfo[ i ][ vJob ] = -1;
                    VehicleInfo[ i ][ vOrganization ] = -1;
                    VehicleInfo[ i ][ vFuelProperty ] = -1;
                    VehicleInfo[ i ][ vColor1 ] = boja1;
                    VehicleInfo[ i ][ vColor2 ] = boja2;
                    VehicleInfo[ i ][ vModel ] = idauta;
                    VehicleInfo[ i ][ vReg ] = 1;
                    VehicleInfo[ i ][ vRegVreme ] = 0;
                    VehicleInfo[ i ][ vTeh ] = 1;
                    VehicleInfo[ i ][ vGPS ] = 0;
                    VehicleInfo[ i ][ vOsiguranje ] = 5;
                    VehicleInfo[ i ][ vLock ] = 5;
                    VehicleInfo[ i ][ vAlarm ] = 4;
                    VehicleInfo[ i ][ vTuned ] = 0;
                    VehicleInfo[ i ][ vNeon ] = 0;
                    VehicleInfo[ i ][ vImobilizator ] = 5;
                    VehicleInfo[ i ][ vSpoiler ] = 0;
                    VehicleInfo[ i ][ vHood ] = 0;
                    VehicleInfo[ i ][ vRoof ] = 0;
                    VehicleInfo[ i ][ vSkirt ] = 0;
                    VehicleInfo[ i ][ vLamps ] = 0;
                    VehicleInfo[ i ][ vNitro ] = 0;
                    VehicleInfo[ i ][ vExhaust ] = 0;
                    VehicleInfo[ i ][ vWheels ] = 0;
                    VehicleInfo[ i ][ vStereo ] = 0;
                    VehicleInfo[ i ][ vHydraulics ] = 0;
                    VehicleInfo[ i ][ vFrontBumper ] = 0;
                    VehicleInfo[ i ][ vRearBumper ] = 0;
                    VehicleInfo[ i ][ vVents ] = 0;
                    VehicleInfo[ i ][ vPaintJob ] = 255;
                    VehicleInfo[ i ][ vProvera ] = i;
                    VehicleInfo[ i ][ vMaterijali ] = 0;
                    VehicleInfo[ i ][ vDrug ][ 0 ] = 0; VehicleInfo[ i ][ vDrug ][ 1 ] = 0; VehicleInfo[ i ][ vDrug ][ 2 ] = 0; VehicleInfo[ i ][ vDrug ][ 3 ] = 0; VehicleInfo[ i ][ vDrug ][ 4 ] = 0; VehicleInfo[ i ][ vDrug ][ 5 ] = 0;
                    VehicleInfo[ i ][ vDrugCode ][ 0 ] = 0; VehicleInfo[ i ][ vDrugCode ][ 1 ] = 0; VehicleInfo[ i ][ vDrugCode ][ 2 ] = 0; VehicleInfo[ i ][ vDrugCode ][ 3 ] = 0; VehicleInfo[ i ][ vDrugCode ][ 4 ] = 0; VehicleInfo[ i ][ vDrugCode ][ 5 ] = 0;
                    VehicleInfo[ i ][ vMelee ] = 0; VehicleInfo[ i ][ vWeap1 ] = 0; VehicleInfo[ i ][ vAmmo1 ] = 0; VehicleInfo[ i ][ vWeap2 ] = 0; VehicleInfo[ i ][ vAmmo2 ] = 0;
                    VehicleInfo[ i ][ vGajbica ][ 0 ] = -1; VehicleInfo[ i ][ vGajbica ][ 1 ] = -1; VehicleInfo[ i ][ vGajbica ][ 2 ] = -1; VehicleInfo[ i ][ vGajbica ][ 3 ] = -1; VehicleInfo[ i ][ vGajbica ][ 4 ] = -1;
                    VehicleInfo[ i ][ vGajbicaAmmount ][ 0 ] = 0; VehicleInfo[ i ][ vGajbicaAmmount ][ 1 ] = 0; VehicleInfo[ i ][ vGajbicaAmmount ][ 2 ] = 0; VehicleInfo[ i ][ vGajbicaAmmount ][ 3 ] = 0; VehicleInfo[ i ][ vGajbicaAmmount ][ 4 ] = 0;
                    VehicleInfo[ i ][ vID ] = N_CreateVehicle( i, RENTANO_VOZILO, -1, -1, -1, VehicleInfo[ i ][ vModel ], VehicleInfo[ i ][ vLokacijaX ], VehicleInfo[ i ][ vLokacijaY ], VehicleInfo[ i ][ vLokacijaZ ]+1.0, VehicleInfo[ i ][ vLokacijaA ], VehicleInfo[ i ][ vColor1 ], VehicleInfo[ i ][ vColor2 ], 300000 );
                    LinkVehicleToInterior( VehicleInfo[ i ][ vID ], VehicleInfo[ i ][ vInterior ] );
                    SetVehicleVirtualWorld( VehicleInfo[ i ][ vID ], VehicleInfo[ i ][ vVirtualWorld ] );
                    VehicleInfo[ i ][ vFuel ] = getAmountFuel( VehicleInfo[ i ][ vID ] ); vCanDrive[ VehicleInfo[ i ][ vID ] ] = 1; Fuel[ VehicleInfo[ i ][ vID ] ] = getAmountFuel( VehicleInfo[ i ][ vID ] );
                    UnLockCar( VehicleInfo[ i ][ vID ] ); ResetVehicleStatistics( VehicleInfo[ i ][ vID ] ); SetTablice( VehicleInfo[ i ][ vID ] );
                    SaveVehicle( i ); Info( playerid, "Uspesno ste kreirali rent vozilo: ID Auta: %d",idauta );
                    SetVehicleLabels( i );
                    carspawntimer = 1;
                    SetTimer("AntiSpawnCrash", 3000, 0);
                    SetVehicleParamsEx( VehicleInfo[ i ][ vID ], 0, 0, 0, VehicleInfo[ i ][ vLocked ], 0, 0, 0 );
                    if( IsVehicleBajs( VehicleInfo[ i ][ vID ] ) ) {
                        SetVehicleParamsEx( VehicleInfo[ i ][ vID ], 1, 0, 0, VehicleInfo[ i ][ vLocked ], 0, 0, 0 );
                    }

                    if( Diesel( VehicleInfo[ i ][ vID ] ) ) VehicleInfo[ i ][ vFuelType ] = 1;
                    else if( Gasoline( VehicleInfo[ i ][ vID ] ) ) VehicleInfo[ i ][ vFuelType ] = 2;
                    else if( GasOil( VehicleInfo[ i ][ vID ] ) ) VehicleInfo[ i ][ vFuelType ] = 3;
                    break;
                }
            }
        }
        else { SPD( playerid, dialog_NAPRAVISVE, DSL, D_NASLOV, "Organizacije\nVozila\nFirmu\nKontejner\nKuca\nStan\nVikendica\nEvent\nBankomat\nAuto salon\nHotel\nKapija\nImanje\nGaraza\nGPS Lokacija\nAIG port\nHelper Port\nRadar\nGang Zona\nPoklon\nJelka\nLampa\nPumpa\nParking", D_ODABERI, D_NAZAD );  }
    }[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ][ /code ]
Slika/video ingame problema(obavezno ako je ingame problem):
Naslov: Odg: Rent zauzeto slobodno
Poruka od: Alhemičar poslato Jul 30, 2020, 17:38:56 POSLE PODNE
[pawn] Rentano[ playerid ] = -1;
    Update3DTextLabelText( LabelRent[ Rentano[ playerid ] ], -1, "RENT {F9F9F9}VOZILO {FF1414}SLOBODNO" );[/pawn]

Niđe veze ::)
Naslov: Odg: Rent zauzeto slobodno
Poruka od: // xunder poslato Jul 30, 2020, 18:09:40 POSLE PODNE
Daj SetVehicleLabels
Naslov: Odg: Rent zauzeto slobodno
Poruka od: Risticc poslato Jul 30, 2020, 18:16:14 POSLE PODNE
[pawn]        else if( VehicleInfo[ i ][ vUsage ] == RENTANO_VOZILO ) {

            VehicleInfo[ i ][ Validv3DText ] = true;
            LabelRent[ i ] = Create3DTextLabel( "[RENT VOZILO]\nSLOBODNO",SBOJA, 0.0, 0.0, 0.0, 15.0, 0, 1 );
            Attach3DTextLabelToVehicle( LabelRent[ i ], VehicleInfo[ i ][ vID ], 0.0, 0.0, 0.0);
        }[/pawn]