SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Scripting Help (https://forum.sa-mp.com/forumdisplay.php?f=12)
-   -   Help with vehicleid (https://forum.sa-mp.com/showthread.php?t=671098)

ImTobi 09/12/2019 04:42 PM

Help with vehicleid
 
Code:

for(new i=0; i<sizeof(KraftstoffCars); i++)
                {
                        if(vID == KraftstoffCars[i][kID])
                        {
                                if(GetVehicleModel(GetVehicleTrailer(vID)) == 584)
                                {
                                        tInfo[tID[playerid]][tFuelStand] = 100;
                                        SendClientMessage(playerid, COLOR_YELLOW, "You filled the gas pump.");
                                        GameTextForPlayer(playerid, "~g~PAYDAY +1500 $", 2000, 6);
                                        pInfo[playerid][payday] += 1500;
                                        return 1;
                                }
                                return SendClientMessage(playerid, COLOR_RED, "Your Truck doesn't have the right Trailer.");
                        }
                    return SendClientMessage(playerid, COLOR_RED, "You are not sitting in an Job-Truck");
                }


My question is, how do i make it, so when i am not in an Job Tuck, i am getting a message, that i am not in a job truck? For me it just says it for every other truck, but the first one ist working

NaS 09/12/2019 04:58 PM

Re: Help with vehicleid
 
Instead of putting the second message (and return) into the loop, you must move it outside of the loop, otherwise it will execute at the first iteration where the player is not in the correct truck (when you have for example 10 trucks, this might be the case for the first 9 iterations - this is why only the first truck works).

So only if the loop has finished completely and no truck was the one the player is driving, it should send the message saying the player isn't in any job truck.

ImTobi 09/12/2019 05:03 PM

Re: Help with vehicleid
 
Quote:

Originally Posted by NaS (Post 4124583)
Instead of putting the second message (and return) into the loop, you must move it outside of the loop, otherwise it will execute at the first iteration where the player is not in the correct truck (when you have for example 10 trucks, this might be the case for the first 9 iterations - this is why only the first truck works).

So only if the loop has finished completely and no truck was the one the player is driving, it should send the message saying the player isn't in any job truck.

can you give me an example?

NaS 09/12/2019 05:13 PM

Re: Help with vehicleid
 
Code:

for(new i=0; i<sizeof(KraftstoffCars); i++)
{
        if(vID == KraftstoffCars[i][kID])
        {
                if(GetVehicleModel(GetVehicleTrailer(vID)) == 584)
                {
                        tInfo[tID[playerid]][tFuelStand] = 100;
                        SendClientMessage(playerid, COLOR_YELLOW, "You filled the gas pump.");
                        GameTextForPlayer(playerid, "~g~PAYDAY +1500 $", 2000, 6);
                        pInfo[playerid][payday] += 1500;
                        return 1;
                }
                return SendClientMessage(playerid, COLOR_RED, "Your Truck doesn't have the right Trailer.");
        }
}
return SendClientMessage(playerid, COLOR_RED, "You are not sitting in an Job-Truck");

Now the message will only be sent if none of the trucks are driven by the player, since you use return in any other case.

ImTobi 09/12/2019 05:21 PM

Re: Help with vehicleid
 
Quote:

Originally Posted by NaS (Post 4124587)
Code:

for(new i=0; i<sizeof(KraftstoffCars); i++)
{
        if(vID == KraftstoffCars[i][kID])
        {
                if(GetVehicleModel(GetVehicleTrailer(vID)) == 584)
                {
                        tInfo[tID[playerid]][tFuelStand] = 100;
                        SendClientMessage(playerid, COLOR_YELLOW, "You filled the gas pump.");
                        GameTextForPlayer(playerid, "~g~PAYDAY +1500 $", 2000, 6);
                        pInfo[playerid][payday] += 1500;
                        return 1;
                }
                return SendClientMessage(playerid, COLOR_RED, "Your Truck doesn't have the right Trailer.");
        }
}
return SendClientMessage(playerid, COLOR_RED, "You are not sitting in an Job-Truck");

Now the message will only be sent if none of the trucks are driven by the player, since you use return in any other case.


Code:

if(tInfo[tID[playerid]][tFuelStand] < 100)
        {
                for(new i=0; i<sizeof(KraftstoffCars); i++)
                {
                        if(vID == KraftstoffCars[i][kID])
                        {
                                if(GetVehicleModel(GetVehicleTrailer(vID)) == 584)
                                {
                                        tInfo[tID[playerid]][tFuelStand] = 100;
                                        SendClientMessage(playerid, COLOR_YELLOW, "Du hast die Zapfsäule erfolgreich gefüllt.");
                                        GameTextForPlayer(playerid, "~g~PAYDAY +1500 $", 2000, 6);
                                        pInfo[playerid][payday] += 1500;
                                        return 1;
                                }
                                return SendClientMessage(playerid, COLOR_RED, "Dein LKW hat keinen oder nicht den richtigen Auflieger.");
                        }
                }
                return SendClientMessage(playerid, COLOR_RED, "Du sitzt nicht in einem Job-LKW.");
        }
        return SendClientMessage(playerid, COLOR_RED, "Die Zapfsäule ist voll.");


so like that it should work everything?

ImTobi 09/12/2019 06:01 PM

Re: Help with vehicleid
 
K its working, thank you, i now understand it why it is outside of the loop! Rep


All times are GMT. The time now is 03:50 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.