[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
  • Moin ich hab wieder Errors


    C:\Users\kabanosik\Desktop\Neuer Ordner (2)\gamemodes\Ultimate.pwn(443) : error 017: undefined symbol "Fraktion"
    C:\Users\kabanosik\Desktop\Neuer Ordner (2)\gamemodes\Ultimate.pwn(444) : error 001: expected token: ";", but found "return"



    stock IstSpielerInFraktion(playerid, fraktionsid)
    {
    if(sSpieler[playerid][Fraktion] == fraktionsid) return 1
    return 0;
    }



    Danke im Vorraus

  • @xCurry:
    Du kannst das auch direkt in Ip einschreiben.
    GetPlayerIp(playerid,sInfo[playerid][Ip],HIER_DIE_LÄNGE_VON_Ip);


    @SniperShot:
    Du sollst "Fraktion," in das Enum eintragen, und bei der if-Abfrage das "Fraktion," vorne löschen ;)
    Also so:

    if(sSpieler[playerid][Fraktion] == fraktionsid)return 1;

  • Hallo,
    ich habe hier einen kleinen Logikfehler, aber ich weiß nicht warum.


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    new Float:HP;
    new rand = random(3);
    GetPlayerHealth(playerid, HP);
    if(HP <= 25) {
    SendClientMessage(playerid, 0xFC6063FF, "Du bist verletzt.");
    amount = rand;
    }
    else if(HP <=5) {
    SendClientMessage(playerid, 0xFC6063FF, "Du bist tot.");
    amount = 0;
    }
    new string[128];
    format(string, 128, "Dein altes Leben: %f, dein neues %f, Schaden erlitten: %f", HP, HP-amount, amount);
    SendClientMessage(playerid, -1, string);
    return 1;
    }


    Wenn der Spieler nur noch ca. 25 HP hat, soll die dementsprechende Meldung kommen und der Schaden den er danach noch bekommt soll random bestimmt werden. Wenn der Spieler weniger als 5 HP hat, soll der Schaden gleich 0 sein, doch irgendwie klappt das nicht wirklich. Man stirbt trotzdem und die Messages kommen verzögert. Jemand eine Idee?

  • jeffry ein problem noch :D


    leute ich habe mir im forume dieses anfänger 2.1 script geholt aber da gibts den bekannten fehler das der meine login daten nicht irgendwohin speichert darüber gabs auch schon eine antwort aber ich weiß nicht wo ich das hier:




    new name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,sizeof(name));
    format(Datei,sizeof(Datei),"/Speicherort/%s.txt",name);




    hier mein code: http://pastebin.com/g5nDfCuV



    jeffry sag mir bitte genau wo ich das hinmachen muss weil ich neu damit angefangen habe und fast kp habe.



    Jeffry

  • Laut dem Code brauchst du das nicht, da es bereits in der Datei Funktion steht.
    Die Spielerdateien sollten im Ordner "/scriptfiles/Spieler" abgelegt werden, sofern dieser erstellt ist.


    Wenn nicht, erkläre bitte was du eingibst, und was dann passiert, auch wenn du dich versuchst erneut einzuloggen.

  • Jeffry:
    Vielleicht erinnerst du dich, du hast gesagt ich soll mal mein OnPlayerDisconnect printen und habe nun die Zeile gefunden



    print("48");
    oKick[playerid] = 0;
    print("49");
    if(!IsPlayerInAnyVehicle(playerid))return 1; // Diese Zeile ist der Grund warum es nicht weiter geht
    print("50");
    new Float:x,Float:y,Float:z,vehicleid = GetPlayerVehicleID(playerid);
    print("51");
    GetVehiclePos(vehicleid,x,y,z);
    print("52");
    vPos[vehicleid][0] = x,vPos[vehicleid][1] = y,vPos[vehicleid][2] = z;
    print("53");
    if(Desktop_Timer_Started[playerid] == 1) { KillTimer(Desktop_Timer[playerid]); }
    print("54");
    PlayerInfo[playerid][pAdjustable] = 1;
    print("55");


    er Printet nur bis 49 und das wars.
    Wenn ich die Zeile ausklammer werden die anderen auch geprintet.
    Aber warum geht das so nicht ?
    Wegen dem return 1?


    Mfg Saphire

  • Ist das unter OnPlayerConnect? Da bist du ja in keinem Fahrzeug daher wird der return 1; ausgeführt.

  • Ja ist ja auch klar. Wenn du in keinem Fahrzeug sitzt dann bricht der code ab und es wird danach nichts mehr ausgeführt.