hallo
hab ne frage, was muss ich machen, damit ich als Beifahrer ein Fahrzeug steuern kann? Hab das bisher so:
Allerdings fliegen beide Spieler aus dem Fahrzeug raus.. Gibts ne einfachere lösung?
MFG
hallo
hab ne frage, was muss ich machen, damit ich als Beifahrer ein Fahrzeug steuern kann? Hab das bisher so:
Allerdings fliegen beide Spieler aus dem Fahrzeug raus.. Gibts ne einfachere lösung?
MFG
es sollte doch gehen das du die beiden spieler einfach die plätze wechseln lässt!
würde doch vll einiges leichter sein !
ja, aber du kannst keinen spieler auf einen platz setzen, der bereits besetzt ist soviel ich weiss
setzte erst den Schüler auf den hinteren Platz oder schmeißt ihn kürz raus und dann setzt du fahrlehre auf den driver aslo fahrer und schüler setzt du auf beifahrersitzt
Also hab jetzt das:
der schüler wird allerdings rausgeworfen und ich bleib auf meinem platz sitzen (beifahrersitz)...
new seatpid = GetPlayerVehicleSeat(playerid);
new seatgid = GetPlayerVehicleSeat(giveplayerid);
RemovePlayerFromVehicle(playerid);
RemovePlayerFromVehicle(giveplayerid);
PutPlayerInVehicle(giveplayerid, gvehid, 1);
PutPlayerInVehicle(playerid, gvehid, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Du hast %s's Fahrschulauto uebernommen.",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* Fahrlehrer %s hat dein Fahrschulauto uebernommen.",sendername); return SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
wenn ich nichts übersehen habe passt das
Pixel
passt
Das funzt leider nicht beide steigen einfach aus und dann passiert nix mehr.
doch man kann 2 spieler gleichzeit auf einen platz setzen ist mir neulich durch einen bug in meinem script passiert ist ganz lustig wenn dann beide das auto steuern wollen^^
wie hast das gemacht?
definition von
Zitatgvehid
fehlt bei Pixel!
definition von
fehlt bei Pixel!
ja, ist auch net der ganze befehl stimmt schon so mit der definition, er hat einfach den ausschnitt gepostet.
hat das überhaupt schon jemand geschafft das das funzt?
wie hast das gemacht?
PutPlayerInVehicle als fahrer reinsetzen?
dann können noch beide fahren oder?
ausssedem is das sehr .... ähm ja jez fällt mir das wort nicht ein, auf jedenfall beugt das manchmal exe crashes vor also RemovePlayerFromVehicle
exe crashes bei RemovePlayerFromVehicle? o_O
edit: das mit doppelt besetzen geht net, es bleibt einfach alles wie es ist.
Das Crasht nur wenn du mit der Entertaste oder halt F aussteigste
das macht man ja immer xD
Der Crash beim Aussteigen kommt immer, wenn 2 Spieler auf den selben Sitz gesetzt worden sind.
eben habs doch gewusst aber ja, zurück zum eigentlichen thema, das funzt nicht so wie es soll.. die spieler steigen einfach aus
Wow, wie kann man nur soviel herumphilosophieren Nicht raten sondern selbst testen, sonst kommt ja so ein schmarn heraus wie hier.
Also Lösung:
new giveplayer[MAX_PLAYER_NAME], Float:X, Float:Y, Float:Z, seatpid = GetPlayerVehicleSeat(playerid), seatgid = GetPlayerVehicleSeat(giveplayerid), veh = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid, X, Y, Z); SetPlayerPos(playerid, X, Y, Z); SetPlayerPos(giveplayerid, X, Y, Z);
PutPlayerInVehicle(giveplayerid, veh, seatpid); PutPlayerInVehicle(playerid, veh, seatgid);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Du hast %s's Fahrschulauto uebernommen.",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
Edit: hab pastebin Link zuspät gesehen, hier der korrekte Code
if(strcmp(cmd, "/act", true) == 0)
{
if(!IsPlayerConnected(playerid)) return 1;
if(!IsAnInstructor(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Fahrlehrer!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD3, "BENUTZE: /act [playerid/TeildesNamen]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "Ungültige SpielerID oder Spieler ist Offline!");
if(TakingLesson[giveplayerid] != 1) return SendClientMessage(playerid, COLOR_RED, "Dieser Spieler hat keine Fahrstunde!");
if(!IsAFahrschulCar(pvehid) && !IsAFahrschulCar(gvehid)) return SendClientMessage(playerid, COLOR_RED, "Ihr muesst in einem Fahrschulauto sein!");
if(!IsPlayerInVehicle(playerid, GetPlayerVehicleID(giveplayerid))) return SendClientMessage(playerid, COLOR_RED, "Ihr muesst im gleichen Fahrschulauto sein!");
new Float:X, Float:Y, Float:Z, seatpid = GetPlayerVehicleSeat(playerid), seatgid = GetPlayerVehicleSeat(giveplayerid), veh = GetPlayerVehicleID(playerid);
if(seatgid != 0) return SendClientMessage(playerid, COLOR_RED, "Dein Fahrschüler ist nicht am Fahrersitzplatz!");
GetPlayerPos(playerid, X, Y, Z); SetPlayerPos(playerid, X, Y, Z); SetPlayerPos(giveplayerid, X, Y, Z);
PutPlayerInVehicle(giveplayerid, veh, seatpid); PutPlayerInVehicle(playerid, veh, seatgid);
GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Du hast %s's Fahrschulauto uebernommen.",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Fahrlehrer %s hat dein Fahrschulauto uebernommen.",sendername);
return SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
}