Kann nur /chaus, und nicht /chaus ... ... ... ...

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
  • if(!strcmp(cmdtext,"/chaus",true))
    {
    if(!IsPlayerAdmin(playerid))return 1;
    if(!cmdtext[0])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hkosten = strval(cmdtext);
    if(!cmdtext[0])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new spielzeit = strval(cmdtext);
    if(spielzeit < 0)return SendClientMessage(playerid,0xFF0000FF,"Die Spielzeit muss minimal bei 0 Stunden liegen!");
    if(!cmdtext[0])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hhaus = strval(cmdtext);
    if(hhaus > sizeof(Typen) || hhaus < 0)return SendClientMessage(playerid,0xFF0000FF,"Ungültiges Haus!");
    if(!cmdtext[0])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hvw = strval(cmdtext);


    Kann Ingame allerdings nur /chaus
    Nicht iwie /chaus 10 10 1 2 oder so.
    Woran liegts?

  • Guck mal dein (cmdtext); an, du musst z.b für die Kosten dort (cmdtext 1); schreiben, für die Spielzeit 2 usw.
    den die Zahl hinter CMDTEXT, legt fest an welcher stelle die/der Zahl/Satz steht, wenn du alles auf (cmdtext); lässt, ist es klar wieso es nicht geht :D


    PS: Wenn man nur cmdtext schreibt, dann ist es die stelle, die direkt nach dem "/" kommt, in diesem Falle wäre das /chaus :D

  • if(!strcmp(cmdtext,"/chaus",true))
    {
    if(!IsPlayerAdmin(playerid))return 1;
    if(!cmdtext[0])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hkosten = strval(cmdtext);
    if(!cmdtext[1])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new spielzeit = strval(cmdtext);
    if(spielzeit < 0)return SendClientMessage(playerid,0xFF0000FF,"Die Spielzeit muss minimal bei 0 Stunden liegen!");
    if(!cmdtext[2])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hhaus = strval(cmdtext);
    if(hhaus > sizeof(Typen) || hhaus < 0)return SendClientMessage(playerid,0xFF0000FF,"Ungültiges Haus!");
    if(!cmdtext[3])return SendClientMessage(playerid,0xFF0000FF,"Nutze : /chaus [kosten] [spielzeit in h] [haus] [Virtual World]");
    new hvw = strval(cmdtext);


    So?!

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : error 001: expected token: ",", but found "-integer value-"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : warning 215: expression has no effect
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : error 001: expected token: ";", but found ")"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    new hkosten = strval(cmdtext 1);

  • new hkosten = strval(strget(cmdtext, 1));


    Sollte so gehen...


    Edit:/ Falls du kein strget hast, füge das ganz untem im Script ein:
    //-----------------strget---------------
    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;
    }

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1748) : warning 202: number of arguments does not match definition
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1750) : warning 202: number of arguments does not match definition
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1753) : warning 202: number of arguments does not match definition
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(1756) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Warnings.


    new hkosten = strval(cmdtext, 1);


    new spielzeit = strval(cmdtext, 2);


    new hhaus = strval(cmdtext, 3);


    new hvw = strval(cmdtext, 4);

  • new hkosten = strval(strget(cmdtext, 1));


    new spielzeit = strval(strget(cmdtext, 2));


    new hhaus = strval(strget(cmdtext, 3));


    new hvw = strval(strget(cmdtext, 4));


    Und vergess nicht strget unten einzufügen (GANZ UNTEN IM SCRIPT!)


  • Ganz untem im Script einfügen ...

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5556) : error 033: array must be indexed (variable "strx")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    if(strx == search || i == strlen(strx) || strx[i + 1] == 10) {

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5556) : error 033: array must be indexed (variable "strx")
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5564) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5564) : warning 215: expression has no effect
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5564) : error 001: expected token: ";", but found "if"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5565) : error 017: undefined symbol "i"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5566) : warning 209: function "strget" should return a value
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(5567) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    Keine Gute Idee. :s