PDA

View Full Version : how i make job


TheDiscussionCafe
20/05/2012, 02:43 PM
how do i make job for people to do? like delivery job or somethingg?

IRio97
20/05/2012, 02:47 PM
you can get player job with a variable like this

new job1[MAX_PLAYERS];

CMD:takejob1(playerid, params[])
{
job1[playerid] = 1;
SendClientMessage(playerid, -1, "You have now job1!");
return 1;
}

and for make cmd for player with job1 use:

CMD:job(playerid, params[])
{
if(job1[playerid] == 1)
{
functions
}
else
{
SendClientMessage(playerid, -1, "You aren't a ...");
}
return 1;
}

iGetty
20/05/2012, 02:54 PM
Here it is with fixed indentation:

new job1[MAX_PLAYERS];

CMD:takejob1(playerid, params[])
{
job1[playerid] = 1;
SendClientMessage(playerid, -1, "You have now job1!");
return 1;
}

CMD:job(playerid, params[])
{
if(job1[playerid] == 1)
{
//functions
}
else
{
SendClientMessage(playerid, -1, "You aren't a ...");
}
return 1;
}

TheDiscussionCafe
20/05/2012, 02:58 PM
thank you, how can i add in "inrangeofpoint" and how i can make delivery end and delivery vehicle? thankx you!

iGetty
20/05/2012, 03:01 PM
if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))

Also, to create a vehicle use this:

CreateVehicle(vehiclemodel, x, y, z, a, colour1, colour2, respawn_time);

The delivery end, how do you mean?

[ABK]Antonio
20/05/2012, 03:08 PM
I would use a template like this



enum { None, Delivery, SomeOtherJob, Another};
enum pInfo {Job}; //can add other things in here like kills, deaths, level, etc

new Info[MAX_PLAYERS][pInfo];


public OnPlayerConnect(playerid)
{
Info[playerid][Job] = None; //reset the playerid's job to 0 (needs to be done when working with arrays)
return 1;
}

CMD:join(playerid, params[])
{
if(Info[playerid][Job] != None) return SendClientMessage(playerid, 0xCC0000AA, "You already have a job!");

if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:X, Float:Y, Float:Z)) //these would be for delivery job join location
{
Info[playerid][Job] = Delivery; //set their job to delivery
SendClientMessage(playerid, 0x00CCCCAA, "You're now a delivery man!");
//If you had a saving system you would save this either when they join or when they log out
}
else if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:X, Float:Y, Float:Z)) //some other job
{
Info[playerid][Job] = SomeOtherJob;
SendClientMessage(playerid, 0x00CCCCAA, "You're now something!");
}
//and the same as above for the rest
return 1;
}

CMD:quitjob(playerid, params[])
{
if(Info[playerid][Job] == None) return SendClientMessage(playerid, 0xCC0000AA, "You don't have a job!");

Info[playerid][Job] = None;
SendClientMessage(playerid, 0x00CCCCAA, "You've quit your job!");
//like above if you have a saving system you would save this either when they join or when they log out
}


It depends on how you want to actually start the job. Entering a truck? With checkpoints for destinations? If so, I would go to the tutorial section and look for tutorials on things like exclusive vehicles, checkpoints and what not. You could also go to the wiki (http://wiki.sa-mp.com/) and look around there.

TheDiscussionCafe
20/05/2012, 03:25 PM
@[ABK]Antonio how i can checkpoint like delivery checkpoint for the job? Also like when player type in /job vehicle will spawn andd "if player is in vehicle" enter checkpoint giveplayercash... is the that possible?