MfG Slash
Es kann gut sein das die anklickbare Flächen überlagert ist mit der Anklickfläche des letzten Textdraw, daher solltest du den anklickbaren Bereich auch immer begrenzen mit
TextDrawTextSize
MfG Slash
Es kann gut sein das die anklickbare Flächen überlagert ist mit der Anklickfläche des letzten Textdraw, daher solltest du den anklickbaren Bereich auch immer begrenzen mit
TextDrawTextSize
Hallo Liebe Community.. ich habe mal etwas früher mal hier einen thread gesehen womit man mehr Objecte sehen lassen kann
es wurde einfach z.B bei einem object
CreateDynamicObject(3095, 2067.5, -1852.80005, 12, 0, 0, 0);
hinten was hinzugefügt bei jeden dann konnte man ganz viele maps einfügen und alle wurden angezeigt^^
wie heißst der code bzw was ist da drinne da war iwas ,12,0,); aufjedenfall waren an jedes map object
hinten zahlen dran gemacht weis die jemand damit man mehr maps haben kann?
Du beziehst dich auf die Drawdistanz und die Streamdistanz
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);
Sollen die Objekte von einer höheren entfernung angezeigt werden so musst du die Drawdistanz und Streamdistanz anpassen, falls es gewünscht ist das Objekt nur bei einer geringen distanz zu sehen
so musst du die Streamdistanz runtersetzen.
Beavis:
Benutz doch gettime als Funktion und nicht als Variable
Mann könnte das ganze direkt über MySQL regeln mit der MySQL-Funktion
, jedoch hat man den Timestamp nicht in dem log-file, aber das ist durchaus verkraftbar.
man kann es nicht mehr Downloaden
Doch nur war fileupload nur in diesem moment down , die links funktionieren alle.
@Eddy
Deine gewünschte Idee, dass beim konvertieren der Map sich die texturierten Objekte ganz unten befinden ist in der neueren Version vorhanden.
Sonst ist nix neues in der neuen Version drinne.
Daher braucht man den code der Include nur mit dem neuen ersetzen und das skript neu kompilieren.
Ich komme damit garnicht kla. Wie stelle ich alles genau ein? also Datenbank etc. ein Tutorial wäre mir gerade echt Lieb ^^.
Hier bitte das gewünschte Tutorial.
Tutorial
In diesem Tutorial wird gezeigt wie ihr meinen Mapeditor richtig zum laufen bekommt.
Hier nun spezifisch für einen Windows Server, in diesem Fall euer PC.
Schritt 1:
Was wird dazu benötigt:
- Das komplet Packet meines Editors, diesen findet ihr hier oder auch auf der Startthread.
Klick mich
- Einen MySQL Server, falls ihr keinen Zugang zu einer Datenbank habt könnt ihr euch auch einen MySQL Server aufsetzen, dazu benötigt ihr entweder WAMP oder XAMPP.
Möglich gestellte Fragen:
Ich habekeinen Zugang zu einer Datenbank und möchte WAMP oder XAMPP nicht.
Das ist kein Problem ihr könnt ja euch bei einem Serversponsor melden, welcher euch
einen Server hosten würde, da ist meist eine Datenbank noch inbegriff diese könnt ihr auch
nutzen. Dazu einfach noch im Skript, die Daten anpassen.
Synatx:
mysql_connect(const host[], const user[], const database[], const password[], port = 3306, bool:autoreconnect = true, pool_size = 2);
Ich möchte WAMP oder XAMPP installieren.
Ich persönlich nutze WAMP, falls euch XAMPP eher zusagt könnt ihr es hier Downloaden:
https://www.apachefriends.org/de/index.html
Eine Installationsanleitung wäre ebenso hier zu finden:
https://www.apachefriends.org/faq_windows.html
WAMP könnt ihr hier Downloaden:
http://www.wampserver.com/en/#download-wrapper
Bevor ihr das ganze downloaded beachtet das
Visual C++ Redistributable for Visual Studio 2012 installiert ist sollte dies nicht der Fall
sein so installiert das ganze zuerst. Danach könnt ihr WAMP downloaden und installieren.
Sollte die installation fertig sein und das WAMP Icon unten rechts grün leuchten.
So könnt ihr das Icon mit der linken Maustaste anklicken und phpmyadmin öffnen.
Sollte das Symbol nicht grün sein sondern Gelb so wird es daran liegen das eine Anwendung
von euch einen Dienst von WAMP blockiert. Ein Beispiel könnte Skype sein, daher könnt ihr
Skype ausschalten oder den Port von Skype ändern.
Dazu in Skype Aktionen => Optionen... => Erweitert => Verbindung und das Häckchen bei
"Ports 80 und 443 als Alternative für eigehende Verbindungen verwenden" entfernen.
Nun müsst ihr nur noch in phpmyadmin eine Datenbank mit dem nahmen "amazing" anlegen , der Name kann auch anderst gewählt sein, jedoch müsst ihr das wieder in der Include anpassen.
Schritt 2:
Nun haben wir eine gewisse Basis worrauf wird aufbauen können. Um nun die Tabelle zu erstellen müsst ihr lediglich einmal die samp-server.exe in dem "Mapeditorfullpack" Ordner
starten. Somit werden automatisch die Tabelle erstellt.
Schritt 3:
Bei Schritt 3 erkläre ich euch wie ihr eure Maps einbindet, dazu benutzt ihr das enthaltene
Tool, welches sich "converter.exe" nennt. Sollte es Fehler geben bei der Verwendung so müsst
ihr die "mysql-connector-net-6.8.3.exe" starten da euch eine gewisse Mysql.data.dll fehlt.
Um das Tool überhaupt richtig verwenden zu können, müsst ihr erstmal eine Verbindung zu eurem
MySQL Server aufbauen. Dies tut ihr in dem ihr auf MySQL klickt und anschließend auf Verbinden und die Verbindungsdaten zu eurem MySQL Server eingibt.
Um die Map zu konvertieren , welche der SAMP Mapeditor ausspuckt müsst ihr einfach nur auf Datei gehen und auf Laden und das entsprechende FIle auswählen danach könnt ihr es kompilieren. WICHTIG (Jedoch nicht die Bezeichnung vergessen).
Zusatzinformationen:
Die Updatezeit ist die Zeit, in der das Skript alles selbsständig updatet und den cache leert. Das bedeutet die gesetzten Pointer sind danach auch weg.
Diese Zeit kann je nach wunsch verändert werden.
Das ist der Offset wert um den ein Objekt nach oben verschoben wird bei dem Befehl /entflackern
Dein problem besteht durch das falsch gesetzte return.
Dadurch wird eine Schleife unmittelbar abgebrochen.
Daher plaziere dein return außerhalb der For- Schleife.
for(new i=0;i<sizeof(Atms);i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, 2316.5691,-7.3099,26.7422))
{
....
}
return SendClientMessage(playerid,Rot,"Du bist nicht in der nähe eines Bankautomaten oder in der Bank!");
//edit Einrückung neu gemacht
Dafür willst du wirklich 25 € ausgeben , wenn du willst kannst du dich per PN bei mir melden und wir machen ein Termin am Wochenende aus wo ich mir die Zeitnehme dir das zu erklären.
Das ganze ist natürlich kostenlos.
Wir werden ja auch Maps haben, welche für die großen Schiffe gedacht sind. Habt ihr da eine Lösung?
Entweder du machst es so wie bereits genannt von MyU einen gewissen radius darum oder du kannst die zone ebenfalls als polynom erstellen mit dem streamer plugin.
Solltest du genug ahnung haben kannst du ebenfalls die SAfull.hmap bearbeitet und dort neue koordinaten hinzufügen.
Dazu müsstest du nur wissen wie du ein 3 Dimensionaler abdruck erstellst, anschauen kannst du dir das Ergebniss von den Koordinaten dann in MATLAB, ob es grob dem orginal entspricht.
Zum Thema Safull.hmap müsstest du die koordinaten noch umkonvertieren da diese alle gepackt sind.
Es wäre erstmal nicht schlecht zu erfahren was du genau machen möchtest.
Eine andere Alternative wäre ein Dynamisches Array oder doch umzuschwenken auf das mysql r35+ plugin von maddinat0r da du hier die ausgelesenen Daten zwischen speichern im cache
und somit ganz ohne query darauf zugreifen kannst.
Ganz nebensächlich wie schon @Mellnik hier geschrieben hat wäre
die beste variante um die anzahl der einträge zu ermitteln.
Kann man sich auch Styles reservieren?
Ja ist es, das beste Beispiel dafür ist das Design GTA Dark Orange, welches extra noch auf die Kundenwünsche noch angepasst wird.
Zusätzlich ist noch anzumerken das jedes Design Branding Free verkauft wird.
//push
2.5.2014 21.36
//push
4.5.2014 16.28
//push
5.5.2014 16.18
#define weis 0xFFFFFFFF
Ein define für den Farbcode zu verwenden ist jedoch überflüssig daher kannst du bei deinem code gleich eine Zahl eintragen -1(weiß) 0(schwarz) oder was auch immer.
SendClientMessage(%0,-1," ");
SendClientMessage(%0,0," ");
Wie Rocky schon sagte sind das zu viele Objekte für ein kleinen Raum. Du könntest die wichtigsten (äußeren) Details des Gebäudes normal laden lassen und die man nicht direkt sieht mit dem Streamer
Das ist keine gute Idee und verfehlt die richtige nutzung des Streamer plugins
Erklärung siehe ein altes Zitat von mir:
Zitat
Du erstellst nicht zufällig 1000 Objekte via CreateObject ?
Falls ja liegt darin dein Problem du kannst maximal 1000 Objekte erstellen für einen Spieler via CreatePlayerObject daher nutzen auch Streamer CreatePlayerObject und erstellen das objekt nur wenn der Spieler in der nähe ist, sollte er nicht in der nähe sein so wird es wieder zerstört . Nutzt du CreateObject wird dieses Object für jeden Spieler erstellt auch wenn
er nicht in der nähe des Objektes ist der Nachteil es geht somit 1 Slot für die Objekte verloren von den normal 1000 freien Slots für den Spieler. Daher solltest du 1000 Objekte darüber erstellen können
nicht mehr Objekte gestreamt werden da kein freier Slot zur Verfügung steht das System hinter dem Streamer funktioniert somit auch nicht. Da wie schon oben erwähnt CreatePlayerObject
sich auf einen Spieler bezieht.
Daher kann man erstmal die Anzahl an angezeigten Objekten von 500 auf 1000 erhöhen beim streamer und ebenfalls noch mit der streaming Distanz arbeiten.
Alles anzeigenHallo
ich suche für mein Projekt einen Streamer, der von incognito reicht nicht.
z.B.
Stadthalle und LSPD haben zusammen 3500 Objekte, das packt der von incognito nicht richtig.
wir suchen also einen sehr guten streamer wir zahlen auch dafür, preis wird ausgemacht.
Kontakt:
Nachricht hier im Forum
[Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]
______
Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.
Das Streamer Plugin ist der beste Objektstreamer den es in SA:MP gibt , nur bist du wahrscheinlich nicht fähig genug diesen entsprechend zu nutzen.
Daher beschäftige dich mal mit der Funktionsweise eines Streamers und schaue dir ebenfalls die Einstellmöglichkeiten des Streamer Plugins an.
Wird die Farbe des Designs bzw. einzelner Elemente beim Kauf im Fall der Fälle denn auch auf Wunsch angepasst?
Wenn ja, kostenlos oder nicht
Ja natürlich falls jemand die Farbe nicht gefallen sollte kann diese natürlich geändert werden und zwar auch kostenlos.
Der Verkauf des Designs bleibt trotz farblicher Abänderung als Unikat, somit wird jedes Design nur 1 mal verkauft.
//push 28.4.2014
//push 30.4.2014
Wie bereits in skype erwähnt sieht das ganze echt gut aus ich freu mich schon darauf, wenn es fertig ist.
Danke für das Update.
jetzt funktioniert es, so wie ich es will
Bitte , ich danke dir für den Bugreport und ich hab noch zwei gute Befehle hinzugefügt , da man zum einen nun die maps ganz löschen kann und Objekte ohne kollisonen nun auch ein zugriff hat , da folgende sich gut dazu eignen
Texte auf ihnen zu platzieren , da diese zum einen unsichtbar sind und keine kollisionen haben.
#-----------------------------------------------------------------
# Blank planes for text signs
19475, Plane001, signsurf, 300, 2097284
19476, Plane002, signsurf, 300, 2097284
19477, Plane003, signsurf, 300, 2097284
19478, Plane004, signsurf, 300, 2097284
19479, Plane005, signsurf, 300, 2097284
19480, Plane006, signsurf, 300, 2097284
19481, Plane007, signsurf, 300, 2097284
19482, Plane008, signsurf, 300, 2097284
19483, Plane009, signsurf, 300, 2097284
Du hast mir ja eigentlich schon gut geholfen, habe jedoch noch ne kleine Frage. Also wenn ich die Verbindung zum MySQL Server erstelle und die Map speicher steht da "551 Datensätze hochgeladen". So, wie sehe ich die Map nun auf den Server? Bitte um Hilfe
Also falls du es nun auf deinem Testserver hast, dann solltest du auch die richtigen Daten angeben von der MySQL Datenbank des Textservers nicht die localen falls du wamp noch geöffnet hast.
#define SendFormattedClientMessageToAllAdmins(%0,%1,%2) format(_string_, sizeof(_string_), %1, %2); for(new i = 0; i < MAX_PLAYERS; i++) if(hasMinRank(i, 3)) SendClientMessage(i, %0, _string_)
Du hast den Code auch oben im Skript eingetragen
@m4a_X und den Rest danke für das Feedback.
Der Editor gefällt mir.
Nur habe ich Probleme mit diesem "Texture" "Model-ID", "Index", usw.
Das war jetzt nur ein Test mit den Mülltonnen, den ich aus Zufall "hinbekommen" habe:
Gibts dazu irgendwelche Tipps o.ä womit man alles einweig vereinfachen kann?
Future e-Life hat ja eine interessante Seite erstellt extra für Texturen
http://textures.future-elife.com/?page=textures
Dort kannst du ganz einfach den Befehl herraus kopieren.
/create [id] [kommentar]
Mit diesem Befehl kannst du Objekte erstellen das zugefügte Kommentar dient zur erkennung in der Datenbank.
/setrot [rotx] [roty] [rotz]
Manuelle Einstellung der Rotationen es geht jedoch auch über den Editor von samp einfach auf das Symbol neben der Memory Disk klicken.
/edit
Befehl um in den Editormodus zu kommen | vorsicht bei eingebundenen Filterskripts
/entflackern
Sollten sich Objekte überlappen so wird das angeklickte Objekt um einen kleinen Wert nach oben geschoben , das ganze kann man jedoch in der Include anpassen.
Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_Z, z+0.001);
/removetextur [index]
Um die Texture eines Objektes zu entfernen wird erst wirksam nach dem anklicken der Memory Disk
/removetexturall
Entfernt alle Texturen von dem Objekt
/setpointer [pointer] [index]
Dadurch lassen sich pointer setzen somit kan man mehre Objekte mit dem Befehl /edittexturep texturieren, zum beispiel alle Objekte mit dem pointer 1 oder 2
/edittexturep [pointer] [modelid] [txdname] [texturname] [Farbe]
Wie oben schon angemerkt hast du die Möglickeit alle Objekte mit dem entsprechenden pointer zu setzen. Pointer bitte nicht hier mit dem index verwechseln.
/edittext [index] [text] [fontface] [fontsize] [bold] [FontFarbe] [Backgroundcolor]
Hier kannst du ein Text auf den jeweiligen index eines Objektes legen
/edittexture [index] [modelid] [txdname] [texturname] [Farbe]
Damit kann man den index eines Objektes, welches davor angeklickt wurde texturieren.
/duplicate [kommentar]");
Erst das Objekt zum duplizieren anklicken, danach hast du genau ein Duplikat dieses Objektes sprich Position ist gleich und textur ist auch die selbe oder Text.
/deleteobj
Zum löschen von Objekten
/convertmap [mapname]
Dadurch wird ein .txt File erstellt in dem maps ordner, welcher sich unter skriptfiles befindet. Der mapname ist hier das Kommentar welches sich jeweils hinter einem Datenbankeintrag eines Objektes befindet.
/saveobj
Normal läuft ein Timer, welcher momentan alle 10 Minuten die datenbank update, du kannst diesen Timer auch entfernen oder erhöhen und diesen befehl nutzen wenn du das ganze speichern möchtest.
Nachteil: Dadurch werden die ganzen Dynamischen Arrays geleert und die pointer gehen verloren.
Das war nochmal eine kleine Beschreibung der Funktionen. Ich hoffe das ganze bringt etwas Klarheit. Ebenfalls kann man mit mehreren Leuten auf einem Server mappen und garantiert für Spaß.
//edit
Ja das geht in der Tat dafür ist ja das Tool da du kannst bestehende Maps konvertieren und hochladen somit kannst du diese Ingame texturieren und bearbeiten und zum schluss je nach wunsch auch wieder ausgeben lassen.
Prototypel, ich wollte jetzt gerade ne Map von mir texturieren mit deinem Editor, jedoch bekomme ich komischerweise 18 Errors. Kannst du mir vielleicht helfen?
Ich hab dir eine Pn geschrieben, falls es probleme gibt kann man sich jederzeit bei mir per PN melden , Lösungen werden falls dies nicht ein einzelfall sein sollte auch hier gepostet und in den anderen Foren, wo diese
Include angeboten wird.