Du hast eine Konsolen Anwendung(.exe) erstellt und keine Klassenbibliothek (.dll)
Beiträge von Akino Kiritani
-
-
das kommt in Visual Studio der fehler
Dann mach doch mal ein Screenshot von dem Fehler. Ohne genaue Fehlermeldung ist es nicht so einfach zu helfen
-
\filterscripts\tAudioHideV3.Amx
das t vor AudioHideV3 gehört da nicht hin. Sicher das die Datei richtig benannt ist ?
Die Server-IP wurde auf "localhost" angepasst auch mit der eigentlichen Standart-Gateway IP ausprobiert. (Beides zeigt selben Fehler)
Anpassen muss man das nicht unbedingt.
Es ist so die IP wird dafür genutzt um den "Connection" Text nach zu bilden.
Das habe ich damals aus dem Grunde gemacht, weil viele Server / Scripter Musik bereits am Anfang laufen ließen.Der .vs Ordner hat keinen Nutzen richtig?
Richtig, den hat Visual Studio erstellt, als ich es vor Jahren darüber hochgeladen habe.
-
Wenn du die Coordinaten von [wiki]GetPlayerCameraPos[/wiki] und [wiki]GetPlayerCameraFrontVector[/wiki] zusammen rechnest hast bekommst du den Punkt wo der Spieler hinzielt / hinguckt.
Damit kannst du prüfen ob sich das/ein Objekt in der Nähe des Punktes befindet
-
Wenn der Spieler die Area betritt legst du nur fest bei welchem Baum er steht.
Danach schaust du mit OnPlayerKeyStateChange, ob der Spieler mit einer Chainsaw angreift.
-
Das geht mit KeyStateChange, KeyFire und GetPlayerWeapon.
Du kommst aber nicht darum irgendwie zu prüfen ob du in der Nähe eines Baumes bist.
mMn sinnvoll wäre Streamer Areas und dann über das Callback gehen das der Spieler in eine Baum Area gegangen ist.So würdest du dir eine Schleifen sparen um zu checken ob der Spieler in der Nähe eines Baumes ist.
-
Du könntest mit Areas arbeiten und denn prüfen ob eine bestimmte Animation ausgeführt wurde und so den Hit zählen.
-
Wenn du Dinge über die Registry Änderst musst du idR den PC oder in diesem Fall zumindest einmal den Explorer neu starten, damit die Werte auch neu ausgelesen werden.
-
Wie genau hast du denn den Pfad "geändert" ?
-
Daraufhin habe ich mir die Variable näher betrachtet:
Ach herrje, daran das du evtl. eine leere Variablenngröße angegeben hast hab ich gar nicht gedacht.
PAWN funktioniert leider so nicht. Man kann es so machen, aber dann füllt PAWN halt immer nur einen Wert.Das ist halt das Problem mit statischen Sprachen - sie brauchen idR eine feste Größe mit der sie arbeiten können.
Würde das so funktionieren ?
Ja, dass wird so funktionieren und ist auch Erstrebenswert so zu arbeiten.
Wie gesagt, PAWN braucht feste Größen.
Es gibt Möglichkeiten Variablengrößen richtig dynamisch zu gestalten, ist aber für einen Anfänger definitiv etwas viel.und bei der for-Schleife dann nur FVerleihCount nehme, da die Variable ja wiedergibt wieviele Einträge in der Datenbank sind.
Ja und nein.
Im Grunde eine gute Idee. Du wirst nur ein Problem bekommen, wenn du mal einen Eintrag während der Runtime löschen solltest.Wir nehmen mal dein Beispiel mit 2 Verleihs.
Sofern auch 2 vorhanden sind ist alles gut.Nun bist du aber der Meinung - eigentlich reicht auch einer und löscht den ersten Verleih.
Entsprechend sinkt nun auch der Wert FVerleihCount um eins, da nun ein Verleih wegfällt.Wir erinnern uns, dass du 2 geladen hast, und die Arraynummern 0 und 1 wurden gefüllt.
Löscht du jetzt den ersten also 0 und versucht dann mit deinem Wert FVerleihCount zu arbeiten, wirst du feststellen. dass deine Schleife nur den ersten Array (0) versucht auszulesen.
Dieser ist durch die Löschung nun nur leider leer und du kommst auf direktem Wege nicht mehr an den 2. Verleih.Entsprechend ist es sinnvoller, die Schleife so zu gestalten, dass sie theoretisch jeden Wert erreichen kann.
Nur musst du hierbei darauf achten, einen Check zu erstellen, ob die Werte auch geladen wurden.Diesen Check kannst du gestallten wie du möchtest. Du kannst dir eine Variable in der Enum Struktur erstellen und es darüber machen oder du prüfst einfach ob ein Wert nicht 0 bzw. leer ist.
Hierfür könntest du bspw. pID oder sogar einfach die IconID nehmen. Diese sollten idR nicht 0 sein, wenn Werte vorhanden sind. -
reproduzieren heißt genau was ?
Das ich versucht habe den Fehler/das Problem irgendwie nach zu stellen.
-
dass doch eine ganz normale Antwort.
Eine "normale" Antwort, die vollkommen am Thema vorbei zielt.
Glückwunsch. -
Der Beitrag wurde am 12. April 2019 erstellt und am 12. April 2019 gelöscht - sieht man auch am Datum in der PN.
Jetzt soll die Moderation dafür gerade stehen, dass du über einen Monat nicht in deine Nachrichtenbox geguckt hast um mitzubekommen, dass der Beitrag gelöscht wurde
// Edit: Ich rate einfach mal ins Blaue... Es wird sicherlich dieser Beitrag sein https://breadfish.de/index.php…ostID=2342118#post2342122
-
Ich hab es nun 1:1 nachgebaut bzw. deinen vorhanden Code genutzt, mehrere Datenbanken ausprobiert und kann es einfach nicht reproduzieren.
Ich weiß nicht ob es daran liegt, das ich einen anderen Compiler benutze.
Ich werde das mal probieren.// Edit: Auch nach mehrfachen versuchen (mit dem Standard Compiler) bleibt es dabei, dass ich es nicht reproduzieren kann.
-
Dann musst du anfangen zu debugen.
Lass dir via printf mal die ID des Verleihs ausgeben und die Koordinaten, wenn du die Enter Taste drückst.
-
Das Problem bei Keystates ist, dass sich diese nicht einfach prüfen lassen, wie normale Zahlen, da diese als so genannte "Bit Mask" in PAWN landen.
Das hat damit zu tun, das man mehrere Tasten gleichzeitig drücken kann.Hier findest du eigentlich eine gute Erklärung dazu wie man Keys richtig prüft. [wiki]OnPlayerKeyStateChange#How_NOT_to_check_for_a_key[/wiki][wiki]OnPlayerKeyStateChange#God_mode_while_holding_use[/wiki]
-
Bist du dir 100%ig sicher, dass das Objekt, was du bewegen willst auch das Objekt ist, was du via Script ansteuerst ?
Vergleich mal die ObjektIDs der Objekte.
Lass dir die ID mal ausgeben. Einmal wenn du es erstellst und einmal wenn du es bewegen willst. -
Zu allererst solltest du mysql_tquery nutzen und nicht pquery.
pquery braucht man nur, wenn man Querys parallel ausführen möchte bzw. muss. Das ist hier eigentlich nicht der Fall.
Zum eigentlichen Problem, mysql_tquery und mysql_pquery sind threaded, was heißt, dass diese zwar direkt ausgeführt werden, aber der Server nicht auf eine Antwort warten muss.
Das heißt konkret, nutzt du eine dieser Funktionen wird ein Callback bzw. eine andere Funktion aufgerufen, in der du alles abarbeiten kannst.Am besten hier einmal reingucken [wiki]MySQL/R40#mysql_tquery[/wiki] dort ist auch ein Beispiel aufgeführt, wie das am besten von statten geht.
Du solltest auch mal alle deine Plugins aktualisieren.
-
Hab dort seit Jahren einige Domains und einen Webserver/space und kann bisher nichts schlechtes darüber berichten.
-
Richtig, wenn du das Objekt attached dann sind x y und z die Offset Koordinaten.
Wenn du nach dem Attachen, das ganze nochmal verschieben willst, solltest du entweder den Text neu erstellen oder die Daten ändern via
Streamer_SetFloatDataStreamer_SetItemOffset// Ich mein natürlich nicht SetFloatData sondern SetItemOffset ._.
Falls du das nutzen solltest, musst du aber das Objekt via Streamer_Update neu streamen lassen