Hey,
hab jetzt n großes Dialogmenü gemacht, mit verschieden Arten von Wagen, und halt jeden Wagen.
Nun will ich halt wieder bei OnDialogRespone scripten, dass das Auto mit dem player gespawnt wird, was man angeklickt hat.
Also ich brauche nur den Befehl, wo ein Wagen gespawnt wird, mit dem Player drin.
MfG
Wagen spawnen
- JayTheSheep
- Geschlossen
- Erledigt
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
-
-
Das ist eigentlich ziemlich einfach, oder?
Fügst halt ein:
PutPlayerInVehicle(...)
Oder? -
Spawnt das auch direkt einen Wagen?
Kann mir jemand helfen
Hatte so n System mal gehabt, habs aber nich mehr.. -
GetPlayerPos(playerid, x, y, z);
CreateVehicle(vID, x, y, z,...
PutPlayerInVehicle...so würd ichs machen ....
-
Aber wie muss ich das genau machen, ich glaub ich bin zu doof xD
if(listitem == 0)
{
GetPlayerPos(playerid,x,y,z);
CreateVehicle(411,x,y,x,r,1,1,0);
PutPlayerInVehicle(playerid,vehicleid,0);
}So funktioniert nich..
-
weil du vehicleid nicht definiert hat!
-
Habe es jetzt dank SAD94 ein wenig hinbekommen,
jedoch spawnt der Spieler nicht im Fahrzeug... Und wir wissen nicht wieso
if(dialogid == vehmenu_s) {
if(response) {
if(listitem == 0) {
}
if(listitem == 1) {
}
if(listitem == 2) {
}
if(listitem == 3) {
}
if(listitem == 4) {
}
if(listitem == 5) {
}
if(listitem == 6) {
}
if(listitem == 7) {
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
CreateVehicle(411, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0);
PutPlayerInVehicle(playerid, 411, 0);
}
if(listitem == 8) {
}
if(listitem == 9) {
}
if(listitem == 10) {
}
if(listitem == 11) {
}
if(listitem == 12) {
}
if(listitem == 13) {
}
if(listitem == 14) {
}
if(listitem == 15) {
}
}
}
return 1;
} -
PutPlayerInVehicle(playerid, 411, 0);
Nein du musst dem Fahrzeug z.B ein Array geben und dich reinpacken aber PutPlayerinVehicle arbeitet NICHT mit der Fahrzeug Typ ID sondern mit der Fahrzeug ID (nicht aus der Liste) sondern wenn du /dl machst steht dort eine ID das wäre sie, doch die geht höher somehr Fahrzeuge es sind. Deswegen Array.. -
Und was muss ich jetzt machen? Sorry
-
if(dialogid == vehmenu_s)
{
if(response)
{
switch(listitem)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
{
new Float:x, Float:y, Float:z;
new veh123;
GetPlayerPos(playerid,x,y,z);
veh123=CreateVehicle(411, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0);
PutPlayerInVehicle(playerid, veh123, 0);
}
case 8:
case 9:
case 10:
case 11:
}
}
return 1;
} -
-
Danke,
und wie mache ich es, dass wenn man aussteigt, der Wagen gelöscht wird?Kann es sein dass ich irgendwie mit DestroyVehicle & public OnPlayerExitVehicle arbeiten muss?
-
Du musst irgendwo speichern, dass genau das Fahrzeug dann irgendwo gelöscht wird (am besten in einer PVar). Dann DestroyVehicle bei OnPlayerExitVehicle, das ist schon richtig. Ich kann dir jetzt zeitlich aber keinen Code machen, irgendwer hat zum selben Problem aber schonmal nen funktionierenden Code geschrieben (Templer?). Einfach mal die Scriptwünsche ansonsten durchgehen, ist noch nicht soo lange her.
-
genau
public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
} -
Nein einfach nur einen Array an den new ranhängen mit [MAX_PLAYERS] damit jeder Spieler nur ein Fahrzeug haben kann und bei CreateVehicle davor veh123[playerid]=CreateVehicle.. anstatt das andere und wenn du es löschen willst einfach einmal unter OnPlayerDisconnect DestroyVehicle(veh123[playerid]); und unter einem Befehl wo du das Fahrzeug löschen willst oder what ever wo DestroyVehicle(veh123[playerid]);
-
So oder wie?
Gibt Errors..
if(listitem == 0) {
new Float:x, Float:y, Float:z;
new banshee[MAX_PLAYERS];
GetPlayerPos(playerid,x,y,z);
banshee[playerid]=CreateVehicle(429, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0);
PutPlayerInVehicle(playerid, banshee, 0);
} -
Poste mal deine Errors.
Liegt aber glaube ich daran:
Zitatbanshee[playerid]=CreateVehicle(429, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0);
Soweit ich weis muss man bei der Farbe die vorgelegten Farb-IDs von SA-MP benutzen.
-
nene daran liegt es nicht..
ging ja bevor ich ZKX's arrays eingefügt habe, wahrscheinlich habe ich die nur falsch eingefügt -
-
Und auf deutsch? xD
-
Das ist richtig nur anstatt new bahnsee; machst du new bahnsee[MAX_PLAYERS]; sonst gehts wohl kaum^^ und darunter muss hinter jedes bahnsee einmal [playerid] also so z.B banshee[playerid]=CreateVehicle(429, x, y, z, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0);
und wie gesagt das Index fehlt hier:
PutPlayerInVehicle(playerid, banshee, 0);
also brauchste:
PutPlayerInVehicle(playerid, banshee[playerid], 0); -