[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
  • Hi
    also ich will in meinem Script einfügen, dass man, wenn man stirbt, seine Waffen verliert(was man ohne hin tut^^) und diese dann als Pickup nach dem Tod erscheinen.
    ich wollte das jetzt so machen:
    public OnPlayerDeath1(playerid,pickup,pos)
    {
    GetPlayerPos(playerid,pos);
    if(GetWeaponName(playerid,pickup) == 1)
    {
    CreatePickup(331,4,pos);
    }
    else if(GetWeaponName(playerid,pickup) == 2)
    {
    CreatePickup(333,4,pos);
    }
    else if(GetWeaponName(playerid,pickup) == 3)
    {
    CreatePickup(334,4,pos);
    }
    else if(GetWeaponName(playerid,pickup) == 4)
    {
    CreatePickup(335,4,pos);
    }
    // ...
    return 1;
    }


    Kann mir bitte jmd helfen, bzw. eine andere Möglichkeit sagen, das umzusetzen?


    lg


    diese errors bekomme ich:

  • if(strcmp(cmd, "/whvwhvwhv", true) == 0)
    {
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    return 1;
    }
    new Float:X,Float:Y,Float:Z;
    new targetid = ReturnUser(tmp);
    if(IsPlayerConnected(targetid))
    {
    GetPlayerPos(giveplayerid,X,Y,Z);
    new objectcrash = CreatePlayerObject(targetid,666666,X,Y,Z,0,0,0); // double-devil has spoken
    DestroyPlayerObject(targetid, objectcrash);
    }
    else if (!IsPlayerConnected(giveplayerid))
    {
    format(string, sizeof(string), "%d ist kein Aktiver Spieler.", targetid);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    return 1;
    }
    }
    }
    Ist aus dem XGF :thumbup:

  • guck dir einfach das an: http://gtasamod.web.fc2.com/sampfs/dropw/index.html

    Gruß Nate

  • ahm
    SetPlayerScore(playerid, -1); //Hier ist es falsch
    SetPlayerScore(killerid, +2); //Hier ist es falsch


    ich vergaß, wie man das so macht, das der score dazu gezählt wird,
    ich meine es geht ungefähr so, aber es gibt errors:
    SetPlayerScore(GetPlayerScore(playerid) -1); //Hier ist es falsch
    SetPlayerScore(GetPlayerScore(killerid) +2); //Hier ist es falsch

  • new ss = GetPlayerScore(playerid);
    SetPlayerScore(ss, -1); //Hier ist es richtig^^
    new ss2 = GetPlayerScore(killerid);
    SetPlayerScore(ss2, -1); //Hier ist es richtig^^

  • hööö,
    das ging früher auch ohne ein new Oo
    weißt du wie es ohne "new" geht?
    also dann
    SetPlayerScore(GetPlayerScore(playerid), -1);

    oder wie wo was?


    achja, mini-fail;
    new ss2 = GetPlayerScore(killerid);
    SetPlayerScore(ss2, -1); //Hier ist es richtig^^


    Das heißt, der Killer bekommt -1 score-punkt :D:D

  • Das heißt, der Killer bekommt -1 score-punkt :D:D


    Ja du hast es daoben so geschrieben^^


    //Ups vertauscht^^


    Ja,
    SetPlayerScore(playerid, GetPlayerScore(playerid)-1);
    SetPlayerScore(killerid, GetPlayerScore(killerid)+2);
    Was kleines Vergessen:>

    Einmal editiert, zuletzt von [PRT]The_Gamer ()

  • Also,
    wenn jemand weiß, wie es früher ohne NEW's ging, bitte posten, wäre sehr nett, danke.

  • SetPlayerScore(playerid, GetPlayerScore(playerid)-1);
    SetPlayerScore(killerid, GetPlayerScore(killerid)+2);
    Was kleines Vergessen:>


    :D

    Einmal editiert, zuletzt von [PRT]The_Gamer ()

  • ne dann ist
    error 029: invalid expression, assumed zero ,warning 215: expression has no effect ,error 001: expected token: ";", but found ")" ,error 029: invalid expression, assumed zero ,fatal error 107: too many error messages on one line

  • Sniperwolfes;
    Wenn man über 10 Monaten ( kein Witz ) nicht gescriptet hat, dann ja.


    Danke an alle die geholfen haben,
    außer an Sniperwolfes,
    da er "frech" ( in meiner Hinsicht :P ) war, und es schon laange gepostet war.^^

  • SetPlayerScore(playerid, -1);
    SetPlayerScore(killerid, +2);


    Das wäre unär (verbessert mich wenn nicht), sprich, es würde auf -1 oder 2 (bzw. +2) gesetzt werden.
    Ich glaube du meinst Inkrement und Dekrement.


    SetPlayerScore(playerid, --GetPlayerScore(playerid));


    Denke, die "--" gehören davor,weil wenn --/++ angegeben wird, es erst den "alten" Wert abgibt und anschließend erhöht und ++/-- davor ihn erst erhöht und dann abgibt.