Beiträge von Dudalus

    Hallo


    Wenn ich online komme/andere Spieler, haben sie plötzlich einen Betrag von sagen wir -22k, wenn sie relogen, dann haben sie -44k, dann -88k und so weiter..... Ich weiss nicht, woran das liegen könnte.


    public OnPlayerConnect(playerid)
    {
    Angebot[0][playerid] = 0;
    Angebot[1][playerid] = 0;
    Angebot[2][playerid] = 0;
    Angebot[3][playerid] = 0;
    Angebot[4][playerid] = 0;
    Angebot[5][playerid] = 0;
    Angebot[6][playerid] = 0;
    Angebot[7][playerid] = 0;
    Angebot[8][playerid] = 0;
    PlayerAngebot[0][playerid] = 0;
    PlayerAngebot[1][playerid] = 0;
    PlayerAngebot[2][playerid] = 0;
    PlayerAngebot[3][playerid] = 0;
    PlayerAngebot[4][playerid] = 0;
    WaffenDeal[0][playerid] = 0;
    WaffenDeal[1][playerid] = 0;
    WaffenDeal[2][playerid] = 0;
    WaffenDeal[3][playerid] = 0;
    TAuftrag[0][playerid] = 0;
    TAuftrag[1][playerid] = 0;
    TAuftrag[2][playerid] = 0;
    TAuftrag[3][playerid] = 0;
    TAuftrag[4][playerid] = 0;
    TAuftrag[5][playerid] = 0;
    TAuftrag[6][playerid] = 0;
    TAuftrag[7][playerid] = 0;
    TAuftrag[8][playerid] = 0;
    FAuftrag[0][playerid] = 0;
    FAuftrag[1][playerid] = 0;
    FAuftrag[2][playerid] = 0;
    FAuftrag[3][playerid] = 0;
    HAuftrag[0][playerid] = 0;
    HAuftrag[1][playerid] = 0;
    HAuftrag[2][playerid] = 0;
    HAuftrag[3][playerid] = 0;
    DAuftrag[0][playerid] = 0;
    DAuftrag[1][playerid] = 0;
    DAuftrag[2][playerid] = 0;
    DAuftrag[3][playerid] = 0;
    Pizza[0][playerid] = 0;
    Pizza[1][playerid] = 0;
    Pizza[2][playerid] = 0;
    Eis[0][playerid] = 0;
    Eis[1][playerid] = 0;
    Eis[2][playerid] = 0;
    Hotdog[0][playerid] = 0;
    Hotdog[1][playerid] = 0;
    Hotdog[2][playerid] = 0;
    SetPlayerColor(playerid, COLOR_GREY);
    if(IsPlayerNPC(playerid))
    {
    gPlayerAccount[playerid] = 1;
    gPlayerLogged[playerid] = 1;
    return 1;
    }
    else
    {
    SetPlayerCameraPos(playerid, -2668.5005, 1420.0167, 912.4063);
    SetPlayerCameraLookAt(playerid, -2666.1284, 1423.0178, 912.4063);
    new string[256]; format(string, sizeof(string), "%s betritt den Server",ReadName(playerid));
    SendClientMessageToAll(COLOR_YELLOW2, string);
    ServerLog(string);
    PlayerInfo[playerid][pKills] = 0; PlayerInfo[playerid][pDeaths] = 0;
    PlayerInfo[playerid][pCash] = 0; PlayerInfo[playerid][pBank] = 0;
    PlayerInfo[playerid][pTeam] = 0; PlayerInfo[playerid][pLeader] = 0;
    PlayerInfo[playerid][pMember] = 0; PlayerInfo[playerid][pRank] = 1;
    PlayerInfo[playerid][pAdmin] = 0; PlayerInfo[playerid][pSkin] = 0;
    PlayerInfo[playerid][pFSkin] = 0; PlayerInfo[playerid][pLevel] = 0;
    PlayerInfo[playerid][pKnastzeit] = 0; PlayerInfo[playerid][pKnast] = 0;
    PlayerInfo[playerid][pJailed] = 0; PlayerInfo[playerid][pJPoints] = 0;
    PlayerInfo[playerid][pFPoints] = 0; PlayerInfo[playerid][pWanteds] = 0;
    PlayerInfo[playerid][pDrogen] = 0; PlayerInfo[playerid][pTelefonnummer] = 0;
    PlayerInfo[playerid][pTelefon] = 0; PlayerInfo[playerid][pTelefonstatus] = 0;
    PlayerInfo[playerid][pTelefonbatterie] = 0; PlayerInfo[playerid][pTelefonabo] = 0;
    PlayerInfo[playerid][pTelefonbuch] = 0; PlayerInfo[playerid][pTelefonladegeraet] = 0;
    PlayerInfo[playerid][pAutoLiz] = 0; PlayerInfo[playerid][pBikeLiz] = 0;
    PlayerInfo[playerid][pFlugLiz] = 0; PlayerInfo[playerid][pWaffLiz] = 0;
    PlayerInfo[playerid][pAnglLiz] = 0; PlayerInfo[playerid][pBootLiz] = 0;
    PlayerInfo[playerid][pLKWLiz] = 0; PlayerInfo[playerid][pKopfgeld] = 0;
    PlayerInfo[playerid][pOpfer] = 999; PlayerInfo[playerid][pAuftrag] = 0;
    PlayerInfo[playerid][pMacher] = 999; PlayerInfo[playerid][pKey] = 1;
    PlayerInfo[playerid][pJob] = 0; PlayerInfo[playerid][pDrinkingCount] = 0;
    PlayerInfo[playerid][pDrinkingType] = 0; PlayerInfo[playerid][pFAnzahl] = 0;
    PlayerInfo[playerid][pKennzeichen1] = 0; PlayerInfo[playerid][pKennzeichen2] = 0;
    PlayerInfo[playerid][pInCar] = 0; PlayerInfo[playerid][pHAnzahl] = 0;
    PlayerInfo[playerid][pAngelroute] = 0; PlayerInfo[playerid][pFisch] = 0;
    PlayerInfo[playerid][pTutorial] = 0;
    Woof[playerid] = -1; WooX[playerid] = -1;
    SetPlayerCameraPos(playerid, -2668.5005, 1420.0167, 912.4063);
    SetPlayerCameraLookAt(playerid, -2666.1284, 1423.0178, 912.4063);
    new mat[256]; format(mat, sizeof(mat),"/Spieler/%s.cer",ReadName(playerid));
    if(!fexist(mat))
    {
    gPlayerAccount[playerid] = 0;
    JB_GivePlayerMoney(playerid, (START_CASH/2));
    PlayerInfo[playerid][pBank] = START_BANK;
    PlayerInfo[playerid][pTeam] = 0;
    PlayerInfo[playerid][pLeader] = 0;
    PlayerInfo[playerid][pMember] = 0;
    PlayerInfo[playerid][pRank] = 1;
    PlayerInfo[playerid][pAdmin] = 0;
    PlayerInfo[playerid][pSkin] = 0;
    PlayerInfo[playerid][pFSkin] = 0;
    PlayerInfo[playerid][pLevel] = 1;
    SendClientMessage(playerid, COLOR_WHITE, " ");
    SendClientMessage(playerid, COLOR_YELLOW2, "Du hast noch keinen Account. Bitte fülle folgendes aus:");
    new s[128];
    format(s,sizeof(s),"Wilkommen %s!\n\nTippe hier dein Passwort ein:",ReadName(playerid));
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Register Fenster",s,"Registrieren","Abbrechen");
    }
    else
    {
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, COLOR_WHITE, " ");
    SendClientMessage(playerid, COLOR_YELLOW2, "Du hast bereits einen Account. Bitte tippe dein Passwort ein:");
    new s[128];
    format(s,sizeof(s),"Wilkommen %s!\n\nTippe hier dein Passwort ein:",ReadName(playerid));
    ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Login Fenster",s,"Einloggen","Abbrechen");
    }
    }


    PlayerProps[playerid] = 0;
    Logged[playerid] = 0;
    EarningsForPlayer[playerid] = 0;
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    for(new propid; propid < PropertiesAmount; propid++)
    {
    if(PropInfo[propid][PropIsBought] == 1)
    {
    if(strcmp(PropInfo[propid][PropOwner], pName, true)==0)
    {
    EarningsForPlayer[playerid] += PropInfo[propid][PropEarning];
    PlayerProps[playerid]++;
    }
    }
    }
    if(PlayerProps[playerid] > 0)
    {
    new str[128];
    format(str, 128, "Du besitzt momentan %d Business. Gebe für Infos darüber /biz ein", PlayerProps[playerid]);
    SendClientMessage(playerid, COLOR_GREEN, str);
    }
    return 1;
    }


    Hier das OnPlayerUpdate, welches den aktuellen Geldstand ausliesst und in pCash abspeichert.


    PlayerInfo[playerid][pCash] = JB_GetPlayerMoney(playerid);


    MfG dUDA

    Hallo


    Ich möchte mich nochmals versichern, dass das ganze Tuning eines Autos aus folgenden "Komponenten besteht". Wenn ich diese abspeichere, sollten dann alle Tuningteile berücksichtig sein. Was mich verwirt, ist, dass bei einigen Systemen 17 Sachen und bei anderen 14 Sachen vorkommen.


    Farbe1
    Farbe2
    Paintjob
    0 - CARMODTYPE_SPOILER
    1 - CARMODTYPE_HOOD
    2 - CARMODTYPE_ROOF
    3 - CARMODTYPE_SIDESKIRT
    4 - CARMODTYPE_LAMPS
    5 - CARMODTYPE_NITRO
    6 - CARMODTYPE_EXHAUST
    7 - CARMODTYPE_WHEELS
    8 - CARMODTYPE_STEREO
    9 - CARMODTYPE_HYDRAULICS
    10 - CARMODTYPE_FRONT_BUMPER
    11 - CARMODTYPE_REAR_BUMPER
    12 - CARMODTYPE_VENT_RIGHT
    13 - CARMODTYPE_VENT_LEFT


    Sollten dann alle Sachen abgespeichert werden ? Ich frage einfach mit GetVehicleComponentInSlot die Zahl ab und speichere sie dann, beim (Re)Spawn wird es dann ans Auto angebaut.
    MfG dUDA

    Hallo


    Ein doppeltes Komma sieht doch nach einem Fehler mit dem Besitzer oder dem Biz-Namen aus ? Ich denke, du könntest ein falsches Split oder den Namen garnich reingeschrieben haben, wenn das Biz erstellt worden ist.


    MfG dUDA

    Hallo


    Weisst du, Leute wie du (nicht negativ gemeint), wissen wie sowas geht, aber wenn ich von sowas keine Kenntnis habe und mir eh alles selber aneignen muss, kommt man halt nicht immer oder nicht immer so schnell auf die "beste" Möglichkeit. Jeder macht Fehler, vor allem am Anfang (eines neuen Gebietes) ;)


    MfG dUDA


    //Edit
    Irgendwie geht das mit der Datenbank jetzt nicht, habe sie gelöscht, jedoch wird sie jetzt nicht mehr erstellt, was sie ja sollte,wenn sie nicht existiert ?


    //Edir 2
    Eben die Fehlermeldung wegen der nicht existierenden DB, aber beim einten Fehler hackts doch auch rum ?
    [17:52:22] [MySQL] Connected (0) to samp1111 @ Localhost via UNIX socket.
    [17:52:22] [MySQL] Version 5.1.41-3ubuntu12.6.
    [17:52:22] [MySQL] Error (0): Failed to exeute query. 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 '' at line 1.
    [17:52:22] [MySQL] Error (0): Failed to exeute query. Table 'samp1111.Vehicles' doesn't exist.
    [17:52:22] [MySQL] Error (0): Function: mysql_store_result called when no prior successful query executed. Table 'samp1111.Vehicles' doesn't exist.
    [17:52:22] [MySQL] Error (0): Function: mysql_num_rows called when no result stored. Table 'samp1111.Vehicles' doesn't exist.


    Ich denke das Problem ist, dass das query, welches ich am Anfang benutzt habe, nicht mehr "vorhanden" ist, sondern durch die 2 Strings von BugScripter ersetzt ist, welche doch aber nicht beide geladen werden ?

    Hallo


    Wenn ich als FBI Member in ein Cop Auto (CarFraktion = 1) einsteige, wirft es mich nicht raus ???
    Schaus genauer an, weiss nochnicht ob es wirklich an deiner Lösung liegt, warum geht das eigentlich nicht alles normal ? Schreibt MySQL eine maximale String-Länge vor oder wie ?


    MfG dUDA

    Huhu


    Ja, wie kann ich den in 2 Teile teilen ? Ist ja nicht der Sinn ^^


    //Edit:
    Das soll rein


    mysql_query("CREATE TABLE IF NOT EXISTS `Vehicles` \
    (`CarID` INT NOT NULL,\
    `CarFraktion` INT NOT NULL,\
    `CarJob` INT NOT NULL,\
    `CarNoob` INT NOT NULL,\
    `Model` INT NOT NULL,\
    `Locked` INT NOT NULL,\
    `CarVerwahrt` INT NOT NULL,\
    `CarTunebar` INT NOT NULL,\
    `CarX` FLOAT NOT NULL,\
    `CarY` FLOAT NOT NULL,\
    `CarZ` FLOAT NOT NULL,\
    `CarA` FLOAT NOT NULL,\
    `AdacX` FLOAT NOT NULL,\
    `AdacY` FLOAT NOT NULL,\
    `AdacZ` FLOAT NOT NULL,\
    `AdacA` FLOAT NOT NULL,\
    `Color1` INT NOT NULL,\
    `Color2` INT NOT NULL,\
    `Price` INT NOT NULL,\
    `Sell` INT NOT NULL,\
    `Owner` TEXT NOT NULL);");

    Hallo


    Ich habe etwas im MySQL Bereich verändert und jetzt spuckt es einen Error in einer Zeile aus, in der ich nichts gemacht habe, hat da jemand eine Ahnung ?


    public OnGameModeInit() // 719
    {
    SetTimer("ConnectionMySQL",2000,1);
    mysql_init();
    if(mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)==0)
    {
    SendRconCommand("exit");
    }
    else
    {
    //730
    mysql_query("CREATE TABLE IF NOT EXISTS `Vehicles` \
    (`CarID` INT NOT NULL,\
    `CarFraktion` INT NOT NULL,\
    `CarJob` INT NOT NULL,\
    `CarNoob` INT NOT NULL,\
    `Model` INT NOT NULL,\
    `Locked` INT NOT NULL,\
    `CarVerwahrt` INT NOT NULL,\
    `CarTunebar` INT NOT NULL,\
    `CarX` FLOAT NOT NULL,\
    `CarY` FLOAT NOT NULL,\
    `CarZ` FLOAT NOT NULL,\
    `CarA` FLOAT NOT NULL,\
    `AdacX` FLOAT NOT NULL,\
    `AdacY` FLOAT NOT NULL,\
    `AdacZ` FLOAT NOT NULL,\
    `AdacA` FLOAT NOT NULL,\
    `Color1` INT NOT NULL,\
    `Color2` INT NOT NULL,\
    `Price` INT NOT NULL,\
    `Sell` INT NOT NULL,`Owner` TEXT NOT NULL);");
    } //752
    return 1; //753
    }


    C:\Users\X\Desktop\dudalus236.pwn(748) : error 075: input line too long (after substitutions)
    C:\Users\X\Desktop\dudalus236.pwn(749) : error 027: invalid character constant
    C:\Users\X\Desktop\dudalus236.pwn(749) : error 017: undefined symbol "CREATE"
    C:\Users\X\Desktop\dudalus236.pwn(749) : error 017: undefined symbol "TABLE"
    C:\Users\X\Desktop\dudalus236.pwn(749) : fatal error 107: too many error messages on one line


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



    5 Errors.


    MfG dUDA

    Hallo


    Wenn ich unter OnGameModeInit LoadProperties() aktiv habe und ein Standart stock habe, kommt ein Error, also kommentiere ich das split aus und es geht ohne Errors. Jedoch wird dann das Laden aller Sachen bei dem Aufruf des stockLoadProperties() abgebrochen, wa snnicht schöne Folgen hat. Ich tippe eben darauf, das ein split, was auch so ist, in der Junkbuster Include vorkommt und diese sich schneiden - ich habe also das split wieder entkommentiert und es umbenannt. Nun ladet er alles problemlos, jedoch das Businesssystem nicht:


    stock LoadProperties()
    {
    if(fexist("Business/BusinessInfo.txt"))
    {
    CountProperties();
    new Argument[9][70];
    new entry[256], BoughtProps;
    new File: propfile = fopen("Business/BusinessInfo.txt", io_read);
    if (propfile)
    {
    for(new id; id<PropertiesAmount; id++)
    {
    fread(propfile, entry);
    split2(entry, Argument, ',');
    format(PropInfo[id][PropName], 64, "%s", Argument[0]);
    PropInfo[id][PropX] = floatstr(Argument[1]);
    PropInfo[id][PropY] = floatstr(Argument[2]);
    PropInfo[id][PropZ] = floatstr(Argument[3]);
    PropInfo[id][PropValue] = strval(Argument[4]);
    PropInfo[id][PropEarning] = strval(Argument[5]);
    format(PropInfo[id][PropOwner], MAX_PLAYER_NAME, "%s", Argument[6]);
    PropInfo[id][PropIsBought] = strval(Argument[7]);
    PropInfo[id][PropUnbuyableTime] = strval(Argument[8]);
    PropInfo[id][PickupNr] = CreatePickup(1273, 1, PropInfo[id][PropX], PropInfo[id][PropY], PropInfo[id][PropZ]);
    if(PropInfo[id][PropIsBought] == 1)
    {
    BoughtProps++;
    }
    }
    fclose(propfile);
    }
    }
    }


    forward split2(const strsrc[], strdest[][], delimiter);
    public split2(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc)){
    if(strsrc[i]==delimiter || i==strlen(strsrc)){
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }


    Wäre sehr froh, wenn jemand eine Lösung finden würde, da gewisse User langsam unruhig werden ;)
    MfG dUDA

    Hallo


    Ohne Gegenleistung oder Ähnliches wirst Du höchstwahrscheinlich keine solche Person finden, denn überlege dir mal, warum sollte jemand seine Zeit für dich opfern (Nicht böse gemeint ;) )
    Wenn, dann musst Du eine Gegenleistung in irgendeiner Art bringen oder du postest einfach deine Fragen klar und deutlich, fp jeden verständlich im Forum, es wird dir, sofern man draus kommt, sicher jemand helfen ;)


    MfG dUDA