Hallo
ich suche ein busfahrer job system in dem man checkpoints abfahren mus und wen man in einem checkpoint ist mus man zb 5 sekunden warten.
Ich hoffe ihr könnt mir helfen.
Hallo
ich suche ein busfahrer job system in dem man checkpoints abfahren mus und wen man in einem checkpoint ist mus man zb 5 sekunden warten.
Ich hoffe ihr könnt mir helfen.
lad dir nen gf script und kopier es dir raus.
oder du machst selber eins.
wow.. respekt
erster post und dann ne anfrage.. mhh
aber naja.. versuch es dir doch erstma selber zu erstellen..
Hier ist was gutes
[ SCRIPTING ] Checkpoints abfahren
Ich bekomme eig alles hin.
Aber ich weis nicht wie ich ein system erstelle das man 5 sekunden im checkpoint stehen mus.
du erststellt halt ein array mit deinen coordianten, und das dazugehörige enum.. dann machst du unter OnPlayerEnterCheckpoint eine for schleife durch alle coordinaten, die du im array erstellt hast, und fragst das mit IsPlayerInRangeOfPoint ab.. wenn es so ein Checkpoint gewesen ist, startest du einen timer.. wenn der timer abgelaufen ist, lässt du eine Variable ++ nehmen, und lässt dann den nächsten Checkpoint anzeigen.. usw
Kanst du mir ein beispiel machen?
Ich bin neu und komme damit nicht so ganz klar!!
if(strcmp,cmdtext,"/buslinie",true) == 0
{
ShowPlayerDialog(playerid,DIALOG_BUSLINIEN, DIALOG_STYLE_LIST,"{FFFFFF}Verfügbare Linien",Linie 1 (LS Route)\nLinie 2 (LS-SF),"Auswählen", "Abbrechen");
}
und ja dann halt DIALOG_BUSLINIEN oben definieren (#define DIALOG_BUSLINIEN)
und dann bei ondialogresponse schreiben was passieren soll das wäre es im DIALOg
//Der Bus Timer .. wird oben im skript eingetragenm
forward BusTimer(playerid);
//das Enum, und das dazugehörige Array
enum BusInfo {
Float:Bus_X,
Float:Bus_Y,
Float:Bus_Z
}
//Das Array
new BusKoordianten[][BusInfo] = {
{X, Y, Z},
//... usw.
};
//Das enum, für die Variable ++ zu nehmen, damit auch der nächste Checkpoint angezeigt wird
enum BusVariable {
Haltestelle
}
new Busfahrer[MAX_PLAYERS][BusVariable];
//Der Befehl um es zu starten
if(strcmp("/starten",cmdtext, true, 10) == 0)
{
Busfahrer[playerid][Haltestelle]=0;
SetPlayerCheckpoint(playerid,BusKoordianten[0][Bus_X],BusKoordianten[0][Bus_Y],BusKoordianten[0][Bus_Z], 3.0);
return 1;
}
//Wenn du in einem Bus Checkpoint bist
public OnPlayerEnterCheckpoint(playerid)
{
for(new i=0;i < sizeof BusKoordinaten;i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, BusKoordinate[i][Bus_X],BusKoordinate[i][Bus_Y],BusKoordinate[i][Bus_Z]))
{
new vehicleid = GetPlayerVehicleID(playerid),
BusfahrerBus = GetVehicleModel(vehicleid);
if(BusfahrerBus == 431)//Ist er in einem bus dann soll der timer gestartet werden
{
SetTimerEx("BusTimer",1,false,"i",playerid);
}
}
}
}
return 1;
}
//wenn der timer abgelaufen ist
public BusTimer(playerid)
{
DisablePlayerCheckpoint(playerid);
Busfahrer[playerid][Haltestelle]++;
new CP = Busfahrer[playerid][Haltestelle];
if(CP == sizeof(BusKoordinaten))
{
//Wenn er am letzten Checkpoint ist...
}
else
{
//Wenn nicht, wird der nöchste Checkpoint gesetzt
SetPlayerCheckpoint(playerid,BusKoordinaten[CP][Bus_X],BusKoordinaten[CP][Bus_Y],BusKoordinaten[CP][Bus_Z], 3.0);
}
return 1;
}
Genau so meine ich das danke für die schnelle antwort