Beiträge von Jeffry

    Dann musts du es so machen:
    mysql_tquery(mysql, "SELECT girogebuehr, girozins, spargebuehr, sparzins FROM banken", "OnBanksLoaded", "");


    forward OnBanksLoaded();
    public OnBanksLoaded()
    {
    new rows = cache_get_row_count();
    for(new i=0; i<rows; i++)
    {
    BankGirGebuehr[i] = cache_get_row_int(i, 0);
    bGirZins[i] = cache_get_row_int(i, 1);
    BankSGebuehr[i] = cache_get_row_int(i, 2);
    bSZins[i] = cache_get_row_int(i, 3);
    }
    return 1;
    }


    Edit:
    DJ Deagle: Das gehört da nicht hin, danke für den Hinweis.

    1.)
    Hast du es schon mal mit SetPlayerSkin versucht? Wenn nicht, dann mach das mal. Wenn das auch nicht geht, dann füge bei OnPlayerSpawn das SetPlayerSkin ein.


    2.)
    Da musst du das Passwort in einer Variable zwischen speichern und den Teil der das Callback aufruft an die gewünschte Stelle setzen. Dann das Passwort wieder übergeben.
    Ich kann dir nicht zeigen wo oder wie, weil der Code der das Callback aufruft nicht dabei ist.

    Mach es so:
    if(ispassenger)
    {
    for(new i=0;i<sizeof(wheelmencar);i++)
    {
    if(vehicleid == wheelmencar[i])
    {
    if(Spieler[playerid][Wanteds] > 0)
    {
    new driverid = -1;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    driverid = i;
    break;
    }
    }
    if(driverid != -1)
    {
    //ID des Fahrers = driverid
    SendClientMessage(playerid,COLOR_GRAD2,"Du bezahlst dem Wheelman schonmal $9000.");
    }
    else
    {
    //Kein Fahrer
    }
    }
    }
    }
    }


    Damit kannst du direkt weiterarbeiten, mit der ID des Fahrers.

    Ich würde es dir so raten, die Box für das Textdraw einzuschalten, und dann das Textdraw mit Box zu erstellen (dann siehst du den auswählbaren Bereich = die Box).
    Wenn du es dann in den Code packst, machst du die Box einfach aus, sprich auf 0.


    Diesen Editor habe ich selbst nie benutzt, daher kann ich dir nicht genau sagen wie und ob es damit geht, aber normalerweise sollte es gehen.

    Wie sieht es aus, wenn du es so schreibst?
    new Peds[37] = {
    101,
    3,
    4,
    5,
    6,
    7,
    14,
    15,
    18,
    19,
    26,
    27,
    29,
    59,
    72,
    80,
    81,
    104,
    106,
    108,
    120,
    121,
    122,
    123,
    147,
    153,
    156,
    167,
    162,
    185,
    186,
    188,
    189,
    203,
    204,
    206,
    264
    };


    //OnGameModeInit
    for(new i = 0; i <= sizeof(Peds)-1; i++)
    {
    AddPlayerClass(Peds[i],1958.3783,1343.1572,1100.3746,269.1425,-1,-1,-1,-1,-1,-1);
    }


    //OnPlayerRequestClass
    public OnPlayerRequestClass(playerid, classid)
    {
    PlayerInfo[playerid][pChar] = Peds[classid];
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, playerid);
    SetPlayerPos(playerid,-690.0348,939.1138,13.6328);
    SetPlayerFacingAngle(playerid,272.3604);
    SetPlayerCameraPos(playerid, -683.4200, 939.6200, 13.9800);
    SetPlayerCameraLookAt(playerid, -684.4200, 939.5600, 13.9400);
    DarfNichtNehmen[playerid] = 0;

    if(classid >= 0 && classid <= 36)
    {
    GameTextForPlayer(playerid, "~y~> ~g~Zivilist ~y~<", 10000, 6);
    PlayerInfo[playerid][pTeam] = 1;
    }
    return 1;
    }

    So sollte es klappen:
    if(strcmp(cmd, "/breakcuff", true) == 0)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cuff [ID/Name]");
    return 1;
    }
    new pID = ReturnUser(tmp), string[145];
    if(IsPlayerConnected(pID))
    {
    if(pID != INVALID_PLAYER_ID)
    {
    if(Cuffed[pID] != 1)
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist NICHT gecufft.");
    }
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 8, x,y,z))
    {
    if(pID == playerid)
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Du kannst dich selber nicht entfesseln.");
    }
    format(string, sizeof(string), "* Beamter %s hat dir Handschellen entfernt.", SpielerName(playerid));
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s Handschellen entfernt.", SpielerName(pID));
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "** Beamter %s hat %s Handschellen entfernt.", SpielerName(playerid), SpielerName(pID));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(pID, "~r~Frei", 2500, 3);
    SetTimerEx("cufftimer",1000*20,0,"i",pID);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist nicht in deiner Nähe.");
    return 1;
    }
    }
    }
    }
    else
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Beamter.");
    }
    return 1;
    }

    Jeffry:
    Hast du temaviver? um mal drüber zu gucken ?


    Geht nicht, jetzt kommt DFB Pokal.


    Aber ich habe in dem ganzen Durcheinander den Fehler gefunden.
    Schreib es so:
    savePlayer(playerid)
    {
    sInfo[playerid][eingeloggt] = 1;
    new query[256];
    format(query,sizeof(query),"UPDATE user SET level='%i',skin='%i',geschlecht='%i',money='%i',alevel='%i',slevel='%i',fraktion='%i',rang='%i',leader='%i',coleader='%i',spawnchange='%i' WHERE id='%i'",
    GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][geschlecht],sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][leader],sInfo[playerid][coleader],sInfo,sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"",""); //Hast du weg gemacht.
    return 1;
    }

    In deinem Log steht wieder nichts von UPDATE, sprich nichts von savePlayer.


    Das hier ist das letzte:
    [18:29:21] [DEBUG] Calling callback "OnPlayerRegister"..


    => Du hast direkt nach der Registration aufgehört (=kein Geschlecht ausgewählt), oder nicht den ganzen Log gepostet.

    Nimm den "root" Benutzer ohne Passwort.


    #define SQL_HOST "127.0.0.1"
    #define SQL_USER "root"
    #define SQL_PASS ""
    #define SQL_DB "samp"


    Das ist in 99% aller Fälle standardmäßig so eingestellt.
    Dein user "samp" wird nicht die richtigen Berechtigungen haben, das ist auf localhost (dein Rechner) so eingestellt, standardmäßig zumindest.
    Deshalb benutze, wie ich oben geschrieben habe, den root - User ohne Passwort, der hat ALLE Berechtigungen. Dem kannst du später auch, je nach Client, ein Passwort geben.

    Du speicherst den Spieler ja auch nicht. Das hatte ich dir bereits gesagt.


    if(dialogid==DIALOG_REGISTER2)
    {
    sInfo[playerid][geschlecht] = listitem+1; // 1 = männlich 2 = weiblich
    sInfo[playerid][regstep] = 0;
    sInfo[playerid][tutpart] = 1;
    SetTimerEx("TutTimer",2000,false,"i",playerid);
    return savePlayer(playerid);
    }
    Schreib es so.


    Wenn es nicht klappt, Log & Code posten.



    EDIT:
    Pr0x: (Nächste Seite): Das hat er doch schon lange gemacht. :wacko: