Biz erstellen mit Besitzer, Hauskasse, Waren

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    Wollte ein BIZ System erstellen, es muss nicht dynamisch sein.
    Ich möchte das man das Geschäft mit Enter betreten kann und das es eine Kasse hat und einen Warenbestand, Ich habe komische gemappte Sachen vor dem Biz http://prntscr.com/iudtgw (den Automaten habe ich selber gemappt) die Bushaltestelle buggt voll in die Wand, habe auch keine Filterscirpts.


    Wie soll ich vorgehen?
    http://prntscr.com/iue58s
    Das habe ich aber wie mache ich das der Besitzer da z.b hingeschrieben wird und die anderen Sachen dann auch, brauche ich eine neue Tabelle in der Datenbank? wo ich Sachen drin speicher?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()

  • brauche ich eine neue Tabelle in der Datenbank?

    Ja, du solltest eine neue Tabelle in der Datenbank erstellen.
    Dort hat dann jedes Biz einen Eintrag, in dem du alle benötigten Infos (Besitzer, Produkte, usw.) speicherst.


    Zu deinem Problem mit den Objekten:
    Die Objekte sind wohl irgendwo in deinem Script untergegangen, normal sind die nämlich nicht dort.

  • Hab alles gecheckt, die Bushalte ist nicht drin und die Telefonzellen auch nicht kommt das von Samp an sich? habe es nämlich in MTA gemodded also den Automaten da z.b


    Und danke das du meine Frage beantwortet hast werde was versuchen


    Mit Datenbank meinst du es so ?
    http://prntscr.com/iuer6y
    Wenn ich in diese reingehe sagt die mir das ich kein Primary Key gesetzt habe, das zweite mal das ich was mit einer Datenbank mache, korrigiert mich ^^


    brauch ich dann z.b ein neues Enum wie dieses Enum von einer anderen Tabelle oder ist das was ganz anderes?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Der Server speichert die Sachen auf der Datenbank wenn der Server stoppt oder nicht nehmen wir an der Server ist 20 Tage an und dann stürzt er irgendwie ab dann wurde ja nichts gespeichert
    Habe auch einen neuen Stock der Serverspeichern heißt der soll dann passieren wenn der Server stoppt wie mache ich das, und wie gesagt wäre es Sinvoll nur am Stop zu speichern?


    Erst einmal habe ich die Sachen von Spielerspeichern kopiert ich habe von MySQL auch alles dementsprechend angepasst, nur wie werde ich das anwenden da steht ja pInfo soll ich was neues erstellen wie bInfo ?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Code
    //Globale Variablen
    new pInfo[MAX_PLAYERS][playerinfo];
    new bInfo[MAX_PLAYERS][playerinfo];
    Code
    stock ServerSpeichern(playerid)
    {
    	new query[256];
    	mysql_format(Handle,query,sizeof(query),"Update `biz` Set `biz`='%d',`waren`='%d',`besitzer`='%d',`bizkasse`='%d' WHERE `ID`='%i'",
    	bInfo[playerid][bbiz],bInfo[playerid][bwaren],bInfo[playerid][bbesitzer],bInfo[playerid][bbizkasse],bInfo[playerid][db_id]);
    	mysql_pquery(Handle,query,"","");
    }

    So richtig? Also kann ich jetzt z.b sagen [playerid][bbizkasse] = 10
    Das mit dem laden schaffe ich dann auch, aber war das jetzt sinnvoll das ich diesen stock Serverspeichern erstellt habe werde Serverladen dann auch erstellen. Und wo benutze ich diesen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Danke schon mal,


    Code
    enum bizid{
    	db_bbiz,
    	db_bwaren,
    	db_bbizkasse,
    	db_bid
    }



    ist doch richtig oder nicht?


    Code
    public OnGameModeExit()
    {
    	ServerSpeichern(bizid);
    	return 1;
    }

    oder soll ich den stock ServerSpeichern erst garnicht nutzen sondern alles unter Spielerspeichern lassen?



    Code
    stock ServerSpeichern(playerid)
    {
    	new query[256];
    	mysql_format(Handle,query,sizeof(query),"Update `biz` Set `biz`='%d',`waren`='%d',`besitzer`='%d',`bizkasse`='%d' WHERE `ID`='%i'",
    	bInfo[bizid][bbiz],bInfo[bizid][bwaren],bInfo[bizid][bbesitzer],bInfo[bizid][bbizkasse],bInfo[bizid][db_id]);
    	mysql_pquery(Handle,query,"","");
    }
    Code
    (1022 -- 1023) : error 017: undefined symbol "bbiz"
    (1019) : warning 203: symbol is never used: "playerid"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Bei ServerSpeichern brauchst du noch eine Schleife, die alle vorhandenen Unternehmen aufruft.
    Diese kannst du entweder unter OnGameModeExit einfügen oder direkt im stock ServerSpeichern.


    Exemplarische Schleife:
    for(new i = 0; i < ANZAHL_UNTERNEHMEN; i++)


    Abhängig davon, wo du die Schleife unterbringst, benötigst du dann einen Parameter (bizid) oder auch nicht.


    PS: Mit playerid hat das gar nichts zu tun.

  • Code
    stock ServerSpeichern()
    {
    for(new i = 0; i < ANZAHL_UNTERNEHMEN; i++)
    {
    [i]	new query[256];
    	mysql_format(Handle,query,sizeof(query),"Update `biz` Set `biz`='%d',`waren`='%d',`besitzer`='%d',`bizkasse`='%d' WHERE `ID`='%i'",
    	bInfo[bizid][bbiz],bInfo[bizid][bwaren],bInfo[bizid][bbesitzer],bInfo[bizid][bbizkasse],bInfo[bizid][db_id]);
    	mysql_pquery(Handle,query,"","");
    [/i]
    }

    Hab was falsch gemacht, habe die [i] falsch angewendet glaube ich

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Hab eine Klammer noch dran gehangen weil es sonst nicht von den Klammern passte

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Würde in der Tabelle, z.B "biz", auch eine "Verknüpfung" zum Spieleracc machen.
    Das bedeutet, falls du in der spieler tabelle auch normal mit ID's funkt, einfach das zum Authentifizierung nutzen, ist meiner Meinung nach am leichtesten.

  • Was ist jetzt mit einer Variable gemeint, ist das jetzt nicht wie viele Unternehme ich habe und ich habe jetzt z.b erst einmal nur 1 also habe ich da 1 hingeschrieben.
    Also, was meinst du mit Authentifizierung, werde unter der Tabelle user eine neue Spalte erstellen die Bizbesitz heißt das wird dann bei dem Bizkauf auf 1 gesetzt damit man nur 1 kaufen kann.
    Dazu noch eine Tabelle die Biz heißt
    wo der Name von dem Biz reingeschrieben wird, ich weiß jetzt nicht ob das kompliziert ist.


    //Edit
    das enum heißt ja bizid
    bbiz ist ja wie das biz heißt


    //Edit
    Hier noch einmal mein Fehler jetzt

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    2 Mal editiert, zuletzt von Jameso ()

  • Hab es eingetragen, jetzt habe ich das hier




    //EDIT
    hier nochmal das Enum nicht das da was falsch ist


    Code
    enum bizid{
    	bbiz,
    	bwaren,
    	bbesitzer,
    	bbizkasse,
    	db_bid
    };

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()