Hilfe bei /Aufhaengen Befehl

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
  • Hallo zusammen.


    Ich arbeite momentan, an meinem job "ADAC" und habe, schon den Befehl gecodet.


    Leider bekomme ich,wenn ich ingame /aufhaengen mache das hier Server command Unknow


    Hier der Befehl:

    if(strcmp(cmdtext,"/aufhaengen",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(pInfo[playerid][Fraktion] == 5)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    if(GetPlayerState(playerid)==2)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    new Float:vX,Float:vY,Float:vZ;
    new Found=0;
    new vid=0;
    while((vid<MAX_VEHICLES)&&(!Found))
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    else
    {
    AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
    }
    }
    }
    if(!Found)
    {
    SendClientMessage(playerid,0xFFFF00AA,"Kein Fahrzeug ist in deiner Nähe.");
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst der Fahrer sein!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Abschleppfahrzeug sein um ein Fahrzeug aufzuhängen!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Fahrzeug sein!");
    return 1;
    }
    }
    return 1;
    }
    }


    Ich kriege keine Errors oder Warnings.


    Hoffe mir kann jemand Helfen


    Mit Freundlichen Grüßen
    Dome331

  • Hallo Dominik. & SuperDarioBr0s


    Danke für die Information. Aber könntet ihr mir sagen, wo ich return 1; vergessen habe?


    MFG
    Dome331


  • if(strcmp(cmdtext,"/aufhaengen",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(pInfo[playerid][Fraktion] == 5)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    if(GetPlayerState(playerid)==2)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    new Float:vX,Float:vY,Float:vZ;
    new Found=0;
    new vid=0;
    while((vid<MAX_VEHICLES)&&(!Found))
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    else
    {
    AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
    }
    }
    }
    if(!Found)
    {
    SendClientMessage(playerid,0xFFFF00AA,"Kein Fahrzeug ist in deiner Nähe.");
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst der Fahrer sein!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Abschleppfahrzeug sein um ein Fahrzeug aufzuhängen!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Fahrzeug sein!");
    return 1;
    }
    }
    }
    return 1;
    }


    Finish.


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Hallo StreetS


    Danke für den Code ;) Werde ihn gleich testen & Feedback dazu geben ;)


    Habe da mal eine kleine frage ;) Undzwar, will ich in Meinem Befehl /Neu das dies Passiert:


    Wenn ein Spieler neu auf dem Server ist & /Neu eintippt das die Meldung kommt
    format(string, 256, "[HILFE]: %s ist ein neuer Spieler und braucht Hilfe.",sendername);
    SendClientMessage(playerid, ROT, "Du hast Hilfe angefordert. Wir werden so schnell wie möglich versuchen dir zu helfen!");


    Das habe ich schon, alles Defeniert. Aber ich möchte, das die Admin´s diese Nachrricht bekommen.


    Hier mal der Ganze befehl:
    if(strcmp(cmdtext, "/neu", true) == 0)
    {
    if(IsPlayerConnected(playerid))


    {
    new sendername[128];
    new string[256];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, 256, "[HILFE]: %s ist ein neuer Spieler und braucht Hilfe.",sendername);
    SendClientMessage(playerid, ROT, "Du hast Hilfe angefordert. Wir werden so schnell wie möglich versuchen dir zu helfen!");
    }
    return 1;
    }


    Hoffe das, ihr mir Villt weiter Helfen könnt


    Mit Freundlichen Grüßen
    Dome331

  • Nach While kommtn return? Seit wann dass o.o Ich mach nie returns hinter While und bekomme keine Errors.


    Naja dann mach hinter der while schleife ebend nochn return.


    lg

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Hallo Dominik.


    ist dieser code den richtig?

    if(strcmp(cmdtext,"/aufhaengen",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(pInfo[playerid][Fraktion] == 5)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    if(GetPlayerState(playerid)==2)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    new Float:vX,Float:vY,Float:vZ;
    new Found=0;
    new vid=0;
    while((vid<MAX_VEHICLES)&&(!Found))
    return 1 // Hier habe ich das Jetz Eingefügt
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    Found=1;
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    }
    else
    {
    AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
    }
    }
    }
    if(!Found)
    {
    SendClientMessage(playerid,0xFFFF00AA,"Kein Fahrzeug ist in deiner Nähe.");
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst der Fahrer sein!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Abschleppfahrzeug sein um ein Fahrzeug aufzuhängen!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du musst im Fahrzeug sein!");
    return 1;
    }
    }
    }
    return 1; // Hier Entfern, ich dasn "Return 1"
    }


    Würd das den jetz so Funktionieren?


    MFG
    Dome331

  • Mit dem /neu:


    eine Schleife erstellen:

    for(new i= 0; i < MAX_PLAYERS; i++)
    {

    }


    Dann abfragen ob "i" Admin ist (kenne deine Adminabfrage nicht^^)


    Und dann eine Nachricht an "i" senden.



    for(new i= 0; i < MAX_PLAYERS; i++)
    {
    if(Adminabfrage) //bspw. if(isPlayerAnAdmin(i, 1))
    {
    SendClientMessage(i, ROT, string);
    }
    else { }
    }

    Liebe Grüße


    Marcel

  • Hallo


    Mein adminabfrage is so Aufgebaut:

    for(new i= 0; i < MAX_PLAYERS; i++)
    {
    if(pInfo[playerid][Adminlevel] == 1 || 2 || 3 || 4 || 5 || 6 )
    {
    SendClientMessage(i, ROT, string);
    }
    else { }
    }


    Soll ich den Befehl einfach in den Befehl /neu einfügen?


    MFG
    Dome331


  • if(strcmp(cmdtext, "/neu", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new sendername[128];
    new string[256];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, 256, "[HILFE]: %s ist ein neuer Spieler und braucht Hilfe.",sendername);
    SendClientMessage(playerid, ROT, "Du hast Hilfe angefordert. Wir werden so schnell wie möglich versuchen dir zu helfen!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(pInfo[playerid][Adminlevel] >= 1)
    {
    SendClientMessage(i, ROT, string);
    }
    else { }
    }
    }
    return 1;
    }

    Liebe Grüße


    Marcel

  • Hallo SunRise.


    Ich habe deinen Befehl Getestet & Folgendes is raus Gekommen.


    Es wird jetz so Angezeigt ingame %s Dome_Banger ist neu & Braucht hilfe


    Aber wie mach ich das Jetz, das die Admin´s Eine benachrichtigung bekomme & Ein Checkpoint zu dem Spieler gesetz wird. Dieser Checkpoint sollte, natürlich Solange da sein. Bis der Admin bei dem Spieler Angekommen ist.


    Leider weiß,ich grade nicht Wo ich da Mit einem Code anfangen soll.


    Villt kann, mir ja jemand von euch Eine Kleine Stütze geben


    Mit Freundlichen Grüßen
    Dome331