Beiträge von Pascal.

    Mal zu dein enum.


    Das könntest du mal so ändern :)
    enum FrakDaten
    {
    pFID,
    pFName[64], //Der Name der Fraktion darf höchstens 64 Zeichen haben
    pLeader[MAX_PLAYER_NAME],
    pCoLeader[MAX_PLAYER_NAME],
    pRang1,
    pSkin,
    pColor,
    Float:s_x,//s_ spawn
    Float:s_y,
    Float:s_z
    };

    Dann habe ich noch eine Funktion für dich, dass ist für deine Rang namen.
    GetRangName(playerid)
    {
    new name[70];
    new fID = pInfo[playerid][pFraktion];
    if(fID == 1) //bsp SAPD
    {
    if(FDaten[fID][pRang] == 1) format(name, sizeof(name), "Streife 1");
    else if(FDaten[fID][pRang] == 2) format(name, sizeof(name), "Streife 2");
    else if(FDaten[fID][pRang] == 3) format(name, sizeof(name), "Streife 3");
    else if(FDaten[fID][pRang] == 4) format(name, sizeof(name), "Streife 4");
    else if(FDaten[fID][pRang] == 5) format(name, sizeof(name), "Ausbilder");
    else if(FDaten[fID][pRang] == 6) format(name, sizeof(name), "Leader");
    }
    return name;
    }


    bsp:
    format(string,128,"Du hast dein Member den Rang (%d - %s) vergeben.",pInfo[playerid][pRang],GetRangName(playerid));


    Benutzt du auch die MySQL version? Laut den Errors nicht.
    Weil wie man sieht findet er zum bsp: mysql_connect nicht.

    Du musst die Textdraws mit ein Textdraw editor erstellen, diese bei OnGameModelInit laden lassen.
    Beim Command musst du sie zeigen lassen.


    bsp:
    ocmd:gmx(playerid,params[])
    {
    SendRconCommand("gmx");
    TextDrawShowForPlayer(playerid,textdraw);
    return 1;
    }

    Mach es doch genau so wie du es mit format und SendClientMessage machen tust.


    Erst query, dann mysql_function_query.
    Dann wieder so.


    //Falsch verstanden sry.
    Mach \
    damit kannste in eine neue zeile


    bsp:
    format(query,128,"Passwort='%s'\
    Level='%i",Passwort,Level

    Wäre gut wenn du die Zeilen makierst oder so.
    Es ist sehr unübersichtlich, ich weiß nicht wo das ist mit dem Geld auf die Bank.

    Hat jemand ein beispiel wie man am besten abfragen kann ob der "Inteilhaber, inteilhaber beim besitzer des Business ist".
    Weil ich möchte nicht das jeder Business besitzer jeden Business Inteilhaber kündigen kann.
    Irgendwie in der art so ein bsp.


    //EDIT: Ist gerade sehr verwirrend.
    /* is cobesitzer inteilhaber bei besitzer */
    if(cobesitzer == bsInfo[i][b_cobesitzer] != playerid == bsInfo[i][b_besitzer])return 1;

    Jeffry:
    Jetzt Funktioniert es vielen Dank :)


    //EDIT:
    Habe noch ein Problem mit dem Preis setten.
    Wenn ich das mache speichert er das nicht ab und ich kriege ein mysql_Log


    SaveBiz(id)
    {
    new query[350];
    format(query,350,"UPDATE biz SET b_besitzer='%s',b_inteilhaber='%s',b_kasse='%i',b_cokasse,b_preis='%i',b_level='%i' WHERE id='%i'",
    bsInfo[id][b_besitzer],bsInfo[id][b_cobesitzer],bsInfo[id][b_kasse],bsInfo[id][b_cokasse],
    bsInfo[id][b_preis],bsInfo[id][b_level],bsInfo[id][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    ocmd:setpreis(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt!");
    if(pInfo[playerid][pAdmin] <6)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new preis,string[128];
    if(sscanf(params,"i",preis))return SCM(playerid,COLOR_GRAU,"INFO: /setpreis [preis]");
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][db_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][hx],hInfo[i][hy],hInfo[i][hz]))continue;
    hInfo[i][h_preis] = preis;
    format(string,128,"Du hast den Kaufpreis des Hauses geändert. Neuer Preis: %i",preis);
    print(string);
    SCM(playerid,COLOR_GELB,string);
    SaveHaus(i);
    UpdateHaus(i);
    break;
    }
    for(new i=0; i<sizeof(bsInfo); i++)
    {
    if(!bsInfo[i][db_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,bsInfo[i][bx],bsInfo[i][by],bsInfo[i][bz]))continue;
    bsInfo[i][b_preis] = preis;
    format(string,128,"Du hast den Kaufpreis des Businesses geändert. Neuer Preis: %i",preis);
    print(string);
    SCM(playerid,COLOR_GELB,string);
    SaveBiz(i);
    UpdateBiz(i);
    }
    return 1;
    }


    Code
    [20:24:42] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'b_preis='0',b_level='100' WHERE id='10'' at line 1

    Ja dann schick uns doch mal die Variable womit du Geld auf das Bank konto legst.


    Du müsst im Payday statt GivePlayerMoney(...) das mit der Bank Variable machen heißt:


    bsp: die Variable heißt bank[playerid][b_money]

    GivePlayerMoney(playerid,geld);

    bank[playerid][b_money] +=geld;

    Hey Community!
    Ich habe ein Problem im Biz System.
    Sobald ich das Business erstelle bekomme ich folgenden Mysql_log.

    Code
    [21:53:40] [ERROR] CMySQLQuery::Execute[CreateBiz] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by, bz, ib_x, ib_y, ib_z, b_interior,b_level,b_preis,b_kasse) VALUES ('2004.4512' at line 1


    So geprintet habe ich das auch das kam raus, ich sehe keine Fehler in diesem Code:

    Code
    [21:53:40] X: 2004.451293
    [21:53:40] Y: -1722.136474
    [21:53:40] Z: 13.382812
    [21:53:40] Level: 100
    [21:53:40] Preis: 100
    [21:53:40] Kasse: 100
    [21:53:40] Business erstellt.
    [21:53:40] INSERT INTO biz (bx, by, bz, ib_x, ib_y, ib_z, b_interior,b_level,b_preis,b_kasse) VALUES ('2004.451293','-1722.136474','13.382812','0.0','0.0','0.0','0','100','100','100')


    ocmd:createbiz(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt!");
    if(pInfo[playerid][pAdmin] <6)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new klevel,kpreis,bkasse;
    if(sscanf(params,"iii",klevel,kpreis,bkasse))return SCM(playerid,COLOR_GRAU,"INFO: /createhouse [kauflevel] [kaufpreis] [b_kasse]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);


    new query[350];
    new id = GetFreeBizID();
    bsInfo[id][bx] = x;
    printf("X: %f",x);
    bsInfo[id][by] = y;
    printf("Y: %f",y);
    bsInfo[id][bz] = z;
    printf("Z: %f",z);
    bsInfo[id][ib_x] = 0.0;
    bsInfo[id][ib_y] = 0.0;
    bsInfo[id][ib_z] = 0.0;
    bsInfo[id][b_interior] = 0;
    bsInfo[id][b_level] = klevel;
    printf("Level: %i",klevel);
    bsInfo[id][b_preis] = kpreis;
    printf("Preis: %i",kpreis);
    bsInfo[id][b_kasse] = bkasse;
    printf("Kasse: %i",bkasse);
    printf("Business erstellt.");
    strmid(bsInfo[id][b_besitzer], "",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    strmid(bsInfo[id][b_cobesitzer], "",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    format(query,350,"INSERT INTO biz (bx, by, bz, ib_x, ib_y, ib_z, b_interior,b_level,b_preis,b_kasse) VALUES ('%f','%f','%f','0.0','0.0','0.0','0','%i','%i','%i')",
    x,y,z,klevel,kpreis,bkasse);
    print(query);
    mysql_function_query(dbhandle,query,true,"CreateBiz","i",id);
    UpdateBiz(id);
    return 1;
    }

    @Sean_Smith:
    Naja wie gesagt wollte jetzt überhaupt keine neue Grafikkarte kaufen, weil ich zu Hause noch eine Habe die recht neu ist.
    Ich hatte sie glaube 1 Monat im PC mal drinne nun liegt sie nur noch rum, deshalb will ich die Benutzen.
    Würde der auch Laggfrei aufnehmen?

    Ich wollte mal nachfragen was ihr von diesem PC haltet.
    Da mein Budget nicht so groß ist kann ich mir erstmal nur so ein Kaufen, aber dieser wird eigentlich nur für SA:MP und MTA verwendet.
    Nun sind meine Fragen:
    Würde der PC in SA:MP und MTA laggfrei laufen?
    Kann man mit diesen PC die Games auch aufnehmen ohne Laggs zu haben?


    Statt der Grafikkarte im Video würde ich die XFX AMD Radeon HD6570 (PCI-e, 2GB GDDR3 Speicher, 2x DVI, HDMI, 1GPU).
    Ich würde die gerne nehmen weil ich diese noch zu hause liegen habe.
    www.youtube.com/watch?v=nphV5vJY5gU

    So nebenbei, du musst nicht soviele Strings erstellen.
    Es reicht wenn du 1 String benutzt mit 256 zeichen.
    Du kannst in immer benutzen bsp:


    new string[256];
    format(string,256,"Mein String %s",blabla);
    SendClientMessage(playerid,COLOR_RED,string);
    format(string,256,"Mein String %s",blabla);
    SendClientMessage(playerid,COLOR_RED,string);
    Das kannst du so oft machen wie du möchtest und musst nicht tausende strings erstellen.