[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
  • Ich bin gerade schon total stolz auf mich das ich das ganz alleine gescriptet habe :thumbup:
    Aber ich brauch doch nochmal eine kleine hilfe X(


    So sieht das ganze gerade aus :
    ocmd:wanted(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    {
    new s[64];
    new pID,anzahl,grund;
    if(sscanf(params,"ui",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND]");
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
    format(s,sizeof(s),"Polizist %s hat dir für %s %i Wanteds gegeben.",sName(playerid),grund,anzahl);
    SendClientMessage(pID,GRAU,s);
    return 1;
    }
    }


    und das Problem ist da wo der Grund stehen sollte, steht nichts aber da soll der Grund stehen. Ich weiß gerade nicht wie ich das lösen soll

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Zeig mal dein aktuellen Code.
    Zudem solltest du die Variable von 64 erhöhen.


    ocmd:wanted(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    {
    new s[64];
    new pID,anzahl,grund[50];
    if(sscanf(params,"uis[50]",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND]");
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
    format(s,sizeof(s),"Polizist %s hat dir für %s %i Wanteds gegeben.",sName(playerid),grund,anzahl);
    SendClientMessage(pID,GRAU,s);
    return 1;
    }
    }

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Zeig mal dein aktuellen Code.
    Zudem solltest du die Variable von 64 erhöhen.


    Ist dir aufgefallen das er 3 Parameter verlangt, also pid, anzahl und grund?


    Logisch das es da nicht hinkommt.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Problem selbst gelöst :) Wer wissen will wie der Code jetzt aussieht :


    Spoiler anzeigen
    ocmd:wanted(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei angestellt");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    {
    new s[64];
    new pID,anzahl,grund[128];
    if(sscanf(params,"uis",pID,anzahl,grund))return SendClientMessage(playerid,WEIß,"Benutze: /Wanted [PLAYERID] [ANZAHL] [GRUND] ");
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +anzahl);
    format(s,sizeof(s),"Polizist %s hat dir %i Wanteds gegeben. Grund: %s.",sName(playerid),anzahl,grund);
    SendClientMessage(pID,GRAU,s);
    return 1;
    }
    }

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Wie trenne ich einen langen text nach sagen wir 100 Zeichen mit einem \n?


    strins
    an position 100 einfach \n einfügen.
    nur solltest du bedenken, dass das nur bei einem Leerzeich o.ä. sinn macht :P

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ich will das der Spieler aus dem Auto rausgeworfen wird wenn er kein Polizist ist.
    Aber ich kriege Errors:


    Code:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(vehicleid) //ERRORS SIND HIER
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!");
    {
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }


    Error:C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 012: invalid function call, not a valid address
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 017: undefined symbol "vehicleid"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1254) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Code:


    Schreib das mal so:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    switch(newstate) {
    case PLAYER_STATE_DRIVER: {
    if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(GetPlayerVehicleID(playerid))) {
    if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!"),RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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


  • Habe immernoch die gleichen Errors

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A


  • Unmöglich :D


    Da ich gar keine Variable namens "vehicleid" verwende ^^


    mfg. :thumbup:


    Stimmt aber trotzdem error :S
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 012: invalid function call, not a valid address
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 001: expected token: ";", but found ")"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1253) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A


  • strins
    an position 100 einfach \n einfügen.
    nur solltest du bedenken, dass das nur bei einem Leerzeich o.ä. sinn macht :P


    Okey, nach dem 100 zeichen is ne neue Zeile :P


    Jedoch folgendes:
    Ich habn Helpsystem geschrieben, und wenn ich nun nen langen text(wie z.B Lorem Ipsum) habe wird zwar nach dem 100 zeichen abetrennt, aber der rest verschwindet irgendwo rechts :/


    Habs versucht mit mehreren strins (100,200,300..) usw.. jedoch hats mir da gleich nen Debug Fehler ausgegeben.


    Der Text hat eine Länge von max 1000.

    Zitat von Sharpadox

    Echt fantastisch, dieses "Google" ^^