2. Fragen + eine Neue ^^

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
  • also erste ist einfach flasch weil du da eine strign lesen willst aber du willst ja eine zahl haben also
    if(strcmp(cmdtext,"/objekte",true) == 0)
    {
    new str[256], objekte = CountDynamicObjects();
    format(str, 256, "{FFFF00}*SERVER: Der Streamer hat zur Zeit %d Objekte geladen.", objekte);
    SendClientMessage(playerid,ROT,str);//objekte
    return 1;
    } und beim 2en genau das selbe
    if(!strcmp(cmdtext, "/skin", true, 5)) //skin
    {
    if(!cmdtext[6])return SendClientMessage(playerid, 0xFF0000FF, "{FFFF00}*SERVER: Benutze: /skin [Id]");
    new str[5];
    format(str, sizeof(str), "%d", str, cmdtext[6]);
    SetPlayerSkin(playerid,str);
    return 1;
    }

  • Also das erste funktioniert aber bei dem zweiten bekomme ich folgenden Error:


    (2704) : error 035: argument type mismatch (argument 2)


    Der Error bezieht sich auf -> SetPlayerSkin(playerid,str);


    Edit: Neue Frage hinzugefügt :)

    2 Mal editiert, zuletzt von |»Timmeyable«| ()

  • error 001: expected token: ")", but found "-identifier-"


    Das ist die Zeile mit dem x++;

    Einmal editiert, zuletzt von |»Timmeyable«| ()

  • Ich möchte den Skin wechseln ... aber ich glaube das muss ich sowieso anders machen. Sonst könnt man ja auch /skin 1000 machen aber den gibt es ja nicht.
    Hast du /jemand vielleicht ein Beispiel wie ich den Skin ändern kann?


    Tim

  • so vieleicht?
    if(strcmp(strget(cmdtext,0),"/setskin",true) == 0)
    {
    if(!strlen(strget(cmdtext,1)) || !strlen(strget(cmdtext,2)))//fargt ab ob die playerid und skin da ist
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /setskin [spielerid][Skin]");
    return 1;
    }
    if(pDaten[playerid][AdminLevel] >= 3)//abfrage ob der player Admin ist Ans script anpassen
    {
    new skin = strval(strget(cmdtext,2));
    new msg1[200];
    new msg2[200];
    format(msg1,sizeof(msg1),"* Admin %s hat deinen Skin auf die ID %d gesetzt.",spieler,skin);
    format(msg2,sizeof(msg2),"* Du hast den Skin von %s auf die ID %d gesetzt.",opfer,skin);
    SendClientMessage(playerid,COLOR_WHITE,msg2);
    SendClientMessage(ziel,COLOR_WHITE,msg1);
    SetPlayerSkin(ziel,skin);
    pDaten[ziel][Skin] = GetPlayerSkin(ziel);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ADMIN_RED,"Du musst mindestens Level 3 sein für diesen Command!");
    }
    return 1;
    }

  • Benutz doch ocmd.



    Du musst deine Adminanfrage natürlich noch einfügen

  • 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;
    } unten im script

  • Ja habs getestet, funktioniert einwandfrei :D


    Danke euch für die Hilfe. Die anderen Sachen funktionieren jetzt auch.


    Gruß Tim