Beiträge von UzaK

    PHP
    $verbindung = mysql_connect("localhost", "DATENBANKNAME", "PASSWORT");


    ^ Das ist für mich noch etwas fragwürdig - ist dein Benutzername wirklich genau der gleiche wie dein Datenbankname? Ansonsten wäre nämlich "DATENBANKNAME" durch deinen MySQL-Nutzername zu ersetzen. ;)


    Ich glaube er hat die DB-Verbindung einfach geändert fürs Forum.




    Also lieber Chris Parker,



    er sagt das du ein Fehler in der SQL Schreibweise hast, ich habe es ebend schnell probiert und bei mir zickt mysql auch rum wenn ich zu viele Punkte im Tabellen namen habe. Deswegen würde ich einfach wörter mit unterstrichen trennen.



    sprich statt :


    fbi.frak.


    einfach


    fbi_frak

    Hallo Devine,



    wenn das deine erste Homepage ist, dann ist sie nicht schlecht. Allerdings gefällt mir dieses ewige dunkel nicht außerdem sieht es etwas eintönig aus. Sowas kommt aber mit der Zeit. Die Buttons inder Main navbar sehen etwas langweilig aus du hättest sie eher im Stil von den rechts unteren machen sollen.



    Fazit: Gut für den Anfang aber da steckt noch Potenzial.

    Hey,


    bei mir gehen leider nicht alle OCMD Befehle, mir ist es ein rätsel, warum vielleicht könnt ihr mich ja helfen :)



    Diese Befehle gehen einfach nicht:



    ocmd:kick(playerid,params[])
    {
    new pID,reason[64],text[64];
    if(isUserAdmin(playerid,1))
    {
    if(sscanf(params,"us[128]",pID, reason)) return SendClientMessage(playerid,help_ora,"Benutze: /kick [Id/Name] [Text]");
    {
    format(text,sizeof(text), "Server:%s wurde von %s vom Server gekickt. Grund: %s",SpielerInfo[pID],SpielerInfo[playerid][pName],reason);
    SendClientMessageToAll(report_red,text);
    //Kick(pID);
    }
    }
    return 1;
    }


    ocmd:freeze(playerid,params[])
    {
    if(isUserAdmin(playerid,1))
    {
    new pID,string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,help_ora,"/freeze [ID/Name]");
    format(string,sizeof(string),"Info: Spieler %s wurde gefreezed von %s",(pID),(playerid));
    TogglePlayerControllable(pID,0);
    GameTextForPlayer(pID,"~r~|STOP|",5000,0);
    return 1;
    }
    return 1;
    }




    Wiederum dieser schon :




    ocmd:addcar(playerid,params[])
    {
    new Float:vehx,Float:vehy,Float:vehz;
    new vehid,cc1,cc2;
    if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid,help_ora,"/addcar <Vehicle ID> <Farbe 1> <Farbe 2>");
    {
    if(vehid<400||vehid>611)return SendClientMessage(playerid,help_ora,"Bitte gültigen Fahrzeug ID angeben 400-611.");
    SendClientMessage(playerid, help_ora,"Tippe 0 für die Farbe schwarz ein");
    GetPlayerPos(playerid,vehx,vehy,vehz);
    new carid = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
    SetVehicleNumberPlate(carid,"ADMIN");
    PutPlayerInVehicle(playerid, carid, 0);
    SendClientMessage(playerid,help_ora,"Das Admin-Fahrzeug wurde erstellt"); // #dev
    }
    return 1;
    }
    Wenn ich die Befehele Freeze oder Kick eingebe spuckt Crashdetect folgendes aus :




    [04:21:24] Number of vehicle models: 0
    [04:21:36] [debug] Run time error 4: "Array index out of bounds"
    [04:21:36] [debug] Accessing element at index 65535 past array upper bound 499
    [04:21:36] [debug] AMX backtrace:
    [04:21:36] [debug] #0 000012a8 in public ocmd_kick () from script.amx
    [04:21:36] [debug] #1 native CallLocalFunction () [00472260] from samp-server.exe
    [04:21:36] [debug] #2 000002ec in public OnPlayerCommandText () from script.amx



    Ich hoffe ihr könnt mir helfen :)



    €dit: eingerückt

    Guten Morgen :)



    ich glaube ich stelle mich ein bisschen Doof an :S ich habe bei meiner Registration einen Dialog der fragt welches Geschlecht man hat. Je nachdem was man wählt soll man einen anderen Skin haben.
    Ich weiß allerdings nicht wie ich das Scripten soll. Ich habe die Suchfunktion natürlich schon benutzt allerdings nicht produktives gefunden ich wäre euch sehr verbunden wenn ihr mir helfen könntet :)

    Ok,


    Jetzt habe ich nur noch ein Warning:


    script.pwn(507) : warning 213: tag mismatch






    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%f` WHERE `%s` = '%s'", Table, Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat; // <----- Zeiel 507
    }



    PS: wieso klappt die Formatierung bei euch und bei mir nicht ? dafuq?
    PS² : Also ein teil des Fehlers war es sicherlich das ich Foat kleingeschrieben haben daher hat es sich von 3 auf 1 Warn reduziert




    Float klein geschrieben *facepalm*

    Hey,



    ich versuche seit ein paar Stunden schon einen Float aus der Datenbank auszulesen, das speichern ist kein Problem.Die Suche hat leider auch nichts ergeben, vielleicht oder eher hoffentlich könnt ihr mir ja helfen. Di



    mein stock LoadPlayer:



    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pIsBanned] = mysql_GetInt("accounts", "IsBanned", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFraktion] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pRank] = mysql_GetInt("accounts", "Rank", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAdminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosX] = mysql_GetFloat("accounts", "PosX", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosY] = mysql_GetFloat("accounts", "PosY", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][PosZ] = mysql_GetFloat("accounts", "PosZ", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }



    Die Funktion GetFloat:



    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }



    Jetzt ist das Problem das bei LoadPlayer in den Float Zeilen (also PosX PosY und PosZ) immer wieder Tag missmatch als Warning herauskommt. Ich hoffe ihr könnt mir weiterhelfen, da mein Latein mich anscheinend verlassen hat != Gut!




    Danke schonmal im vorraus





    Edit I = Formatierung rausgenommen da es unleserlich war

    Guten Morgen,



    Ich wollte ein Befehl scripten der es mir ermöglicht andere User in eine andere Virtuelle Welt zu setzen. Das Problem liegt aber darin das wenn ich es so mache


    SetPlayerVirtualWorld( Name , vWorld);


    Das der Compiler sagt das die Argumente nicht passen.... kann man bei ersten Argument garkeine Variabel benutzen?



    Mein Code :S




    ocmd:setvi(playerid,params[]){ new Name[128],vWorld; if(isUserAdmin(playerid,1)) { if(sscanf(params,"u[128]i",Name,vWorld))return SendClientMessage(playerid,syntax,"[Tipp]/setvi <name> <Welt>"); { GetPlayerName(playerid,Name,MAX_PLAYER_NAME); SetPlayerVirtualWorld(Name, vWorld); } } return 1;}



    Könnt mir einer dabei behilflich sein, wäre nett :)


    KaZu