was genau passiert heißt ne Beschreibung oder so etwas.
Wenn du mir erklärst, was ich noch genauer beschreiben soll, kann ich das gerne verbessern
was genau passiert heißt ne Beschreibung oder so etwas.
Wenn du mir erklärst, was ich noch genauer beschreiben soll, kann ich das gerne verbessern
new query[128];
format(query,sizeof(query)," UPDATE tabellename SET spalte = '1' WHERE zeilenname = '%s", PlayerName(playerid));
Weiß nicht, welches Plugin du genau benutzt.
Müsstest dann noch
mysql_query(query);
oder so machen
MFG Manniac
format(s,sizeof(s)," Du wurdest von %s zum %s befördert",sName(playerid),RangName(playerid));
So sollte es funktionieren
Nein.
%s = string.
Baum = string
OutPlayed = string
RangName(playerid) = string
format(s,sizeof(s),"Du hast %s zum %d befördert",sName(pID),RangName(playerid));
Da musst du natürlich auch %s verwenden..
#e ich sehe gerade, dass du sehr große Probleme damit hast. Schau dir dazu nochmal ein paar Tutorials an
Kann eigentlich nicht sein.
Poste mal den Code.
format(s,sizeof(s),"Du hast %s zum %d befördert",sName(pID),rank);
Rank ist ein String, keine Zahl.
Schreibe es so
format(s,sizeof(s)," Du hast %s zum %s befördert",sName(pID),RangName(playerid))
Guten Abend,
in diesem Tutorial werden wir uns damit befassen, wie man mithilfe eines Enums leicht & schnell Objekte, Autos, 3Dtextlabel oder Pickups erstellen kann.
Ich erkläre euch das mal an dem Beispiel "Pickups". Weiter unten werdet ihr das Beispiel "3DTextLabel" finden.
Fangen wir also an.
Pickups
Wir wollen Pickups erstellen, welche mit einer Schleife bei "OnGameModeInit" geladen werden.
-Extra Teil -> mit "N" kann man, während man in dem Pickup ist, ein Interior betreten
Was brauchen wir?
Wir brauchen einen Editor, Grundkenntnisse und logisches Denkvermögen.
Schritt 1 - Enum erstellen
Da wir die Pickups ja mithilfe eines Enums erstellen wollen, müssen wir erstmal ein Enum erstellen.
Dafür schauen wir uns mal die Parameter von CreatePickupan.
Diese sind
-Model
wie das Pickup aussehen soll
-Type
Die "Art" des Pickups
-x, y & z Koordinate
Damit das Script weiß, wo das Pickup erscheinen soll
-virtual world
In welcher Virtuellen Welt soll es createt werden? ( 0 = standart )
Diese Parameter tragen wir nun in unser Enum ein
enum e_pickup{
Float:exp,//x pos
Float:eyp,//y pos
Float:ezp,// z pos
vw// virtuelle welt
}
Nun müssen wir natürlich noch Werte irgendwie in das Script eintragen, damit man überhaupt Pickups erstellen kann.
Dafür verwenden wir static const
static
Wenn man etwas als "static" deaklariert, ist es, einfach gesagt, für andere Scripts & Plugins "unsichtbar"
const
const verwenden wir, da die Koordinaten & weitere Parameter des Pickups immer die selben sind & bleiben.
bsp:
const variable = 5;
variable = 4;
// Würde einen Fehler hervorrufen, da wir den Wert nicht ändern dürfen.( const =~ konstant )
Wir schreiben also
static const
e_PickupData[][e_pickup] = {
};
Darauf werde ich nicht weiter eingehen, sollte eigentlich alles klar sein.
Nun müssen wir das oben geschriebene noch mit Informationen füttern. (Model, Type, X - Y & Z-Achse, Virtuelle Welt)
static const
e_PickupData[][e_pickup] = {
{}//Schritt 1: Informationen werden innerhalb einer geschweiften Klammer geschrieben. Sollten mehrere Zeilen vorhahden sein, werden sie mit einem "," getrennt
};
static const
e_PickupData[][e_pickup] = {
{345.2345,215.2356,1235.2345}//Schritt 2: Eintragen der x,y & z Koordinaten
};
static const
e_PickupData[][e_pickup] = {
{345.2345,215.2356,1235.2345,0}//Schritt 3: Eintragen der virtuellen Welt
};
Nun hätten wir Teil 1 abgschlossen.
Wir haben die von uns vorgegebenen Parameter in dem Enum via static const mit Infos gefüttert
Wenn wir jetzt den Server starten würden, würden noch keine Pickups erscheinen, da wir diese erste erstellen müssen.
Dafür gehen wir zu "OnGameModeInit" und schreiben folgendes
new i;
for(; i < sizeof(e_PickupData); i++)
{
CreatePickup(1559, 23, e_PickupData[i][exp], e_PickupData[i][eyp], e_PickupData[i][ezp]);
}
Erklärung.
Wir gehen mit der Schleife die Daten in "static const ..." durch und lassen diese mithilfe von CreatePickupIn-Game laden & erstellen.
Somit hätten wir auch "Teil 2" abgeschlossen. Es folgt nun ein kleiner "Extra-Bereich", in dem wir die Pickups als Interior Enter & Exit punkte verwenden.
Pickups - Extra
Nun sollen die Pickups also als Enter & Exit Point fungieren.
Dafür brauchen wir noch ein paar andere Parameter in unserem Enum.
enum eLCoordVars{
Float:exp,
Float:eyp,
Float:ezp,
vw,
Float:eesx,//enter spawn pos
Float:eesy,
Float:eesz,
interior//interior
}
Soweit alles klar?
Natürlich müssen wir
static const dementsprechend anpassen.
static const
e_PickupData[][e_pickup] = {
{345.2345,215.2356,1235.2345,0,1245.2356,2345.234,1245.1245,1}//Wir haben nun die Daten um "spawnx,spawny, spawnz & interior erweitert"
};
Nun wollen wir mit der Taste "N" das Interior betreten.
Dazu gehen wir zu OnPlayerKeyStateChange
Hier fragen wir ab, ob der Spieler die Taste "N" gedrückt hat.
if(newkeys & KEY_NO)
Nun müssen wir überprüfen, ob er sich in der Nähe eines Pickups befindet.
for(new i; i < sizeof(e_PickupData); i++)
Sollte klar sein.
Nun müssen wir die Positionen des Spielers mit den Positionen des Pickups vergleichen
if(!IsPlayerInRangeOfPoint(playerid,0.5,e_PickupData[i][exp],e_PickupData[i][eyp],e_PickupData[i][ezp]))continue;
Erklärung.
if(istNichtSpielerInUmgebungVonPunkt(spieler,Radius,x-positionAusStaticConst,y-posistionAusStaticConst,z-positionAusStaticConst))
Nun müssen wir dem Spieler zu der richtigen Position porten.
Außerdem müssen wir ihn noch in das richtige Interior setzen.
SetPlayerInterior(playerid,g_CoordSets[i][interior]);
&
SetPlayerPos(playerid,e_PickupData[i][eesx],e_PickupData[i][eesy],e_PickupData[i][eesz]);
Das war der Erste Teil des Tutorials, ich werde im Laufe des Tages noch "3DTextLabel" hinzufügen.
Teil 2: 3DTextLabel
Nun kommen wir zu dem 2. Teil des Tutorials. Mithilfe eines Enums und einer Schleife ein 3DTextLabel erstellen.
Im Grund funktioniert dies genauso wie mit den Pickups.
Wir erstellen also wieder ein Enum für "static const".
enum e_3DLabels{ Erklärung Um die TextLabel zu laden, müssen wir wieder unter OnGameModeIniteine Schleife erstellen. Erklärung Ist, wie gesagt, genau das selber wie oben. Wollte nur nochmal ein weiteres Beispiel vorzeigen.
dtext[100],//ich weiß nicht genau, was das limit ist.
color,//farbe des textes
Float:tx,//pos x
Float:ty,//pos y
Float:tz,//pos z
dd,//draw distance
vw,//virtual world
los//line of sight -> durch objekte sehbar (1/0)
}
Nun geht es wieder mit static const weiter
static const
e_3DLabel[][e_3DLabels] = {
{"Hello World\nIch bin weiß & bin ein Textlabel",-1,1965.3351,1623.2197,12.8620,7,0,0},
};
{"Text",farbe,x,y,z,drawdistance,virtualworld,line of sight}
for(new i;i<sizeof(g_3DLabel); i++)
{
Create3DTextLabel(g_3DLabel[i][dtext],g_3DLabel[i][color],g_3DLabel[i][tx],g_3DLabel[i][ty],g_3DLabel[i][tz],g_3DLabel[i][dd],g_3DLabel[i][vw],g_3DLabel[i][los]);
}
Mit der Schleife holen wir die Daten aus static const. Mit der native Create3DTextLabel erstellen wir die Label(s?)
Ich hoffe ich habe alles richtig und verständlich erklärt &
ich freue mich auf Kritik, Feedback & Verbesserungsvorschläge.
Sollten Fehler vorhanden sein, bitte mich informieren, damit ich diese ausbessern kann.
MFG
Manniac
#edit 1 -> Fehler ausgebessert
#edit 2 -> Edit vergessen
#edit 3 -> Titel geändert
#edit 3 -> Titel geändert
Probier das Filterscript mal ohne deinen GM.
Dort deaktiviert ihr die IPv6 Protokollierung und geht noch unter IPv4. Dort stellt ihr bei Bevorzugten DNS Server oben 8.8.8.8 ein und unten 8.8.4.4!
Und siehe da, Problem gelöst
Wenn dann war das nur bei deinem PC so. Du verwendest ja jetzt die DNS Server von Google(?). Bei mir funktioniert Youtube einwandfrei
Richtig. Er stoppt & lädt wieder neu.
Wenn er aber keine Verbindung bei OnGameModeInit laden lässt, hat er ein Problem
GMX = SERVERRESTART der server sollte sich nicht stoppen
Führst du einen GMX aus, stoppt der Server automatisch
Wenn du die DB Verbindung kappst, musst du die ja irgendwie wieder bei OnGameModeInit starten. Sonst kann das ja gar nicht funktionieren
Ich würde sagen, du hast deinen Server beendet..?
Was genau willst du jetzt damit von uns?
Ich habe es mir momentan nur auf 144p anschauen können. Werde es mir nachher nochmal auf (F)HD anschauen.
Was ich bis jetzt sagen kann.
-Für dein erstes Video ist es okay, man kann nicht mehr erwarten.
Tipps für das nächste mal.
-Schöne CC
-Könntest mal versuchen, ein bisschen zu syncen, geg mit slowmotions etc.
-IG Sounds leiser, besseren Beat:p
Wenn du das hast, sollte das Video relativ gut sein.
MFG
Es wäre sinnvoller, wenn ein Teammitglied vorher den PSC Code überprüfen würde. Selbiges gilt für andere Wertgegenstände, die verschenkt werden
Ich habe zurzeit einfach alle Passwörter auf einer Internetseite generiert und diese dann in eine .txt Datei eingetragen.
Ich finde halt ein Programm übersichtlicher und und und.
Mach es in der .txt doch einfach so
Email: hdgönjsfjsfge
Forum: fidsjfdsfjis
Youtube: fshdsjsfjds
Kannst dann einfach mit strg+f suchen..Braucht man kein extra Programm für
Abend.
Ich habe gerade eine Map mit dem Map-Editor gemappt. Nun möchte ich, um etwas zu verändern, was ich im Mapeditor nicht verändern kann, die Map mit MTA öffnen.
Eine .xml Datei mit den Objekten vorhanden, jedoch wird diese Map nicht bei dem Reiter "Open" angezeigt. Brauche ich noch eine weitere Datei, um die Map zu laden?
MFG
SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
SetPlayerScore(playerid,SpielerInfo[plaerid][pLevel]