Wheelman System

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
  • Hey Brotfische :)


    Ich bin ein blutiger Anfämnger beik Scipten trotzdem wollte ich mich mal an einem reinzihen Befehl probieren mit dem man als Hwlleman jemanden aus einem anderen car in sein eigen schafft ^^
    Nur es funktioniert nicht ^^


    ocmd:reinziehen(playerid,params[])
    {
    //if(!IsPlayerInFrak(playerid,5))return SendClientMessage(playerid,ROT,"Du kannst diesen Befehl nicht benutzen!");
    new Float:X1, Float:Y1, Float:Z1;
    rvehicle1 = GetPlayerVehicleID(pIDR);
    rvehicle2 = GetPlayerVehicleID(playerid);
    if(rvehicle1 == 0)
    {
    SendClientMessage(playerid,ROT,"Info: Der Spieler ist in keinem Fahrzeug. Benutze /kidnap [PlayerID].");
    return 1;
    }
    if(rvehicle2 == 0)
    {
    SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug!");
    return 1;
    }
    GetPlayerPos(pIDR,X1,X1,Z1);
    if(IsPlayerInRangeOfPoint(playerid,10.0,X1,Y1,Z1))
    { if(sscanf(params,"us",pIDR))return SendClientMessage(playerid,GRAU,"Info: Benutze /reinziehen [PlayerID]");
    format(rstring,sizeof(rstring),"%s versucht %s in sein Fahrzeug zu ziehen!",SpielerName(playerid),SpielerName(pIDR));
    timer1=SetTimer("reinziehen",10000,false);
    }
    return 1;
    }


    public reinziehen(playerid)
    {
    new Float:X1, Float:Y1, Float:Z1, string[128];
    GetPlayerPos(pIDR,X1,Y1,Z1);
    rvehicle1 = GetPlayerVehicleID(pIDR);
    rvehicle2 = GetPlayerVehicleID(playerid);
    if(!IsPlayerInRangeOfPoint(playerid,10.0,X1,Y1,Z1))
    {
    KillTimer(timer1);
    SendClientMessage(playerid,ROT,"Du warst zu weit weg! Versuche es erneut!");
    return 1;
    }
    format(string,sizeof(string),"%s wurde von %s ins Fahrzeug gezogen!",SpielerName(playerid),SpielerName(pIDR));
    RemovePlayerFromVehicle(pIDR);
    PutPlayerInVehicle(pIDR,rvehicle2,1);
    return 1;
    }


    Biite macht das es funtzt :D



    MFG addix

  • Den Public brauchst du schonmal nicht.
    Dann am besten abfragen, ob Playerid Fahrer ist.
    Du musst allerdings die Parameter am Anfang erstellenb.
    Wenn Playerid die Parameter falsch oder gar nicht eintippt, wird der Vorgang abgebrochen und eine Nachricht gesendet, das er /reinzeihen [ID] machen muss.
    Dann wird gefragt, ob pID (der rienzuhiehende Spieler) in einem Vehicle ist. (IsPlayerInAnyVehicle(pID)), ist er das, so wird auch dieser Vorgang abgebrochen und die Nachricht gesendet, das pID in einem Fahrzeug ist.
    Hast du das gemacht, bist du fast fertig. Ist der Spieler in keinem Vehicle, so wird er ins Fahrzeug gesetzt und gefreezed (TogglePlayerControllable(pID, false))
    Hoffe konnte helfen :)

    Liebe Grüße


    Marcel

  • timer1=SetTimer("reinziehen",10000,false);


    mach zu


    timer1=SetTimerEx("reinziehen",10000,false,"d", playerid);


    und wenn du sowas machst:


    format(rstring,sizeof(rstring),"%s versucht %s in sein Fahrzeug zu ziehen!",SpielerName(playerid),SpielerName(pIDR));


    Musst du drunter auch SendClientMessage(playerid, FARBE, rstring);

  • Der Timer bleibt doch durch meinen Vorschlag weiterhin behalten.
    Probier einfach mal das


    timer1=SetTimer("reinziehen",10000,false);


    zu dem


    timer1=SetTimerEx("reinziehen",10000,false,"d", playerid);


    Denn deins ist auf ein System gebunden,
    und mein Vorschlag auf playerid , also den Wheelman. ;)


    Wenns nicht geht, guck ich weiter.