switch(random(5)) // dit kan je hoger maken als je meer missies wilt
case 0: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 1: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 3: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 4: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
GetPlayerVehicleID(playerid,403);
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 403)) return SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
if (strcmp("/startjob", cmdtext, true, 10) == 0)
{
// laten we het even simpel houden, je pakt een auto die je wilt, je typt dit en je krijgt een missie.
if(PJInfo[playerid][OnJob] == true) return SendClientMessage(playerid, -1, "Your currently on a job '/endjob' if you want to start another one");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "You need to be in a vehicle to start working");
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 403)) return SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
// je zou een array of en enum kunnen maken, om meerdere missies te hebben, zelfs die je ingame kan maken, om dit simpel te houden, maak ik het in een switch statement.
SendClientMessage(playerid, -1, "Drive to the location marked on your radar to pick up the goods");
PJInfo[playerid][JobStatus] = 1;
PJInfo[playerid][VehicleID] = GetPlayerVehicleID(playerid);
switch(random(5)) // dit kan je hoger maken als je meer missies wilt
{
case 0: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 1: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 3: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 4: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
}
return 1;
}
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 403)) return SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 403,435,450,584,591)) return SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
if(GetVehicleModel(GetPlayerVehicleID(playerid) != 403,435,450,584,591)) return SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
switch(GetVehicleModel(GetPlayerVehicleID(playerid))
{
case 403, 435, 450, 584, 591:
{
//Hier moet je je code zetten als ie wel in een linerunner (of dergelijke truck) zit
}
default: //Default, oftewel standaard. In dit geval houdt het in als het vehicle model van de gebruiker geen van bovenstaande IDs is.
{
SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
}
Je mist anders 'case 2:'
![]() Jobs stellen trouwens heel weinig voor. Het lijkt heel uitgebreid, maar uiteindelijk is het bijvoorbeeld met een bus job zo dat je door x checkpoints mag en dat je als je dat gehaald hebt wat geld krijgt. Trashmaster is precies hetzelfde (Soms moet je naar een waste disposal rijden trouwens) en trucker eigenlijk ook. Wat vissen betreft: Als je in een bepaald gebied bent kan je een command intikken, en als dat je dat doet wordt er een timer voor een bepaalde callback gezet. Als die timer afgelopen is maakt het script gebruik van de random() functie en krijg je dus een willekeurig zelf-nietgevangen vis. |
Hey hey, ideetjes voor jobs :P
En ik had het zelf niet eens gezien dat case 2: ontbrak 0.o Checkpoints maken zou toch gewoon kunnen in de SA:MP Debug? |
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/startjob", cmdtext, true, 10) == 0)
{
// laten we het even simpel houden, je pakt een auto die je wilt, je typt dit en je krijgt een missie.
if(PJInfo[playerid][OnJob] == true) return SendClientMessage(playerid, -1, "Your currently on a job '/endjob' if you want to start another one");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "You need to be in a vehicle to start working");
switch(GetVehicleModel(GetPlayerVehicleID(playerid))
{
case 403, 435, 450, 584, 591:
{
// je zou een array of en enum kunnen maken, om meerdere missies te hebben, zelfs die je ingame kan maken, om dit simpel te houden, maak ik het in een switch statement.
SendClientMessage(playerid, -1, "Drive to the location marked on your radar to pick up the goods");
PJInfo[playerid][JobStatus] = 1;
PJInfo[playerid][VehicleID] = GetPlayerVehicleID(playerid);
switch(random(4)) // dit kan je hoger maken als je meer missies wilt
{
case 0: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 1: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 2: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
case 3: SetPlayerCheckpoint(playerid, 100.0, 100.0, 100.0, 10); // dit moet je natuurlijk echte locaties maken.
}
default: //Default, oftewel standaard. In dit geval houdt het in als het vehicle model van de gebruiker geen van bovenstaande IDs is.
{
SendClientMessage(playerid, -1, "You must be in a linerunner to start working");
}
}
return 1;
}
C:\Users\Ashwin\Desktop\Tjob.pwn(39) : error 001: expected token: ")", but found "{"
C:\Users\Ashwin\Desktop\Tjob.pwn(53) : warning 217: loose indentation
C:\Users\Ashwin\Desktop\Tjob.pwn(53) : error 014: invalid statement; not in switch
C:\Users\Ashwin\Desktop\Tjob.pwn(53) : error 029: invalid expression, assumed zero
C:\Users\Ashwin\Desktop\Tjob.pwn(58) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Ashwin\Desktop\Tjob.pwn(58) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.