Scripten mit einem Ziel

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
  • Aloha meine Scriptfreunde!
    Da sich viele mit dem Scripten eines Ziels so schwer geben möchte ich euch zeigen wie man soetwas macht.



    new ziel = strval(strget(cmdtext,1));


    Dies definiert ein ziel.Diesen Schnippsel müsst ihr einfach einmal in eurem Script auftauchen lassen, am besten über einem CMD.



    if(strcmp(cmdtext, "/heilen100",true,5) == 0) //der CMD um es zu benutzen
    {
    if(gTeam[playerid] == LsMedic)//frag ab, ob der jenige ein Arzt ist
    {
    SetPlayerHealth(ziel, 100.0);//erhöht die Hp vom Ziel auf 100%
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Du bist kein Arzt");//jemand der kein Arzt ist und es nicht weiß, wird ihn hiermit gesagt
    }
    return 1;
    }


    Falls noch Fragen bestehen gleich hier drunter bratzen ;)

  • Auch schonmal den strval() Bug berücksichtigt?
    Wenn man nun beispielsweise /heilen100 99999999999999999999999999999999999999999999
    eingibt, crasht das Script.


    Außerdem benützt man heute dcmd, dort wird das "Ziel" über die Paramter übergeben.

    ICQ Scripting - Support 495961653
    Montags-Freitags ab 15 Uhr


  • Also bei mir kackt da der PAWN Compiler ab ?(




    GER-Clan - Seit 2007 - WIEDER DA!

  • Auch schonmal den strval() Bug berücksichtigt?
    Wenn man nun beispielsweise /heilen100 99999999999999999999999999999999999999999999
    eingibt, crasht das Script.


    Außerdem benützt man heute dcmd, dort wird das "Ziel" über die Paramter übergeben.

    könntest du kekes dann nochmal das richtig posten wie man das macht xD dadrin habe ich auch noch probleme wie man das macht das man /heil id hpbetrag eingeben muss .

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • if(!strcmp(strget(cmdtext, 0), "/heilen")) {
    if(!strlen(strget(cmdtext,1))) return SendClientMessage(playerid,farbe,"/heilen ID Leben");
    new ziel=strval(strget(cmdtext,1));
    if(IsPlayerConnected(ziel)) {
    if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid,farbe,"/heilen ID Leben");
    new leben=strval(strget(cmdtext,2));
    if(leben>=0 && leben<=1000000) {
    SetPlayerHealth(ziel,leben); }}
    return 1;
    }
    Und dafür muss strget definert sein

  • stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }



    bitteschön