[SAMMELTHREAD] Kleine Scripting Fragen

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
  • Ok, so wie du es als erstes erklärt hast habe ich es inzwischen schon gemacht.
    Bloß dass ich ihn nicht die Waffe 0 wieder in die Hand gebe sondern dadurch dann die Aktion abbreche.



    //Edit
    Hey, ich habe iwie Folgendes Problem ich habe nichts geändert aber jetze kommt aufeinmal das
    [25/03/2018 21:49:33] Failed (/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by plugins/mysql.so))

  • Wenn ich eine Playerid einfüge die nicht Online ist wird immer aufgegeben "SERVER: Unknown command." aber warum ?

  • Schreib doch mal unter dein sscanf:


    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_RED, "* Ein Spieler mit dieser ID ist nicht online!");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Habe aus einem Tutorial die Befehle /motor und /licht aber wenn man auf einem Fahhrad ist kann man den Motor abschalten aber er wird automatisch eingeschaltet wie soll ich das abfragen kriege komische Erros wenn ich was Versuche.


    Code
    new autosOhneMotor[] = {509,510,481};




    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Lager das am besten aus:


    C
    stock HatAutoMotor(vehicleid)
    {
        switch(GetVehicleModel(vehicleid))
        {
            case 509,510,481: return 0;
        }
        return 1;
    }

    Dann kannste einfach abfragen:


    if(!HatAutoMotor(vehicleid)) return SendClientMessage(playerid,-1,"* Das Auto hat keinen Motor!");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke dir!♥


    Oh, habe es fast vergessen.
    Ich habe unter onPlayerEnterVehicle eine SendClientMessage eingetagen diese wird aber manchmal doppelt angezeigt je nachdem wie man die Taste 'F' oder 'Enter' drückt
    Also in der Nachricht steht .../motor um ... einzuschalten .... Kann man das irgendwie anders machen ist ja blöd so

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()

  • Ja, nutze dazu einfach OnPlayerStateChange :)


    Dann darunter einfach:


    C
    if(newstate == PLAYER_STATE_DRIVER)
    {
        #Hier die Nachricht rein :)
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich kann meine erstellte Fahrzeuge löschen aber der Message kommt, wieso? Was mache ich hier falsch?



    ocmd:dtc(playerid, params[])
    {
    if(sInfo[playerid][pLoggedIn] == false)return SendClientMessage(playerid,-1,"Du bist nicht eingeloggt!");
    if(sInfo[playerid][pAdmin] == 0)return SendClientMessage(playerid,-1,"Du kannst diesen Befehl nicht nutzen!");
    for(new i=0; i<sizeof(erstellteCars); i++)
    {
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,-1,"Du sitzt nicht im Fahrzeug!");
    if(erstellteCars[i]){
    DestroyVehicle(erstellteCars[i]);
    erstellteCar--;
    }
    else return SendClientMessage(playerid,-1,"Du kannst das Fahrzeug nicht löschen!"); <- Diese Message ist gemeint
    }
    return 1;
    }

  • Du musst ein bisschen Nachdenken über die Anordnung deines Codes.


    Es macht wenig Sinn z.B. in jedem Schleifen durchlauf zu prüfen, ob der Spieler sich in einem Auto befindet.


    Das reicht, wenn du das 1x am Anfang machst.


    Dein Code macht auch keinen Sinn, da du einfach das 1. Fahrzeug löschen wurdest, welches erstellt wurde und nicht das, in welchem du sitzt :)


    Sinniger wäre sowas:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S