Beiträge von Shenjushka

    Joa :D


    Ehm hab es s gemacht.

    format(query, sizeof(query), "INSERT INTO `staatsgebaeude` (`GebaeudeName`, `PosX`, `PosY`, `PosZ`, `Interior`, `VirtuelleWorld`, `Oeffnungszeiten`, `Schliesszeiten`, `Erstellt`) VALUES ('%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d', 1)", gebaeudenamen,x,y,z,int,world,opentime,closetime);
    mysql_query(query);
    return LadeSGebaeude(i);


    Es funktioniert auch, jedoch Lädt er es nicht sofort neu, nur wenn ich den Server neustarte, dann liest er es von der Datenbank ab und Erstellt meinen Pickup.


    Er meckert weil es schon einen Eintrag mit der ID 0 gibt. Setz mal deinen Primarykey als AUTO INCREMENT, dann sollte alles funktionieren.


    Oke gemacht, jetzte meckert er nirgends rum, jedoch setzt er kein "Erstellt", das heißt da wird bei mir auch kein Pickup.


    stock ErstelleSGebaeude(Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime)
    {
    new query[256];
    for(new i = 1; i <MAX_STAATSGEBAEUDE; i++){
    format(query, sizeof(query), "INSERT INTO `staatsgebaeude` (`GebaeudeName`, `PosX`, `PosY`, `PosZ`, `Interior`, `VirtuelleWorld`, `Oeffnungszeiten`, `Schliesszeiten`) VALUES ('%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d')", gebaeudenamen,x,y,z,int,world,opentime,closetime);
    mysql_query(query);
    StaatsInfo[i][Erstellt] = 1; //Dieser Wert wird nicht gespeichert bzw. in die Tabelle eingetragen.
    printf("Name: %s ; X: %f ; Y: %f ; Z: %f ; Interior: %d ; World: %d ; Oeffnungszeiten: %d ; Schliesszeiten: %d",gebaeudenamen,x,y,z,int,world,opentime,closetime);
    return LadeSGebaeude(i);
    }
    return true;
    }

    Joa, hab selbst jetzte alles gefunden die Schreibfehler, jedoch meckert er schon bei der Erstellung.


    [06:26:24] CMySQLHandler::Query(INSERT INTO `staatsgebaeude` (`GebaeudeName`, `PosX`, `PosY`, `PosZ`, `Interior`, `VirtuelleWorld`, `Oeffnungszeiten`, `Schliesszeiten`) VALUES ('Test', '1059.564208', '-289.121398', '73.992187', '1', '0', '3', '24')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'PRIMARY')


    Nur noch das crashed.

    ocmd:createsgebaeude(playerid,params[])
    {
    new Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime;
    new Zeit = gettime();
    if(sscanf(params,"sdddd",gebaeudenamen,int,world,opentime,closetime))return SendClientMessage(playerid,ROT,"FEHLER:/createsgebaeude [GEBAEUDENAME] [INT-NR] [V-WELT] [OpenTime] [CloseTime]");
    if(int < 1 || int > 3)return SendClientMessage(playerid,ROT,"FEHLER:Die INTERIOR-NUMMER muss zwischen 1 - 3 liegen!");
    if(Zeit < 0 || Zeit < 24)return SendClientMessage(playerid,ROT,"FEHLER:Die LADEN-ZEITEN müssen zwischen 0 - 24Uhr liegen!");
    GetPlayerPos(playerid,x,y,z);
    ErstelleSGebaeude(x,y,z,gebaeudenamen,int,world,opentime,closetime);
    switch(int){
    case 2: SetPlayerMapIcon(playerid,int,x,y,z,38,0,MAPICON_LOCAL);
    case 3: SetPlayerMapIcon(playerid,int,x,y,z,52,0,MAPICON_LOCAL);
    case 4,5: SetPlayerMapIcon(playerid,int,x,y,z,30,0,MAPICON_LOCAL);
    }
    return 1;
    }


    Hier is der ganze Befehl, da wähle ich auch die V-World aus.


    Könntest du uns eventuell einen Auszug des MySQL-Logs liefern?
    Eventuell findet man dort genauere Informationen darüber, wieso er dir den Datensatz nicht in die Tabelle schreiben will.


    Die Logdatei sollte sich in deinem Hauptverzeichnis des SA:MP-Serverordners befinden.


    Habe dazu nichts gefunden, aber ich kann es gerne mal printen und dann ein Screen machen.

    Guten Morgen liebe Breadfish User,


    da ich keine lust mehr auf die Speicherart "dini" habe, habe ich versucht mein Dynamisches Haussystem bzw. Staatsgebaeude System umzuschreiben.
    Jedoch funktioniert es nicht so wie ich es will.


    Wenn ich Ingame bin, habe ich meine Standartbefehle die Funktionieren, jedoch er Erstellt & Speichert diese nicht in der MySQL - Tabelle.
    Ich benutze das MySQL Plugin, von "maddins Tutorial".


    Hier mal der Code:


    Hiermit erstelle ich das Gebäude...
    ocmd:createsgebaeude(playerid,params[])
    {
    new Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime;
    new Zeit = gettime();
    if(sscanf(params,"sdddd",gebaeudenamen,int,world,opentime,closetime))return SendClientMessage(playerid,ROT,"FEHLER:/createsgebaeude [GEBAEUDENAME] [INT-NR] [V-WELT] [OpenTime] [CloseTime]");
    if(int < 1 || int > 3)return SendClientMessage(playerid,ROT,"FEHLER:Die INTERIOR-NUMMER muss zwischen 1 - 3 liegen!");
    if(Zeit < 0 || Zeit < 24)return SendClientMessage(playerid,ROT,"FEHLER:Die LADEN-ZEITEN müssen zwischen 0 - 24Uhr liegen!");
    GetPlayerPos(playerid,x,y,z);
    ErstelleSGebaeude(x,y,z,gebaeudenamen,int,world,opentime,closetime);
    switch(int){
    case 2: SetPlayerMapIcon(playerid,int,x,y,z,38,0,MAPICON_LOCAL);
    case 3: SetPlayerMapIcon(playerid,int,x,y,z,52,0,MAPICON_LOCAL);
    case 4,5: SetPlayerMapIcon(playerid,int,x,y,z,30,0,MAPICON_LOCAL);
    }
    return 1;
    }


    Hier wird es Erstellt...
    stock ErstelleSGebaeude(Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime)
    {
    new query[256];
    for(new i = 1; i <MAX_STAATSGEBAEUDE; i++){
    format(query, sizeof(query), "INSERT INTO `staatsgebaeude` (`GebaeudeName`, `PosX`, `PosY`, `PosZ`, `Interior`, `VirtuelleWorld`, `Oeffnungszeiten`, `Schliesszeiten`) VALUES ('%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d')", gebaeudenamen,x,y,z,int,world,opentime,closetime);
    mysql_query(query);
    StaatsInfo[i][Erstellt] = 1;
    return LadeSGebaeude(i);
    }
    return true;
    }


    Hier wird es wieder geladen...
    stock LadeSGebaeude(staatsid)
    {
    new StaatsDatei[64];
    format(StaatsDatei,64,"%d",staatsid);
    format(StaatsInfo[staatsid][GebaeudeNamen],28,mysql_GetString("staatsgebaeude","GebaeudeName","ID",StaatsDatei));
    StaatsInfo[staatsid][PosX] = mysql_GetFloat("staatsgebaeude","PosX","ID",StaatsDatei);
    StaatsInfo[staatsid][PosY] = mysql_GetFloat("staatsgebaeude","PosY","ID",StaatsDatei);
    StaatsInfo[staatsid][PosZ] = mysql_GetFloat("staatsgebaeude","PosZ","ID",StaatsDatei);
    StaatsInfo[staatsid][Interior] = mysql_GetInt("staatsgebaeude","Interior","ID",StaatsDatei);
    StaatsInfo[staatsid][World] = mysql_GetInt("staatsgebaeude","VirtuelleWorld","ID",StaatsDatei);
    StaatsInfo[staatsid][OpenTime] = mysql_GetInt("staatsgebaeude","Oeffnungszeiten","ID",StaatsDatei);
    StaatsInfo[staatsid][CloseTime] = mysql_GetInt("staatsgebaeude","Schliesszeiten","ID",StaatsDatei);
    StaatsInfo[staatsid][Erstellt] = mysql_GetInt("staatsgebaeude","Erstellt","ID",StaatsDatei);
    if(StaatsInfo[staatsid][Erstellt] == 1){
    StaatsInfo[staatsid][Pickup] = CreatePickup(1559,23,StaatsInfo[staatsid][PosX],StaatsInfo[staatsid][PosY],StaatsInfo[staatsid][PosZ],0);


    new string[196],string2[196];
    format(string,196,"{FFFFFF}Gebäude: {0080FF}%s\n{FFFFFF}Öffnungszeiten: {0080FF}%i {FFFFFF}- {0080FF}%i\n{FFFFFF}Eingang: {0080FF}ENTER-TASTE",StaatsInfo[staatsid][GebaeudeNamen],StaatsInfo[staatsid][OpenTime],StaatsInfo[staatsid][CloseTime]);


    format(string2,196,"{FFFFFF}Gebäude: {0080FF}%s\nAusgang: ENTER-TASTE",StaatsInfo[staatsid][GebaeudeNamen]);
    }
    return 1;
    }


    Ich hoffe mir kann geholfen werden.


    - YizOP_

    Mal etwas eine andere Vorstellung, werde zwar den Server nicht testen, aber viel Erfolg!


    Vorstellung: 8/10 - Dennoch fehlen noch ein paar kleinigkeiten, beispiel mehr Vorstellen vom Server, wieso man genau zu "Euch" kommen sollte.
    Server: - / - - Wie oben geschrieben, werde ich den Server nicht testen, aus Zeitlichen Gründen.
    Forum: - / - - Zwar keins Vorhanden, aber man könnte trotzdem eins anlegen, auch wenn es "nur" ein Deathmatch Server gibt, denn es gibt immer was wichtiges was
    man im Forum schreiben kann.



    Mit freundlichen Grüßen


    - YizOP_

    Guten Tag liebe Breadfisher,


    ich hab eine Art Dynamic Businesssystem und habe ein Problem mit meinen Ein & Ausgänge mit der Enter - Taste.
    Beim Eingang ist es kein Problem, da funktioniert es, aber wenn ich wieder rausmöchte funktioniert es nicht mehr.


    Hier mal der Code:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys&16){ //FUNKTIONIERT
    for(new i = 1; i <MAX_STAATSGEBAEUDE; i++){
    if(IsPlayerInRangeOfPoint(playerid,5,StaatsInfo[i][PosX],StaatsInfo[i][PosY],StaatsInfo[i][PosZ])){
    new stunde, minute, sekunde;
    gettime(stunde, minute, sekunde);
    if(stunde >= StaatsInfo[i][OpenTime] && stunde < StaatsInfo[i][CloseTime]){
    new innenraum = StaatsInfo[i][Interior];
    SetPlayerPos(playerid,GInt[innenraum][SpawnX],GInt[innenraum][SpawnY],GInt[innenraum][SpawnZ]);
    SetPlayerInterior(playerid,GInt[innenraum][Int]);
    SetPlayerVirtualWorld(playerid,-1);
    inStaatsGebaeude[playerid] = i;
    }
    else{
    SendClientMessage(playerid,ROT,"FEHLER:Dieses Staatsgebaeude ist zurzeit geschlossen!");
    }
    }
    }
    }
    if(newkeys&16){ //FUNZT NED
    if(inStaatsGebaeude[playerid] == -1){
    new i = inStaatsGebaeude[playerid];
    new Innenraum = StaatsInfo[i][Interior];
    new name[MAX_PLAYER_NAME];
    if(IsPlayerInRangeOfPoint(playerid,10,GInt[Innenraum][SpawnX],GInt[Innenraum][SpawnY],GInt[Innenraum][SpawnZ])){
    GetPlayerName(playerid,name,sizeof name);
    SetPlayerPos(playerid,StaatsInfo[i][PosX],StaatsInfo[i][PosY],StaatsInfo[i][PosZ]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    inStaatsGebaeude[playerid] = -1;
    }
    }
    }
    return 1;
    }


    Wenn ich per Befehle rausmöchte, funkitoniert es ebenfalls.
    Code:


    ocmd:exit(playerid,params[])
    {
    if(inStaatsGebaeude[playerid] == -1)return SendClientMessage(playerid,ROT,"FEHLER:Du bist in keinem Laden!");
    new i = inStaatsGebaeude[playerid];
    new Innenraum = StaatsInfo[i][Interior];
    if(IsPlayerInRangeOfPoint(playerid,10,GInt[Innenraum][SpawnX],GInt[Innenraum][SpawnY],GInt[Innenraum][SpawnZ])){
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    SetPlayerPos(playerid,StaatsInfo[i][PosX],StaatsInfo[i][PosY],StaatsInfo[i][PosZ]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    inStaatsGebaeude[playerid] = -1;
    }
    return 1;
    }


    Hoffe mir wird geholfen!


    Danke im vorraus.

    Sehr geehrte Brotfische,


    auch Fortgeschrittene Mitglieder haben Probleme. :D Nun gut, habe kein großes Problem sondern ein etwas kleineres Problem.
    Unwzwar mit dem Geldspeichern-/laden mit dini. Wenn ich mir Geld gebe und auslogge wird es gespeichert. Wenn ich wieder raufconnecte zeigt mein Textdraw die richtige Zahl an Geld an,
    aber die Geldanzeige (von GTA) verdoppelt sich dann automatisch.


    Bild:
    Bild 1


    Scriptzeile:
    So sieht es bei mir aus:


    stock AccountSpeichern(playerid)
    {
    new pAccount[64], string[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(pAccount,sizeof(pAccount),"/SpielerAccount/%s.txt",SpielerName);
    if(dini_Exists(pAccount)){
    dini_IntSet(pAccount,"SpielerGeld",GetPlayerMoney(playerid));
    }
    return 1;
    }


    stock AccountLaden(playerid)
    {
    new pAccount[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(pAccount,sizeof(pAccount),"/SpielerAccount/%s.txt",SpielerName);
    if(dini_Exists(pAccount)){
    GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
    SpielerInfo[playerid][pGeld] = dini_Int(pAccount,"SpielerGeld");
    }
    return 1;
    }


    Hoffe mir kann jemand helfen.
    Danke im vorraus!

    Könnte dir den "FX 8150 Bulldozer" empfehlen und dazu noch 8GB Ram Arbeitsspeicher oder evtl. den "Intel® Core™ i5-3570K, CPU" und da halt 8 GB Arbeitsspeicher.


    FX 8150 Bulldozer & 8GB Ram:
    - 167,90 €
    - ca. 50€


    i5-3570K & 8GB Ram:
    - 214,90 €
    - ca. 50€


    Die Preise habe ich bei "www.kmcomputer.de" nachgeguckt, da ich diesen Laden am besten finde. =)


    Stimmt, das geht ja auch, man kann das auch zu Hause machen, aber ob es das wert ist ...?


    Eher abratend, denn bei sowas kann man echt vieles kaputt machen. Und machst du es bei einem Profi und macht er was kaputt, muss er alles zurückerstatten. :)



    Laptop's sind sogut wie garnicht fürs Spielen gedacht. Obwohl es "Gamer Laptop" genannt wird erreicht man nicht mal ansatzweise die Leistung eines PC's.
    Wenn du wirklich ohne Probleme spielen möchtest würde ich den Laptop verkaufen und einen richtigen Rechner holen.


    Das muss ich LuLuu recht geben. :D


    Der Wählbalken ist nicht anklickbar, er hat garantiert nur eine.


    @yizop_: Nope, ist meistens festgelötet.


    Nagut, kommt drauf an wie es festgelötet ist. :) Deswegen machen es meist Profis, die löten das ab & dann löten die das andere drauf.

    Solche Laptops haben meist 2 Grafikkarten. Halt einmal der Grafikkartenchip & einmal eine normale Grafikkarte. So war es bei meinem damaligen Laptop, trotzdem hat er nichts gerissen.


    EDIT: Man kann die Grafikkarten ausbauen und umtauschen, aber da gibt man soviel Kohle aus. :D