[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
  • Schade.
    Das einzige was du noch testen könntest wäre, einen leeren GameMode zu nehmen, ein Objekt zu erstellen, mit dem Streamer versteht sich, und dann die Edit Funktion aufzurufen. Wenn es dann auch nicht geht, dann liegt es am Streamer. Dann wirst du die Objekte die du für diesen Teil brauchst wohl oder übel statisch machen müssen.


    Mehr weiß ich dazu leider nicht.

  • Hey,
    bei mir speichert sich seit einigen Tagen der Account nicht, bzw es speichern sich nicht die Accountdaten.


    Codeausschnitt von der Funktion, in der der Spieler gespeichert wird:
    stock SpielerSpeichern(playerid)
    {
    new SD[64]; format(SD,64,"/Accounts/%s.ini",Name(playerid));
    dIntSet(SD,"Admin",Spieler[playerid][Admin]);
    dIntSet(SD,"Level",GetPlayerScore(playerid));
    dIntSet(SD,"Bankgeld",Spieler[playerid][Bankgeld]);
    dIntSet(SD,"Geld",GetPlayerMoney(playerid));
    dIntSet(SD,"Payday",Spieler[playerid][PayDay]);
    dIntSet(SD,"Skin",GetPlayerSkin(playerid));
    dIntSet(SD,"Fraktion",Spieler[playerid][Fraktion]);
    dIntSet(SD,"Rank",Spieler[playerid][Rank]);
    dIntSet(SD,"Job",Spieler[playerid][Job]);
    dIntSet(SD,"ViP",Spieler[playerid][ViP]);
    dIntSet(SD,"EXP",Spieler[playerid][EXP]);
    //Noch 41 andere Sachen, die gespeichert werden
    return dIntSet(SD,"NeedEXP",Spieler[playerid][NeedEXP]);
    }


    Also es speichert sich komplett gar nichts neues..

  • Hast du unter onplayerdisconnect SpielerSpeichern drinnen?


    Ja ,)
    Aber habe den Fehler gefunden.. Wenn man Admin ist, bekommt man automatisch den "ServerTag" an seinen Namen, und beim Speichern habe ich vergessen, den Server Tag wieder rauszunehmen :)
    Trdm Danke!

  • Guten Abend,


    habe einen Error:


    compound statement not closed at the end of file (started at line 857)


    Ab 857 fängt das so an:


    {
    SendClientMessage(playerid,0xFF8000FF,"Du hast dich zur Stadthalle geportet!");
    SetPlayerPos(playerid,389.808624,173.804992,1008.382812);
    SetPlayerInterior(playerid,3);
    SetPlayerFacingAngle(playerid,92.3491);
    SetPlayerVirtualWorld(playerid,1);
    return 1;
    }


    Glaube habe irgentein return gelöscht, bin mir aber nicht ganz sicher.

  • compound statement not closed at the end of file (started at line 857)


    Soweit ich weiß ist es ein Klamer bzw return fehler(Was ich in google gefunden habe)
    Zeig uns mal ein Größeres stück des scripts


    MFG

    Mit freundlichen Grüßen
    [color=#696969][i][b]Maxi
    [tabmenu]
    [tab='Signatur!']

    [tab='Mein Computer System']

    • Gehäuse Delux SH891 Midi-Tower (ATX) schwarz
    • Netzteil 650 Watt Corsair VS650
    • Festplatte 1000GB SATA III 7200upm
    • Mainboard AM3 Gigabyte GA-970A-UD3P (Chipsatz:AMD 970/SB950/ATX)
    • NVIDIA Geforce GTX 770 Gainward Phantom
    • 8192MB DDR3 Single Channel 1600MHz
    • Prozessor AM3+ (FX-Serie) AMD FX-8350 8x 4.0 GHz


    [tab='Meine Handys']

    • HTC ONE M8
    • Samsung S3 mini
    • Vll bald HTC ONE M7


    [tab='Mein Steam Account = 1']

  • Hallo zusammen,


    ich bin gerade dabei ein Ordnungsamtssystem (Was auch in diesem Forum gezeigt wurde) in in ein Script einzubauen.
    Nur bekomme ich wiso auch immer diese 3 Errors + 1 Warning in der gleichen Zeile:


    Hier die Errors:


    Code
    (10524) : error 001: expected token: ";", but found ")"
    (10524) : error 029: invalid expression, assumed zero


    Hier die Zeilen:



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    M_OnPlayerStateChange(playerid, newstate, oldstate);
    new xv=0;xv<MaxVeh;xv++) //Die Errozeile
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new xdd=GetPlayerVehicleID(playerid);
    if(xdd==PlayerCar[playerid][xv][CarId])
    {
    if(PlayerCar[playerid][xv][CarGesperrt] == 1)
    {
    new modell = GetVehicleModel(xdd),string2[60];
    format(string2,256,"Dein Fahrzeug (%s) ist für %d$ gesperrt.",CarName[modell-400],PlayerCar[playerid][xv][CarSperrpreis]);
    SendClientMessage(playerid,0xFF0000FF,string2);
    SendClientMessage(playerid,0xFF0000FF,"Du kannst es am Ordnungsamt für diesen Preis freikaufen.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }
    }


    Habe schon alles versucht,bekomme nur diese beiden Errors nicht weg.
    Könnt ihr villeicht helfen?
    schonmal vielen Dank :)


  • Soweit ich weiß ist es ein Klamer bzw return fehler(Was ich in google gefunden habe)
    Zeig uns mal ein Größeres stück des scripts


    MFG



    http://img5.fotos-hochladen.ne…creenshot19cj62x0mksd.png


    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/sh", true))
    {
    SendClientMessage(playerid,0xFF8000FF,"Du hast dich zur Stadthalle geportet!");
    SetPlayerPos(playerid,389.808624,173.804992,1008.382812);
    SetPlayerInterior(playerid,3);
    SetPlayerFacingAngle(playerid,92.3491);
    SetPlayerVirtualWorld(playerid,1);
    return 1;
    }



  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/sh", true))
    {
    SendClientMessage(playerid,0xFF8000FF,"Du hast dich zur Stadthalle geportet!");
    SetPlayerPos(playerid,389.808624,173.804992,1008.382812);
    SetPlayerInterior(playerid,3);
    SetPlayerFacingAngle(playerid,92.3491);
    SetPlayerVirtualWorld(playerid,1);


    }
    return 1;
    }
    //edit Schreibfehler

  • Versuch es mal so:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/sh", true))
    {
    SendClientMessage(playerid,0xFF8000FF,"Du hast dich zur Stadthalle geportet!");
    SetPlayerPos(playerid,389.808624,173.804992,1008.382812);
    SetPlayerInterior(playerid,3);
    SetPlayerFacingAngle(playerid,92.3491);
    SetPlayerVirtualWorld(playerid,1);
    return 1;
    }
    return 0;
    }
    Hoffe der pawn code wird richtig angezeigt. WIe gesagt weiß nicht ob es daran liegt ;)


    MFG

    Mit freundlichen Grüßen
    [color=#696969][i][b]Maxi
    [tabmenu]
    [tab='Signatur!']

    [tab='Mein Computer System']

    • Gehäuse Delux SH891 Midi-Tower (ATX) schwarz
    • Netzteil 650 Watt Corsair VS650
    • Festplatte 1000GB SATA III 7200upm
    • Mainboard AM3 Gigabyte GA-970A-UD3P (Chipsatz:AMD 970/SB950/ATX)
    • NVIDIA Geforce GTX 770 Gainward Phantom
    • 8192MB DDR3 Single Channel 1600MHz
    • Prozessor AM3+ (FX-Serie) AMD FX-8350 8x 4.0 GHz


    [tab='Meine Handys']

    • HTC ONE M8
    • Samsung S3 mini
    • Vll bald HTC ONE M7


    [tab='Mein Steam Account = 1']

  • Geht der Code eventuell besser und ressourcenschonender ?


    public OnRconLoginAttempt(ip[],password[],success){
    if(!success){
    for(new i=0; i<MAX_PLAYERS; i++){
    new string[128],hour,minute,second,pip[16];
    GetPlayerIp(i,pip,sizeof(pip));
    if(!strcmp(ip,pip,true)){
    Ban(i);
    gettime(hour,minute,second);
    format(string,sizeof(string),"Sicherheitsban der IP %s. Verwendetes Passwort: %s. %02d:%02d:%02d.",ip,password,hour,minute,second);
    LogCommand(string);
    return 1;
    }
    }
    }
    return 1;
    }


    stock LogCommand(event[]){new File:log = fopen("sicherheitsban.txt", io_append); fwrite(log, event); fwrite(log, "\n"); fclose(log);}

  • Geht der Code eventuell besser und ressourcenschonender ?


    Du solltest es vermeiden Variablen in Schleifen zu deklarieren...denn dann werden sie bei jedem Durchlauf neu deklariert :rolleyes:


    So kannst du es besser machen:


    public OnRconLoginAttempt(ip[],password[],success) {
    if(success) return 1;
    new string[128],pip[16];
    for(new i; i<MAX_PLAYERS; i++) {
    GetPlayerIp(i,pip,sizeof(pip));
    if(strcmp(ip,pip) != 0) continue;
    Ban(i),gettime(string[0],string[1],string[2]);
    format(string,sizeof(string),"Sicherheitsban der IP %s. Verwendetes Passwort: %s. %02d:%02d:%02d.",ip,password,string[0],string[1],string[2]);
    return LogCommand(string);
    }
    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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen