SA-MP Forums Archive
PLEASE, I am SO close now! [JOB SCRIPT] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: PLEASE, I am SO close now! [JOB SCRIPT] (/showthread.php?tid=206473)



PLEASE, I am SO close now! [JOB SCRIPT] - Facepunch - 03.01.2011

So, now I got all the checkpoints set up, but the thing is that, everytime I go to the checkpoint it doesnt automaticly start the other checkpoint.. help plz?


pawn Код:
#define FILTERSCRIPT
#include <a_samp>





//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public OnGameModeInit()
{

    CreateVehicle(574, -2273.1279,2306.4246,4.5453,87.7054, 1, 1, 10);
    CreateVehicle(574, -2272.5564,2309.2610,4.5453,91.0751, 1, 1, 10);
    CreateVehicle(574, -2272.8257,2312.2505,4.5454,89.3365, 1, 1, 10);
    CreateVehicle(574, -2273.1941,2315.2334,4.5453,90.2443, 1, 1, 10);

    return 1;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public OnPlayerEnterCheckpoint(playerid)
{
    if  (IsPlayerInRangeOfPoint(playerid, 2, -2272.1460,2354.0540,4.5454))
    {
   
        SetPlayerCheckpoint(playerid, -2334.6729,2385.2109,5.5064, 3.0);
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2, -2334.6729,2385.2109,5.5064))
    {
   
        SetPlayerCheckpoint(playerid, -2454.7063,2334.3398,4.5608, 3.0);
    }
    if (IsPlayerInRangeOfPoint(playerid, 2, -2454.7063,2334.3398,4.5608))
    {
       
        SetPlayerCheckpoint(playerid, -2468.2590,2322.1565,4.5611, 3.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2, -2468.2590,2322.1565,4.5611))
    {
       
        SetPlayerCheckpoint(playerid, -2475.2698,2264.7302,4.5627, 3.0);
    }
    if (IsPlayerInRangeOfPoint(playerid, 2, -2475.2698,2264.7302,4.5627))
    {

        SetPlayerCheckpoint(playerid, -2571.5884,2333.4280,4.5634, 3.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2, -2571.5884,2333.4280,4.5634))
    {
       
        SetPlayerCheckpoint(playerid, -2612.8010,2340.5071,7.9364, 3.0);
    }
    if (IsPlayerInRangeOfPoint(playerid, 2, -2612.8010,2340.5071,7.9364))
    {
       
        SetPlayerCheckpoint(playerid, -2536.2373,2400.0557,14.5013, 3.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2, -2536.2373,2400.0557,14.5013))
    {
       
        SetPlayerCheckpoint(playerid, -2416.5896,2430.4604,12.1526, 3.0);
    }
    if (IsPlayerInRangeOfPoint(playerid, 2, -2416.5896,2430.4604,12.1526))
    {
     
        SetPlayerCheckpoint(playerid, -2273.8125,2348.2114,4.5434, 3.0);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 2, -2273.8125,2348.2114,4.5434))
    {
       
        SendClientMessage(playerid, 0xAA3333AA, "You have finished your job! Here is 1000 dollars for your effort!");
        GivePlayerMoney(playerid, 1000);
    }
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    if (IsPlayerInRangeOfPoint(playerid, 2, -2273.8125,2348.2114,4.5434))
    {
    IsPlayerInCheckpoint(playerid);
    DisablePlayerCheckpoint(playerid);
    }

    return 1;
}






public OnPlayerCommandText(playerid, cmdtext[])
{

    if(strcmp("/startsweep", cmdtext, true, 6) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new vehid = GetPlayerVehicleID(playerid);
            if(GetVehicleModel(vehid) == 574)
            {
               
            SetPlayerCheckpoint(playerid, -2272.1460,2354.0540,4.5454, 3.0);
            SendClientMessage(playerid, 0xFFFFFFAA, "Remember to do /startsweep every time your at a checkpoint!");

            }
            else SendClientMessage(playerid, 0xFFFFFFAA, "You need to be in a sweeper, to use this command!");
        }
        else SendClientMessage(playerid, 0xFFFFFFAA, "You need to be in a vehicle, to use this command!");
        return 1;
    }
    return 0;
}



Re: PLEASE, I am SO close now! [JOB SCRIPT] - Backwardsman97 - 04.01.2011

2 is a small range. Try making it larger.


Re: PLEASE, I am SO close now! [JOB SCRIPT] - cessil - 04.01.2011

why are you using IsPlayerInRangeOfPoint when they just entered a checkpoint? store the created checkpoints into variables and when they enter a checkpoint check which one they entered according to the checkpointid


Re: PLEASE, I am SO close now! [JOB SCRIPT] - ToPhrESH - 04.01.2011

Sorry for this Off-Topic, but Facepunch, there is no need to create multiple topics posting the same problem. Just create one topic for ONE situation. If no one ever helps you can always bump it.


Re: PLEASE, I am SO close now! [JOB SCRIPT] - Backwardsman97 - 04.01.2011

Quote:
Originally Posted by cessil
Посмотреть сообщение
why are you using IsPlayerInRangeOfPoint when they just entered a checkpoint? store the created checkpoints into variables and when they enter a checkpoint check which one they entered according to the checkpointid
Because checkpointid's don't exist. SetPlayerCheckpoint doesn't return a specific value.


Re: PLEASE, I am SO close now! [JOB SCRIPT] - cessil - 04.01.2011

it returns the id of the newly created checkpoint, if you don't believe me try it yourself, just don't teach new scripters the wrong things


Re: PLEASE, I am SO close now! [JOB SCRIPT] - Backwardsman97 - 04.01.2011

Quote:
Originally Posted by cessil
Посмотреть сообщение
it returns the id of the newly created checkpoint, if you don't believe me try it yourself, just don't teach new scripters the wrong things
https://sampwiki.blast.hk/wiki/SetPlayerCheckpoint


Re: PLEASE, I am SO close now! [JOB SCRIPT] - cessil - 04.01.2011

I haven't worked with non streamed checkpoints in a while, but incognito's is much easier to use than normal SetPlayerCheckPoint, you can actually check which checkpointid they entered and exited


Re: PLEASE, I am SO close now! [JOB SCRIPT] - Backwardsman97 - 04.01.2011

....

If it did return something, why wouldn't the callback OnPlayerEnterCheckpoint have more than just the playerid parameter? It would have playerid and checkpointid.


Re: PLEASE, I am SO close now! [JOB SCRIPT] - Facepunch - 04.01.2011

Thank you all for the replies, but can you give me something "concrete" that works, so I can work from that?