Beiträge von Unique!

    Im Log war nichts. Habe das ganze aufgerufen, in meiner funktion 'EndServer' Dort war _mainquery und _query bereits definiert, bevor ich SaveHaus aufgerufen habe, habe das weiter nach unten verschoben und jetzt geht es.

    Hallo Breadfish,


    ich habe ein Problem, dass ich mir zurzeit nicht selber erklären kann. Es passiert, wenn ich die Häuser speichern möchte. Er speichert die einfach nicht und geht nur bis zur eins(Siehe Code unten). Es muss also an den Variablen liegen, bloß was ist daran falsch? Hier mal mein Code:


    stock SaveHaus(houseid, _debug = 0) {
    if(HouseInfo[houseid][hCreated] == false)return 0;
    print("1");//Bis hier hin !!!!!
    new _mainquery[2028], _query[314];
    print("2"); // Das schafft er schon nicht mehr.
    format(_query, sizeof _query, "UPDATE yrp_houses SET hName='%s', hPreis='%i', hRent='%i', hRenters='%i', hMaxRent='%i', hOwnerID='%i', hLevel='%i', hX='%f', hY='%f', hZ='%f',",
    HouseInfo[houseid][hName],HouseInfo[houseid][hPreis],HouseInfo[houseid][hRent],HouseInfo[houseid][hRenters],HouseInfo[houseid][hMaxRent],HouseInfo[houseid][hOwnerID],HouseInfo[houseid][hLevel],HouseInfo[houseid][hX],HouseInfo[houseid][hY],HouseInfo[houseid][hZ]);
    printf("3, %s", _query);
    strcat(_mainquery, _query);
    printf("4, %s", _mainquery);
    format(_query, sizeof _query, "hRoomID='%i', hVirtual='%i', hHaveBank='%i', hHaveLocker='%i', hHaveHide='%i', hBank='%i', hWeapon0='%i', hWeapon1='%i', hWeapon2='%i', hWeapon3='%i', hWeapon4='%i',",
    HouseInfo[houseid][hRoomID],HouseInfo[houseid][hVirtual],HouseInfo[houseid][hHaveBank],HouseInfo[houseid][hHaveLocker],HouseInfo[houseid][hHaveHide],HouseInfo[houseid][hBank],HouseInfo[houseid][hWeapon][0],HouseInfo[houseid][hWeapon][1],HouseInfo[houseid][hWeapon][2],HouseInfo[houseid][hWeapon][3],HouseInfo[houseid][hWeapon][4]);
    strcat(_mainquery, _query);
    format(_query, sizeof _query, "hAmmo0='%i', hAmmo1='%i', hAmmo2='%i', hAmmo3='%i', hAmmo4='%i', hHealth='%i', hDrugs='%i', hMats='%i' WHERE hID='%i'",
    HouseInfo[houseid][hAmmo][0],HouseInfo[houseid][hAmmo][1],HouseInfo[houseid][hAmmo][2],HouseInfo[houseid][hAmmo][3],HouseInfo[houseid][hAmmo][4],HouseInfo[houseid][hHealth],HouseInfo[houseid][hDrugs],HouseInfo[houseid][hMats],
    houseid);
    strcat(_mainquery, _query);
    strdel(_query,0,sizeof(_query));
    printf("5, %s", _mainquery);
    mysql_query(MySQL_Connection, _mainquery);
    print("6");
    if(_debug == 1) printf(" - Haus %i wurde gespeichert.", houseid);
    return 1;
    }


    Bevor ich die Datenbank umbenannt hatte, hatte es funktioniert 8| iwie misteriös.


    MfG
    Adrian

    Ich habe mir das mit den Steuern etc. schon gut durchdacht, nur ist halt meine Frage, wie ich das Business-System gestalten werde. Es gibt sag ich mal das "Standard"-System, welches sich ja auch meiner Meinung nach bewehrt. Jedoch wollte ich einfach mal nur andere Meinungen nun damit reinziehen und vielleicht hier auch die ein oder anderen Ideen sammeln, die ich dann auch umsetzen würde.

    Hallo Brotfische,


    ich weiß, es gibt schon sehr viele solcher Threads, habe auch schon welche durchstöbert..
    Na gut, um auf das eigentliche Thema zurückzukommen, fange ich mal an. Ich bin gerade an einem Business-System dran, da ich dies auch das erste mal mache, wollte ich euch mal fragen, was ein Business-System haben sollte, damit die Spieler auch nutzen davon haben und "Spaß". Ich habe bereits ein Konzept zu dem System von einem Kumpel, möchte jedoch auch von den SA:MP Spielern wissen, was ihr "benötigt" oder gerne sehen würdet. Mir ist eigentlich sehr wichig, dass der Server auf Ideen von Spielern aufgebaut wird, weswegen ich nun hier auch Frage.
    Es wäre nett, wenn ihr ein paar grobe Ideen hier lassen würdet, wenn nicht, werde ich dem Konzept des Freundes folgen und dieses umsetzen.


    Fals ihr mehr wissen wollt, fragt einfach.


    Mit freundlichen Grüßen
    Adrian Rodriguez

    Hallo alle zusammen,


    da ich mein Passwort vergessen habe, und mich dadurch nicht an meinem Laptop anmelden konnte, habe ich die Kennwort vergessen Funktion genutzt. Leider bekomme ich keine E-Mail und kann so mein Passwort nicht zurücksetzen. Habe es glaub ich jetzt schon 3 mal probiert, es kommt aber nichts. Habe Googlemail, mehr ist dazu eigentlich auch nicht zu sagen.


    Ich hoffe das Problem wird demnächst behoben.
    Mit freundlichen Grüßen
    Adrian Rodriguez


    Wenn es nun so mache:
    new _tax = _price*0.19;
    Bekomm ich nen Warning: tag mismatch


    Ich würde lieber so rechnen, aber es funktioniert so leider nicht.

    Hallo Community,
    ich habe ein kleines Problem mit meinen Rechnung, es kommt einfach 0 raus, ich weiss aber nicht wieso. Leider kann ich ja nicht mit Dezimalzahlen rechnen. Ich möchte folgendes ausrechnen:

    Code
    1000*0,19


    Dabei habe ich folgenden Code:
    1000*(19/100)
    Jedoch funktioniert dies nicht, wie geschrieben, kommt da 0 raus, doch wieso und wie mache ich das, dass 19% abgezogen werden?


    Ich hoffe ihr könnt mir da weiterhelfen.
    Mit freundlichen Grüßen
    Adrian Rodriguez

    Hallo Community,
    ich habe momentan ein Problem mit meinen Script, denn die Umlaute werden komisch angezeigt, ich denk, jeder kennt wie das aussieht. Nun ist die Frage welchen Charset ich nutzen kann, damit sie wieder vernünftig angezeigt werden. Die Datei darf am Ende keine Binär Datei sein, da ich mit meinem Kumpel zusammen am Script arbeite mit Floobits, und dieses, kann keine Binär Dateien verarbeiten. Wie bekomme ich meine Umlaute zu Umlauten? UTF-8 funktioniert ja schonmal nicht.


    Ich hoffe ihr kennt da eine Lösung.


    Mit freundlichen Grüßen
    Adrian Rodriguez

    So, jetzt ist meine Frage, wie ich meine Abfrage so splitte, dass ich alle offenen Tickets in einem Dialog anzeigen kann, meine Abfrage sieht so aus:
    format(_query, sizeof _query, "SELECT * FROM gsr_tickets WHERE tStatus='1' OR tStatus='2'");
    Dies soll dann folgend formatiert werden:

    Code
    [%i] Ticket Ersteller: %s, Status: %s


    %i = Ticket ID

    Hallo Breadfishler,
    ich schreibe gerade mein Ticketsystem, so, dass man es nachher auch im UCP nutzen kann. Meine Frage ist nun, wie ich die Nachrichten von dem Admin und dem Spieler sortieren kann nach dem Datum(In SAMP). Die Tabellenstruktur sieht so aus:

    Code
    CREATE TABLE IF NOT EXISTS `gsr_tickets` (
      `tID` int(11) NOT NULL AUTO_INCREMENT,
      `tOwner` int(11) NOT NULL,
      `tAdmin` int(11) NOT NULL,
      `tStatus` int(11) NOT NULL,
      `tCategory` int(11) NOT NULL,
      `tOText` text NOT NULL,
      `tAText` text NOT NULL,
      PRIMARY KEY (`tID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


    tOText ist hierbei der Text von dem Spieler, wo er immer wieder Antworten zuschreiben können soll, genauso wie tAText, welches der Text vom Administrator ist.
    Das Format solch einer Nachricht sieht so aus: [%i.%i.%i.%i-%i.%i] %s\n
    Dazu ein Beispiel:

    Code
    [01.05.2014-15:54]: Hallo


    Nun ist meine Frage, wie ich die einzelnen Nachrichten splite und dann sortiere nach datum?


    Es wäre super nett, wenn mir einer Helfen könnte.


    Mit freundlichen Grüßen
    Adrian Rodriguez

    Guten Abend Community,
    ich bin gerade dabei mein Ticketsystem zu schreiben und habe gerade ein Problem: Admins können die Tickets per /tickets einsehen, diese sind in einer Liste aufgeführt und zeigen an, ob ein Ticket In Bearbeitung ist oder Offen. Nun ist meine Frage, wenn man auf ein Offenes Ticket klickt, wie ich die Ticket ID dahinter herausbekomme. Ich hatte überlegt, ob man die nicht aus dem string auslesen kann, wenn ich sie mit rein schreibe, aber wie? Hier mal der string, der als listitem angezeigt wird:
    format(_dstring, sizeof _dstring, "%s[%i] Ticket Ersteller: %s, Ticket Frage: %s, Status: %s\n", _dstring, i, PlayerName(TicketInfo[i][tTicketOwner]), TicketInfo[i][tTicketText], _tstat);
    Das %i in den Eckigen klammern, ist die Ticket ID, bloß wie lese ich diese nun aus? Sie kann auch mal über 9 betragen, hat also dann 2 stellen oder auch 3 stellen und da liegt mein Problem, bzw. weiß ich nicht, wie man das ausliest.


    Mit freundlichen Grüßen
    Adrian Rodriguez

    Hallo Community,
    ich wollte gerade mein Tacho ausprobieren, jedoch wird er mir im Spiel nicht angezeigt. Ich weiss auch nicht wieso, und kann es mir nicht erklären. hier erstmal die Textdraws(Schicke nur die variablen):
    new Text:T_StatusBox;
    new Text:T_Box;
    new Text:T_CarName[MAX_PLAYERS];
    new Text:T_KmStand;
    new Text:T_TankStand;
    new Text:T_ZustandStand;
    new Text:T_KmhStand;
    new Text:T_Km[MAX_PLAYERS];
    new Text:T_Tank[MAX_PLAYERS];
    new Text:T_Zustand[MAX_PLAYERS];
    new Text:T_Kmh[MAX_PLAYERS];
    new Text:T_SMotor[MAX_PLAYERS];
    new Text:T_SDoor[MAX_PLAYERS];
    new Text:T_SLight[MAX_PLAYERS];


    Hier ist das public TachoTimer, welches ich auch shcon debugt habe und es kam nichts ungewöhnliches vor:
    public TachoTimer(playerid)
    {
    new _vehicleid = GetPlayerVehicleID(playerid), _speed = GetPlayerSpeed(playerid);
    new _string[69], Float:_vhp, engine, lights, alarm, doors, bonnet, boot, objective;
    new Float:_x, Float:_y, Float:_z, Float:_d, Float:_v;
    GetPlayerPos(playerid, _x, _y, _z);
    if(CarMotor[_vehicleid] == 1) _v = _d / 100 * CarVerbrauch[GetVehicleModel(_vehicleid)-400][Verbrauch], CarTank[_vehicleid] -= _v;
    if(OldPos[playerid][0] != 0.0 && OldPos[playerid][1] != 0.0 && OldPos[playerid][2] != 0.0){
    _d = GetDistanceFromPointToPoint(OldPos[playerid][0],OldPos[playerid][1],OldPos[playerid][2],_x,_y,_z) / 1000.0;
    CarMeter[_vehicleid] += _d;
    }
    OldPos[playerid][0] = _x, OldPos[playerid][1] = _y, OldPos[playerid][2] = _z;
    if(CarMotor[_vehicleid] == 1) {TextDrawSetString(T_SMotor[playerid], "~g~Motor");} else {TextDrawSetString(T_SMotor[playerid], "~r~Motor");}
    if(CarLight[_vehicleid] == 1) {TextDrawSetString(T_SLight[playerid], "~g~Licht");} else {TextDrawSetString(T_SLight[playerid], "~r~Licht");}
    if(CarLocked[_vehicleid] == 0) {TextDrawSetString(T_SDoor[playerid], "~g~Tueren");} else {TextDrawSetString(T_SDoor[playerid], "~r~Tueren");}
    // ======================================================================
    format(_string, sizeof _string, "%04.1f", CarMeter[_vehicleid]);
    TextDrawSetString(T_Km[playerid], _string);
    format(_string, sizeof _string, "%0.1f/%0.1f", CarTank[_vehicleid], GetGasMax(GetVehicleModel(_vehicleid)));
    TextDrawSetString(T_Tank[playerid], _string);
    format(_string, sizeof _string, "%s", VehicleName[GetVehicleModel(_vehicleid)-400]);
    TextDrawSetString(T_CarName[playerid], _string);print("18");
    format(_string, sizeof _string, "%d", _speed);print("19");
    TextDrawSetString(T_Kmh[playerid], _string);print("20");
    GetVehicleHealth(_vehicleid,_vhp);print("21");
    _vhp = floatdiv(_vhp, 10.0);print("22");
    format(_string, sizeof _string, "%.0f%%", _vhp);
    TextDrawSetString(T_Zustand[playerid], _string);
    // ======================================================================
    TextDrawShowForPlayer(_vehicleid, T_StatusBox);
    TextDrawShowForPlayer(_vehicleid, T_Box);
    TextDrawShowForPlayer(_vehicleid, T_KmStand);
    TextDrawShowForPlayer(_vehicleid, T_TankStand);
    TextDrawShowForPlayer(_vehicleid, T_ZustandStand);
    TextDrawShowForPlayer(_vehicleid, T_KmhStand);
    TextDrawShowForPlayer(_vehicleid, T_CarName[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_Kmh[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_Zustand[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_Km[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_Tank[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_SMotor[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_SLight[playerid]);
    TextDrawShowForPlayer(_vehicleid, T_SDoor[playerid]);
    if(CarTank[_vehicleid] == 0 && CarNoFuel[_vehicleid] == 0){
    GetVehicleParamsEx(_vehicleid ,engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(_vehicleid ,0 , lights, alarm, doors, bonnet, boot, objective);
    SendClientMessage(playerid, COLOR_GREY, " Dein Auto hat kein Sprit mehr.");
    CarMotor[_vehicleid] = 0;
    CarNoFuel[_vehicleid] = 1;
    }
    return 1;
    }


    Bei OnPlayerStateChange wird das ganze gestartet, hier der Teil:
    new newcar = GetVehicleModel(GetPlayerVehicleID(playerid));
    if(newstate == PLAYER_STATE_DRIVER)
    {
    PlayerInfo[playerid][pTachotimer] = SetTimerEx("TachoTimer", 1000, true, "i", playerid);
    Und so wird der Timer gekillt:
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
    KillTimer(PlayerInfo[playerid][pTachotimer]);
    SetPlayerDrunkLevel(playerid, OldDrunkLevel[playerid]);
    TextDrawHideForPlayer(newcar, T_StatusBox);
    TextDrawHideForPlayer(newcar, T_Box);
    TextDrawHideForPlayer(newcar, T_KmStand);
    TextDrawHideForPlayer(newcar, T_TankStand);
    TextDrawHideForPlayer(newcar, T_ZustandStand);
    TextDrawHideForPlayer(newcar, T_KmhStand);
    TextDrawHideForPlayer(newcar, T_CarName[playerid]);
    TextDrawHideForPlayer(newcar, T_Kmh[playerid]);
    TextDrawHideForPlayer(newcar, T_Zustand[playerid]);
    TextDrawHideForPlayer(newcar, T_Km[playerid]);
    TextDrawHideForPlayer(newcar, T_Tank[playerid]);
    TextDrawHideForPlayer(newcar, T_SMotor[playerid]);
    TextDrawHideForPlayer(newcar, T_SLight[playerid]);
    TextDrawHideForPlayer(newcar, T_SDoor[playerid]);
    OldPos[playerid][0] = 0.0, OldPos[playerid][1] = 0.0, OldPos[playerid][2] = 0.0;
    }


    Ich bin am verzweifeln und frage mich, woran es liegt.
    Ich hoffe ihr könnt mir helfen, denn vorher hatte er noch funktioniert, jedoch weis ich nicht, was ich geändert hatte.


    MfG
    Adrian Rodriguez