Hallo liebe Leute,
ich brauche mal euren Rat zu einem Fahrschulsystem bzw jemand der mir erklären kann wie man am sinnvollsten ein Fahrschulsystem erstellen kann. Ich habe die bisher wie folgt gemacht
ocmd:fahrschule(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid,5,1379.0913,-1648.8781,13.3828)) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht am Fahrschulpoint");
{
ShowPlayerDialog(playerid,DIALOG_FAHRSCHULE,DIALOG_STYLE_LIST,"Stadthalle","Führerschein 2000$\nAbbrechen","Wählen","");
}
return 1;
}
if(dialogid == DIALOG_FAHRSCHULE)
{
if(response)
{
if(listitem == 0)
{
if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid,COLOR_RED, "Du hast nicht genug Geld");
{
if(PlayerInfo[playerid][pScheine]==1) return SendClientMessage(playerid,COLOR_GREEN,"Du besitzt schon einen Führerschein");
{
GivePlayerMoney(playerid,-2000);
PlayerInfo[playerid][pMoney]-=2000;
PlayerInfo[playerid][pFahrschulmotor]=1;
SendClientMessage(playerid,COLOR_BUSBLUE,"Du beginnst mit deinem Führerschein. Bitte verlasse nun das Gebäude und suche dir ein Fahrschulfahrzeug aus!");
SendClientMessage(playerid,COLOR_BUSBLUE,"Du kannst den Motor einmalig mit [/motor] starten.");
SetPlayerCheckpoint(playerid,1417.1967,-1651.0175,13.1206,5);
L1Checkpoint[playerid]=1;
}
}
}
}
}
if(L1Checkpoint[playerid]==1)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1441.7390,-1734.2549,13.1265,5);
L1Checkpoint[playerid]=3;
}
}
else if(L1Checkpoint[playerid]==2)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1823.1271,-1707.6542,13.1264,5);
L1Checkpoint[playerid]=4;
}
}
else if(L1Checkpoint[playerid]==2)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1904.8483,-1524.8584,2.9842,5);
L1Checkpoint[playerid]=3;
}
}
else if(L1Checkpoint[playerid]==3)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2037.4652,-1580.3467,11.9626,5);
L1Checkpoint[playerid]=4;
}
}
else if(L1Checkpoint[playerid]==4)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2157.2937,-1633.1912,13.5817,5);
L1Checkpoint[playerid]=5;
}
}
else if(L1Checkpoint[playerid]==5)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2208.6416,-1605.2566,18.7024,5);
L1Checkpoint[playerid]=6;
}
}
else if(L1Checkpoint[playerid]==6)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2172.4351,-1381.6036,23.5716,5);
L1Checkpoint[playerid]=7;
}
}
else if(L1Checkpoint[playerid]==7)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2109.4937,-1413.7264,23.5716,5);
L1Checkpoint[playerid]=8;
}
}
else if(L1Checkpoint[playerid]==8)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,2054.0781,-1460.4128,19.5660,5);
L1Checkpoint[playerid]=9;
}
}
else if(L1Checkpoint[playerid]==9)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1655.5741,-1479.0673,13.1265,5);
L1Checkpoint[playerid]=10;
}
}
else if(L1Checkpoint[playerid]==10)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1629.6812,-1590.6157,13.2736,5);
L1Checkpoint[playerid]=11;
}
}
else if(L1Checkpoint[playerid]==11)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1426.4432,-1633.5012,13.1263,5);
L1Checkpoint[playerid]=12;
}
}
else if(L1Checkpoint[playerid]==12)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
SetPlayerCheckpoint(playerid,1377.7605,-1649.1943,13.1249,5);
L1Checkpoint[playerid]=13;
}
}
else if(L1Checkpoint[playerid]==13)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht der Fahrer eines Fahrzeugs.");
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,COLOR_BUSBLUE,"Sie haben die Prüfung bestanden. Herzlichen Glückwunsch.");
SendClientMessage(playerid,COLOR_BUSBLUE,"Hiermit übergebe ich Ihnen Ihren Führerschein");
SendClientMessage(playerid,COLOR_BUSBLUE,"Halten Sie sich an die StVo. Andernfalls kann es teuer werden.");
SendClientMessage(playerid,COLOR_BUSBLUE,"Im schlimmsten Fall sehen wir uns wieder. Und das muss doch nicht sein");
SendClientMessage(playerid,COLOR_BUSBLUE,"Ich wünsche dir alles Gute. Dein Fahrlehrer");
PlayerInfo[playerid][pScheine]=1;
SetVehicleToRespawn(1);
L1Checkpoint[playerid]=14;
}
}
Die Umsetzung des Systems ist denke ich einfach mal für die Katz wenn ich mal so überlege und deswegen suche ich Tipps und Infos wie es am sinnvollsten wäre es umzusetzen. Denn ich denke mit dieser Methode wird es sicher einige Fehler geben die ich nicht haben möchte.
pFahrschulmotor gibt den Spieler die Erlaubnis ein Fahrschulfahrzeug zu starten. Sobald er den Motor gestartet hat wird der Wert wieder auf Null gesetzt.
Ich bin mal gespannt wie Ihr euch das umgesetzt habt oder wie ihr mir da Tipps geben könnt. Ich erwarte nun kein vor geschriebenes Script sondern Ideen anreize wie man es am besten macht