Beiträge von German_ScripterHD

    Ich habe nun ExistItems bei LoadItems eingefügt, jedoch funktioniert es immer noch nicht richtig.
    Nun habe ich mir das ganze mal mit der print Funktion ausgeben lassen:


    Bei erstellen der Items:

    C
    [18:10:05] Item: Banane / Itemid: 0 /Item Anzahl: 12 - wurde angelegt.
    [18:10:05] INSERT INTO `server_items` (`itemID`,`itemNumber`,`itemX`,`itemY`,`itemZ`,`itemInteriorid`) VALUES ('0','12','835.929992','-1327.844848','13.435821','0')
    [18:10:12] Item: Steak / Itemid: 1 /Item Anzahl: 7 - wurde angelegt.
    [18:10:12] INSERT INTO `server_items` (`itemID`,`itemNumber`,`itemX`,`itemY`,`itemZ`,`itemInteriorid`) VALUES ('1','7','829.483581','-1324.677246','13.393317','0')
    [18:10:18] Item: Pizza / Itemid: 2 /Item Anzahl: 77 - wurde angelegt.
    [18:10:18] INSERT INTO `server_items` (`itemID`,`itemNumber`,`itemX`,`itemY`,`itemZ`,`itemInteriorid`) VALUES ('2','77','818.167541','-1321.077636','13.480163','0')


    Beim laden der Items:

    C
    [18:14:12] Item: Banane / Itemid: 0 /Item Anzahl: 12 - wurde geladen.
    [18:14:12] Item: Steak / Itemid: 1 /Item Anzahl: 7 - wurde geladen.
    [18:14:12] Item: Pizza / Itemid: 2 /Item Anzahl: 77 - wurde geladen.

    Beim einsammeln ():

    C
    [18:15:35] Item: Pizza / Itemid: 2 /Item Anzahl: 77 - wurde eingesammelt.
    [18:15:36] Item: Banane / Itemid: 0 /Item Anzahl: 0 - wurde eingesammelt.
    [18:15:38] Item: Banane / Itemid: 0 /Item Anzahl: 0 - wurde eingesammelt.

    Die Items habe ich in folgender Reihenfolge eingesammelt. --> Banane --> Steak --> Pizza also stimmt etwas nicht bei einsammelt der Pickups, nur was ?


    Kleine Info: Bei der Variable iData [..] [itemID] handelt es sich nicht um die DatenbankID, diese wäre dann iData[..][itemDBID].



    @Jeffry

    Hallo,


    Ich habe ein kleines Problem mit meinem Item System, angenommen ich erstelle 3 Items, dann habe ich in der MySQL Tabelle 3 Zeilen, einmal Item 1 mit der DBID 1 dann Item 2 mit DBID 2 und Item 3 mit der DBID 3.


    Wenn ich jetzt die Items einsammeln möchte, kann immer nur das letzte Item einsammeln, sprich DBID 3. Starte ich den Server danach neu, habe ich noch 2 Items DBID 1 & 2. Wenn ich nun diese einsammeln möchte, kann ich wieder nur DBID 2 einsammeln, aber warum?


    C
    public OnPlayerPickUpDynamicPickup(playerid, pickupid){
    	LOOP(MAX_ITEMS, i){
    		if(pickupid == iData[i][itemPickup]){
    			GivePlayerItem(playerid, iData[i][itemID], iData[i][itemNumber]);
    			RemoveItem(i);
    			return 1;
    		}
    	}
    	return 1;
    }


    Mit freundlichen Grüßen. :thumbup:


    //Edit.

    Deine Funktion funktioniert nicht für alle Fahrzeuge. Ein Bus kann z. B. Mehr als 4 Personen mitnehmen, Da würde deine Funktion schon nicht mehr funktionieren.

    Gut, das stimmt allerdings.


    @fishy Ich habe dir gerade nochmal eine neue Funktion geschrieben, die etwas besser geeignet ist.
    Mit der Funktion kannst du abfragen ob der Sitzplatz belegt ist oder nicht.


    C
    stock IsSeatFree(vehid, seatid){
        for(new i = 0; i<MAX_PLAYERS; i++){
    		if(IsPlayerConnected(playerid)){
    			if(GetPlayerVehicleID(i) == vehicleid && GetPlayerVehicleSeat(i) == seatid) return 1;
    		}
    	}
        return 0;
    }

    Du kannst dir mal folgende Funktion anschauen: [wiki]GetPlayerVehicleSeat[/wiki]


    Ich habe auch mal eben eine kleine Funktion geschrieben, diese Setzt den Spieler auf einen Freienplatz im Fahrzeug. ((vielleicht kannst du dies auch gebrauchen))


    Du kannst auch "#error" benutzen (wie "#define"), um zu sehen, ob der Compiler bis an die #error-Zeile herankommt oder vorher abstürzt.
    Ist vielleicht etwas schöner als die Kommentare.

    Vielen Dank erstmal dafür, habe jetzt mal paar selbstgeschriebene Publics auskommentiert. Komischer weiße habe ich die Publics schon lange im Script und es gab beim kompailen auch nie Fehler.
    Nach dem ich meine eigenen Publics auskommentiert hatte, habe ich nochmal den Pawn Compailer drüber laufen lassen und nun zeigt er mir ein paar Fehler an.


    //Edit:


    Ich konnte den Fehler beheben, es lag an einem define, der den Pawn Compailer zum abstürtzen gebracht hat.

    Gibt es vom ocmd eine Neue version wo man den Anfangsbuchstaben großschreiben kann?

    Im Script musst du es klein schreiben, jedoch kann man bei der alten ocmd Version auch nur InGame alles kleinschreiben, seit der neueren Version kannst du InGame auch mit Großsbuchstaben schreiben.

    Hallo,


    Ich weiß zwar nicht ob ich diesen Beitrag auch in der Scripting Base posten kann, da es sich nicht direkt um ein Scripting Problem handelt. (Wenn nicht einfach in den richtigen Bereich verschieben. ;) )
    Ich habe ein Problem an dem ich jetzt gut 2 Stunden arbeite und versucht habe den Fehler zu finden, jedoch erfolglos.
    Wenn ich mein Hauptscript öffne und compailen möchte, kommt immer die Fehlermeldung Pawn Compiler library funktioniert nicht mehr.
    Zuerst vermutete ich ein Klammerfehler, jedoch konnte ich das nach kurzer Zeit auch ausschließen, da ich die Klammern { & } sowie ( & ) in Notepad++ gezählt habe und bei allen kam das selbe Ergebniss heraus.


    Daraufhin habe ich in der Suchfunktion versucht passende Beiträge zufinden, jedoch bin ich auf kaum hilfreiches gestoßen.
    Außerdem habe ich versucht vorkurzem erstelle System zu deaktivieren um den Fehler vielleicht dort in den Systemen zufinden, jedoch war auch das ohne Erfolg.
    Nun hoffe ich das @Jeffry oder jemand anderes eine passende Antwort für mich hat.


    Mit freundlichen Grüßen. :thumbup:

    Hallo,


    Beim ausführen der Query wird mir folgender Fehler in der mysql_log.txt Datei ausgegeben: [15:49:47] [ERROR] CMySQLQuery::Execute[OnItemCreated] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''-173' at line 1


    Code:


    C
    format(query,sizeof(query),"INSERT INTO `server_items` (`itemID`,`itemNumber`,`itemX`,`itemY`,`itemZ`,`itemInteriorid`) VALUES ('%d','%d','%f','%f','%f','%d')",itemid,anzahl,x,y,z,interior);
    mysql_function_query(dbhandle, query, true, "OnItemCreated", "i", id);

    Teste es mal so:


    Ich habe jetzt mal bei OnGameModeInit

    C
    mysql_log(LOG_ALL);


    Ich weiß nicht ob man daran erkennt wo der Fehler liegt.

    Danke, das klappt nun auch :)


    Leider bekomme ich den Error mit der mysql_tquery nicht weg.

    C
    [19:09:23] [ERROR] mysql_tquery - callback parameter count does not match format specifier length

    Bei dem ersten Fehler stimmt bei einem Query die Anzahl der Parameter nicht mit den Bezeichnern überein (nach dem Call-Backname in mysql_function_query).

    Ich habe bereits geschaut, jedoch finde ich den Fehler nicht.

    Danke ;)


    Jetzt bekomme ich noch einen weiteren Fehler:


    C
    [18:40:23] [ERROR] CMySQLQuery::Execute[CheckRoleplayName] - (error #1054) Unknown column 'German_ScripterHD' in 'where clause'

    Hallo Brotfische,


    Ich habe ein kleinen Problem mit MySQL. Ich habe mich selber schon auf Fehlersuche begeben jedoch finde ich den Fehler nicht.


    mysql_log.txt:

    C
    [18:27:06] [ERROR] mysql_tquery - callback parameter count does not match format specifier length
    [18:27:14] [ERROR] CMySQLQuery::Execute[CheckRoleplayName] - (error #1065) Query was empty


    CheckRoleplayName Query: (Der inputtext wird mir richtig ausgegeben.)

    C
    printf("Inputtext: %s",inputtext);
    format(query,sizeof(query),"SELECT * FROM `player_account` WHERE pRPName=%s",inputtext);
    mysql_function_query(dbhandle,string,true,"CheckRoleplayName","is",playerid,inputtext);


    Was es mit dem Fehler mit der "mysql_tquery" aufsich hat weiß ich nicht. Da ich die mysql_tquery nirgends im Script verwende.

    Ich habe ein kleines Problem.
    Leider schaffe ich es nicht den Fehler zu beheben :/


    Fehlercode:

    C
    error 001: expected token: "-string end-", but found "-identifier-"
    error 017: undefined symbol "FFFFFF"
    warning 217: loose indentation
    warning 215: expression has no effect
    warning 215: expression has no effect
    error 001: expected token: ";", but found ")"
    fatal error 107: too many error messages on one line

    Farben define:

    C
    #define SERVER_HTML_COLOR       {FFFFFF}


    Fehlerzeile:

    C
    format(str[1],sizeof(str[]),""SERVER_HTML_COLOR"%s",inputtext);

    Ändere das:

    C
    CreateDynamic3DTextLabel("Geldautomat\n/auszahlen\n/einzahlen\n/ueberweisen",COLOR_BRIGHTRED,automat[i][fxa],automat[i][fya],automat[i [fza],8,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,-1,-1,-1,100.0);


    zu:

    C
    CreateDynamic3DTextLabel("Geldautomat\n/auszahlen\n/einzahlen\n/ueberweisen",COLOR_BRIGHTRED,automat[i][fxa],automat[i][fya],automat[i][fza],10.0);

    Schreibe es so: