new model = GetVehicleModel(GetPlayerVehicleID(playerid)); so meinst oder?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Richtig.
-
CMD:quitjob(playerid)
{
if(Spieler[playerid][pQuitJob] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "** Du hast bereits die Kündigung eingereicht!");
}
if(Spieler[playerid][pJob] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "** Du kannst nicht kündigen, da du keinen Beruf hast!");
}
if(Spieler[playerid][pQuitJob] == 1)
{
Spieler[playerid][pQuitJob] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung eingereicht.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Bis zum nächsten Zahltag kannst du noch deinen jetzigen Beruf ausführen.");
}
return 1;
}Hey,
Ich wollte /quitjob per befehl machen.
Wollte folgendes einbaun das man den Job Kündigen kann aber widerrum auch die Kündigung zurückziehen kann wie kann ich das machen?
-
Hey,
Ich wollte /quitjob per befehl machen.
Wollte folgendes einbaun das man den Job Kündigen kann aber widerrum auch die Kündigung zurückziehen kann wie kann ich das machen?
CMD:quitjob(playerid)
{
if(Spieler[playerid][pJob] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "** Du kannst nicht kündigen, da du keinen Beruf hast!");
}
if(Spieler[playerid][pQuitJob] == 0)
{
Spieler[playerid][pQuitJob] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung eingereicht.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Bis zum nächsten Zahltag kannst du noch deinen jetzigen Beruf ausführen.");
}
else if(Spieler[playerid][pQuitJob] == 1)
{
Spieler[playerid][pQuitJob] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung zurückgezogen.");
}
return 1;
}//e So müsste es funktionieren
//e2 kleinen denkfehler behoben -
hey ich habe irgendwie ein Merkwürdigen Fehler mein Pickup wird nicht gelöscht
Wenn ich eine Zweite erstelle und gehe durch die weiter verschwindet die erste aber wieso ?[24/11/2016 16:44:35] 0
[24/11/2016 16:44:35] Test 0
[24/11/2016 16:44:35] Test 1
[24/11/2016 16:44:35] 1Code
Alles anzeigenfor(new i = 0; i < sizeof(pfandf); i++) { printf("Test %d",i); if(pickupid == FlaschenPickup[i]) { printf("%d",i); DestroyDynamicPickup(FlaschenPickup[i]); GivePlayerMoney(playerid,25); return 1; } }
Code
Alles anzeigenocmd:createpfandflasche(playerid) { if(pInfo[playerid][pLoggin] == false) return 1; if(!GetPlayerAdmin(playerid,5)) return SendAdminError(playerid); new Float:x,Float:y,Float:z; for(new i = 0; i < sizeof(pfandf); i++) { if(FlaschenPickup[i] == MAX_PFANDFLASCHEN) return SendClientMessage(playerid,ROT,"Maximum an Pfandflaschen erreicht."); if(FlaschenPickup[i] != 0) continue; GetPlayerPos(playerid,x,y,z); pfandf[i][pf_x] = x; pfandf[i][pf_y] = y; pfandf[i][pf_z] = z; new flaschenmodel = random(12); switch(flaschenmodel) { case 0: FlaschenPickup[i] = CreateDynamicPickup(1486, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 1: FlaschenPickup[i] = CreateDynamicPickup(1509, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 2: FlaschenPickup[i] = CreateDynamicPickup(1512, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 3: FlaschenPickup[i] = CreateDynamicPickup(1517, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 4: FlaschenPickup[i] = CreateDynamicPickup(1520, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 5: FlaschenPickup[i] = CreateDynamicPickup(1543, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 6: FlaschenPickup[i] = CreateDynamicPickup(1544, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 7: FlaschenPickup[i] = CreateDynamicPickup(1551, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 8: FlaschenPickup[i] = CreateDynamicPickup(1664, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 9: FlaschenPickup[i] = CreateDynamicPickup(1668, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 10: FlaschenPickup[i] = CreateDynamicPickup(1669, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); case 11: FlaschenPickup[i] = CreateDynamicPickup(1950, 1, pfandf[i][pf_x],pfandf[i][pf_y],pfandf[i][pf_z], 0); } printf("%d",i); SendClientMessage(playerid,ROT,"Du hast eine Pfandflsche erstellt."); break; } return 1; }
-
Kann mir jemand kurz sagen, was hier ran falsch sein soll?
Jukebox[playerid][0] = Pos[0];
Jukebox[playerid][1] = Pos[1];
Jukebox[playerid][2] = Pos[2];Definiert wird es über Float:Pos[3] sowie Jukebox[MAX_PLAYERS][3]
-
//Löschen ols
-
public OnPlayerSelectedMenuRow(playerid, row)
{
TogglePlayerControllable(playerid, 1);
SetCameraBehindPlayer(playerid);
new Menu:CurrentMenu = GetPlayerMenu(playerid);
if(CurrentMenu == StadtMenu)
{
switch(row)
{
case 0:
{
if(Spieler[playerid][pJob] == 0)
{
ShowPlayerDialog(playerid, DIALOG_ARBEITSAMT, DIALOG_STYLE_LIST, "Arbeitsamt", ""COLOR_HEX_GREEN"Müllmann (empfohlen)\n"COLOR_HEX_GREEN"Trucker (empfohlen)\n"COLOR_HEX_GREEN"Hochseefisher (empfohlen)\n"COLOR_HEX_GREEN"Pilot (empfohlen)\n"COLOR_HEX_WHITE"Anwalt\n"COLOR_HEX_WHITE"Detektiv\n"COLOR_HEX_WHITE"Zugfahrer\n"COLOR_HEX_GREEN"Busfahrer (empfohlen)", "Auswählen", "Schließen");
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Job! Kündige mit /quitjob");
}
}
case 1:
{
if(Spieler[playerid][pPerso] == 0)
{
if(Spieler[playerid][pTutorial] > 0)
{
if(GetPlayerCheckpointID(playerid) == CP_TUTORIAL_4)
{
ShowInfo(playerid, "Du kannst nun deine~n~Personalien mit dem~n~Befehl ~r~/stats~w~ sehen und~n~mit dem Befehl ~r~/show~n~~w~zeigen.~n~Verlasse nun die ~b~Stadthalle~w~!");
SchonGewusst(playerid, "Du kannst Regelbrecher~n~der Administration mit~n~dem Befehl ~r~/a ~w~melden.");
DisablePlayerCheckpointEx(playerid);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast einen Personalausweis ausgestellt bekommen, nutze /stats!");
Spieler[playerid][pPerso] = 1;
SetPlayerCheckpointEx(playerid, 1369.6493,-1647.7352,13.3828, 2.0, CP_TUTORIAL_5, CP_TYPE_TUTORIAL);
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Personalausweis!");
}
}
}
}
}
return 1;
}Hey,
Wen der Spieler ein Perso hat soll die nachricht SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Personalausweis!");
ausgelesen werden wird aber nicht warum?Beim job funktioniert es wen man ein job hat kann man auch den Dialog nicht öffnen?
-
was hier ran falsch sein soll?
Wieso sollte das denn falsch sein?
-
Jukebox[MAX_PLAYERS][3]
Zu
Float:Jukebox[MAX_PLAYERS][3] -
-
Beitrag von Dr. Frauenarzt ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Erledigt (). -
Zug[0] = CreateVehicleEx(538,735.3322,2241.4160,19.2559,186.3122,1,205, 180, true, 0); // Zug
Zug[1] = CreateVehicleEx(538,739.2803,2113.7998,13.5984,180.6826,1,205, 180, true, 0); // Zug
Zug[2] = CreateVehicleEx(538,742.5255,1780.5483,6.8367,180.2577,1,205, 180, true, 0); // Zug
Zug[3] = CreateVehicleEx(538,743.1469,1652.9189,8.5661,180.3493,1,205, 180, true, 0); // ZugDer Zug erstellt sich nicht warum?
Ich muss das so schreiben sonst haben die Züge keinen Benzin das ist das schlecht für den Zufahrer Job
-
Der Zug erstellt sich nicht warum?
Züge müssen mit AddStaticVehicle erstellt werden.
https://wiki.sa-mp.com/wiki/AddStaticVehicle -
Züge müssen mit AddStaticVehicle erstellt werden.https://wiki.sa-mp.com/wiki/AddStaticVehicle
ja, aber wen ich die so erstelle ohne , 180, true, 0); ist der Tank leer..
-
Poste bitte deine CreateVehicleEx Funktion.
-
stock CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:reset=false, siren)
{
new vehicleid;
if(vehicletype < 400 || vehicletype > 611)return 0;
vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, siren);
if(Vehicle[vehicleid][vehMotor])KillTimer(Vehicle[vehicleid][VehicleTimer]);
Vehicle[vehicleid][vehMotor] = false;
Vehicle[vehicleid][vehLicht] = false;
Vehicle[vehicleid][vehHaube] = false;
Vehicle[vehicleid][vehKRaum] = false;
Vehicle[vehicleid][vehPosX2] = x;
Vehicle[vehicleid][vehPosY2] = y;
Vehicle[vehicleid][vehPosZ2] = z;
Vehicle[vehicleid][vehSiren] = siren;
Vehicle[vehicleid][vehProds] = 0;
Vehicle[vehicleid][vehText] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 50.0, 60.0, 110.0, 20.0, INVALID_PLAYER_ID, vehicleid, 0, -1, -1, -1, 100.0);
if(reset == true)
{
if(IsValidVehicle(vehicleid))
Vehicle[vehicleid][vehTankKM] = 0;
Vehicle[vehicleid][vehKMStandCount] = 0;
Vehicle[vehicleid][vehKMStand] = 0;
Vehicle[vehicleid][vehFuel] = VehicleData[vehicletype-400][vehMaxTank];
Vehicle[vehicleid][vehNeonID] = 0;
Vehicle[vehicleid][vehProds] = 0;
DestroyDynamicObject(Vehicle[vehicleid][vehNeon1]);
DestroyDynamicObject(Vehicle[vehicleid][vehNeon2]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren1]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren2]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren3]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren4]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren5]);
DestroyDynamicObject(Vehicle[vehicleid][vehUCL]);
Vehicle[vehicleid][vehNeon1] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehNeon2] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren1] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren2] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren3] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren4] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren5] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehUCL] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehUCLCreated] = 0;
}
return vehicleid;
} -
Schreibe die Funktion so:
stock CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:reset=false, siren, bool:train=false)
{
new vehicleid;
if(vehicletype < 400 || vehicletype > 611)return 0;
if(!train) vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, siren);
else vehicleid = AddStaticVehicle(vehicletype, x, y, z, rotation, color1, color2);
if(Vehicle[vehicleid][vehMotor])KillTimer(Vehicle[vehicleid][VehicleTimer]);
Vehicle[vehicleid][vehMotor] = false;
Vehicle[vehicleid][vehLicht] = false;
Vehicle[vehicleid][vehHaube] = false;
Vehicle[vehicleid][vehKRaum] = false;
Vehicle[vehicleid][vehPosX2] = x;
Vehicle[vehicleid][vehPosY2] = y;
Vehicle[vehicleid][vehPosZ2] = z;
Vehicle[vehicleid][vehSiren] = siren;
Vehicle[vehicleid][vehProds] = 0;
Vehicle[vehicleid][vehText] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 50.0, 60.0, 110.0, 20.0, INVALID_PLAYER_ID, vehicleid, 0, -1, -1, -1, 100.0);
if(reset == true)
{
if(IsValidVehicle(vehicleid))
Vehicle[vehicleid][vehTankKM] = 0;
Vehicle[vehicleid][vehKMStandCount] = 0;
Vehicle[vehicleid][vehKMStand] = 0;
Vehicle[vehicleid][vehFuel] = VehicleData[vehicletype-400][vehMaxTank];
Vehicle[vehicleid][vehNeonID] = 0;
Vehicle[vehicleid][vehProds] = 0;
DestroyDynamicObject(Vehicle[vehicleid][vehNeon1]);
DestroyDynamicObject(Vehicle[vehicleid][vehNeon2]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren1]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren2]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren3]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren4]);
DestroyDynamicObject(Vehicle[vehicleid][vehSiren5]);
DestroyDynamicObject(Vehicle[vehicleid][vehUCL]);
Vehicle[vehicleid][vehNeon1] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehNeon2] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren1] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren2] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren3] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren4] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehSiren5] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehUCL] = INVALID_OBJECT_ID;
Vehicle[vehicleid][vehUCLCreated] = 0;
}
return vehicleid;
}Dann kannst du die Züge so erstellen:
Zug[0] = CreateVehicleEx(538,735.3322,2241.4160,19.2559,186.3122,1,205, 180, true, 0, true); // Zug
Zug[1] = CreateVehicleEx(538,739.2803,2113.7998,13.5984,180.6826,1,205, 180, true, 0, true); // Zug
Zug[2] = CreateVehicleEx(538,742.5255,1780.5483,6.8367,180.2577,1,205, 180, true, 0, true); // Zug
Zug[3] = CreateVehicleEx(538,743.1469,1652.9189,8.5661,180.3493,1,205, 180, true, 0, true); // Zug
Das letzte "true" bedeutet, dass es ein Zug ist. -
Danke.
strdel(DialogString, 0, sizeof(DialogString));
format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Fahrzeugpreis: "COLOR_HEX_WHITE"%d$\n"COLOR_HEX_BLUE"Kraftstoffverbrauch: "COLOR_HEX_WHITE"%.2fL/KM\n", DialogString, VehicleShop[i][Preis], VehicleData[VehicleShop[i][modelid]-400][vehTankVerbrauch]);
format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Tankfassungsvermögen: "COLOR_HEX_WHITE"%.2f Liter\n", DialogString, VehicleData[VehicleShop[i][modelid]-400][vehMaxTank]);
format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Mindestlevel:"COLOR_HEX_WHITE"\n"COLOR_HEX_BLUE"KFZ Steuer: "COLOR_HEX_WHITE"%d$", VehicleData[VehicleShop[i][modelid]-400][vehMaxTank], kfzSteuer);
ShowPlayerDialog(playerid, DIALOG_BUYPRIVATEVEHICLE, DIALOG_STYLE_MSGBOX, VehicleShop[i][Name] , DialogString, "Kaufen", "Abbrechen");Er zeigt mir kein Dialog mehr an warum? :o
Andere Frage ich hab ja eingebaut Mindestlevel so jetzt möchte ich das alle Fahrzeuge ab Level 1 sind und die Flugzeuge ab Level 12 zu kaufen sind wie geht das ?
-
Fragst beim Kaufen das Model ab und das Level
-
for(new i=0;i<sizeof(VehicleShop);i++)
{
if(vehicleid == autoVehicles[i])
{
//FreezePlayer(playerid);
new Float:x, Float:y, Float:z, Float:vx, Float:vy, Float:vz;
new kfzSteuer = GetPlayerVehicleCount(playerid)*100;
GetPosVorSpieler(playerid, 7, x, y, z);
GetPlayerPos(playerid, vx,vy, vz);
SetPlayerCameraPos(playerid,x, y, z+0.5);
SetPlayerCameraLookAt(playerid, vx, vy, vz+0.75);
SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
new string[1024];
format(string,sizeof(string),"{247BA6}Fahrzeugpreis: {FFFFFF}%d$\n{247BA6}Kraftstoffverbrauch: {FFFFFF}%.2fL / 100km\n{247BA6}Tankfassungsvermögen: {FFFFFF}%.2f Liter\n{247BA6}Mindestlevel: {FFFFFF}-\n{247BA6}KFZ-Steuer: {FFFFFF}%d$", VehicleShop[i][Preis], VehicleData[VehicleShop[i][modelid]-400][vehTankVerbrauch], VehicleData[VehicleShop[i][modelid]-400][vehMaxTank], kfzSteuer);
ShowPlayerDialog(playerid,DIALOG_BUYPRIVATEVEHICLE,DIALOG_STYLE_MSGBOX,VehicleShop[i][Name],string,"Kaufen","Aussteigen");
return 1;
}
}
}
return 1;
}Dialog zeigt nun wider an,
so das Problem ist KFZ Steuer zeigt er nicht
und das Mindestlevel möchte ich iwie auslesen? -