[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
  • Was daran falsch?
    if(strcmp("/job", cmd, true) == 0 || strcmp("/j", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[84];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_BENUTZETEXT, "Benutze: (/j)ob");
    return 1;
    }
    if(PlayerInfo[playerid][pJob] != -1)
    {
    format(string, sizeof(string), "**%s %s: %s",PlayerInfo[playerid][pJob]),sendername, result);//Error Zeile
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast keinen Job !");
    return 1;
    }
    }
    return 1;
    }


    forward SendJobMessage(job, color, string[]);


    D:\Users\Admin\Desktop\gg.pwn(16975) : warning 215: expression has no effect
    D:\Users\Admin\Desktop\gg.pwn(16975) : error 001: expected token: ";", but found ")"

  • format(string, sizeof(string), "**%s %s: %s",PlayerInfo[playerid][pJob],sendername, result);
    Da war eine Klammer zu viel ;)

  • Warum bekommt man massen an Geld?
    else if(!PlayerInfo[i][pFestPD] && PlayerInfo[i][pFestgeld] != 0){
    new Float:tmp_brx = PlayerInfo[i][pFestgeld]*0.035;
    format(string,sizeof(string),"Die Bank dir $%d überwiesen + einen Zinssatz von ca. 3%(%d)", PlayerInfo[i][pFestgeld], tmp_brx);
    SendClientMessage(i,-1,string),PlayerInfo[i][pBank]+=tmp_brx;
    PlayerInfo[i][pFestgeld]=0, PlayerInfo[i][pFestPD]=0;
    }


  • dur darfst keine Float und ein Integer zusammen addieren


    Das

    PlayerInfo[i][pBank]+=tmp_brx;


    zu


    PlayerInfo[i][pBank]+= floatround(tmp_brx, floatround_ceil);

  • else if(!PlayerInfo[i][pFestPD] && PlayerInfo[i][pFestgeld] != 0)
    {
    new Float:tmp_brx = PlayerInfo[i][pFestgeld]*0.035;
    format(string,sizeof(string),"Die Bank dir $%0.2f überwiesen + einen Zinssatz von ca. 3%% ($%0.2f)", PlayerInfo[i][pFestgeld], tmp_brx);
    SendClientMessage(i,-1,string),PlayerInfo[i][pBank]+=tmp_brx;
    PlayerInfo[i][pFestgeld]=0, PlayerInfo[i][pFestPD]=0;
    }


    Unter der Voraussetzung, dass pFestgeld als Float deklariert wurde.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Wie kann ich das anderst machen?

  • JobDaten[jobid][cpTextLabel] ist ein Integer. Der Fehler trat auf, als ich "JobDaten[jobid][cpTextLabel] = " davorgeschrieben habe.

    Code
    warning 213: tag mismatch


    JobDaten[jobid][cpTextLabel] = Create3DTextLabel(str, 0xFFFF00FF, JobDaten[jobid][cpPickupPosX], JobDaten[jobid][cpPickupPosY], JobDaten[jobid][cpPickupPosZ], 50, 0);

  • pInfo


    Ich glaube du verstehst deinen Code nicht. :wacko:


    Ich tippe mal du hast es als Integer deklariert. Schreib es mal so:
    else if(!PlayerInfo[i][pFestPD] && PlayerInfo[i][pFestgeld] != 0)
    {
    new tmp_brx = floatround(float(PlayerInfo[i][pFestgeld])*0.035);
    format(string,sizeof(string),"Die Bank dir $%d überwiesen + einen Zinssatz von ca. 3%% ($%d)", PlayerInfo[i][pFestgeld], tmp_brx);
    SendClientMessage(i,-1,string);
    PlayerInfo[i][pBank]+=tmp_brx;
    PlayerInfo[i][pFestgeld]=0;
    PlayerInfo[i][pFestPD]=0;
    }


  • Danke werd ich testen warum wird kein Level höher gesetzt?
    new exp = PlayerInfo[i][pRespekt], nxtlevel = PlayerInfo[i][pLevel]+1, expamount = nxtlevel*levelexp;
    if(exp >= expamount)
    {
    SendClientMessage(i, COLOR_WHITE, "* LEVEL UP");
    PlayerInfo[i][pLevel] + 1;
    PlayerInfo[i][pRespekt] = 0;
    }

  • new exp = PlayerInfo[i][pRespekt], nxtlevel = PlayerInfo[i][pLevel]+1, expamount = nxtlevel*levelexp;
    if(exp >= expamount)
    {
    SendClientMessage(i, COLOR_WHITE, "* LEVEL UP");
    PlayerInfo[i][pLevel]++; //Entweder so, oder += 1.
    PlayerInfo[i][pRespekt] = 0;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen