PAWN im groben und Ganzen ist verdammt einfach zu verstehen.
Wenn man sich paar Stunden Zeit nimmt und einfach mal http://wiki.sa-mp.com/ durchließt, kriegt man das auch schon so geregelt.
Beiträge von NetBurst
-
-
mysql_query ist wie man es schon kennt eine Abfrage-Funktion von mysql.
Doch seit letzter Zeit kommen viele von den Warnings, auch von der neuen Version, sprich r7.
mysql_query existiert, doch wird nicht erkannt, dafür musst du eine ältere Version benutzen, r5 hat das Problem nicht. -
Die 0 steht dafür dass der Timer nicht wiederholt wird.
Der Timer ist eigentlich "normal", wenn man es so sagen darf, oder aus deiner Sicht her.. -
Definiert hast du es.
Nur nicht benutzt.//edit.
Wenn du das nicht benutzten willst, dann #pragma benutzen, wobei ich da abrate, ist zu komplex und wenn man versteht wozu man es noch benutzt, ist man selber der Meinung dass man das nicht benutzen will. -
Hallo,
Habe zurzeit einen AMD Athlon 7850 Black Editior und möchte auf Black Edition - AMD Phenom II X4 965 - 3.4 GHz umsteigen.
Da ich einen AM2+ Sockel habe möchte ich mal fragen ob ich ihn zum laufen bringen kann? -
Das Problem an diesem "Editor" ist, das wenn man unter oder eine Negative Zahl hat, sprich die Position, verschiebt sich einfach das TD.
Auch wenn man beispielsweise -500.99 hat und dann +500.99 wechselt, bleibt es bei -500.99. -
if(!isPlayerAnAdmin(playerid,==0)
allein deshalb wird es nicht klappen ... -
Muss nicht sein, kann aber.
Deine Server.exe Datei ist noch im Prozess, dafür starte dein Taskmanager und klicke den Prozess an, dann "Prozess beenden". -
Wie lange ich schon ausprobiert habe damit es klappt, es klappt immer noch nicht.
Wenn ich beispiesweise schreibe : ShowPlayerDialog( | wie beim Foto zu sehen ist, kriegt man eine Tabelle wo man die einzelnen Sachen anklicken kann,
Bei mir geht es nicht.Weiß jemand wieso ?
Wäre so froh, mit npp zu scripten.//edit
//edit2 : Es funktioniert jetzt, ohne Fehler, sauber...
-
Es gibt 2 Möglichkeiten:
- GetPlayerWeapon
GetPlayerWeaponData
GetPlayerWeapon:
if(GetPlayerWeapon(playerid) == 38)
{
Ban(killerid);
}
//Bannt den Spieler, denn er hat die Minigun
GetPlayerWeaponData:
GetPlayerWeaponData(playerid, Var, Weap, Ammo);
Var simbolisioert eine Variable oder je nach dem ein Array.
//benutzt wird das eher, um eher in eine Sachen einzugehen, wie cheating, oder einfach ein Command wie /waffe ammo... - GetPlayerWeapon
-
Was noch ich zufügen kann:
Diese Funktion sollte direkt gestartet werden, wenn ein "Scriptdieb" das Script DeAmx, so ist es ebend besser , das auch am schnellsten Wege zu machen, das heißt wenn der Gamemode gestartet wird, das diese Funktion Auswirkungen zeigen kann.Zum Zitat:
Das bezug sich ja auf den Command, was richtig sinnlos ist, darum habe ich ihm das Leben etwas leichter gemacht...//edit
-
Die einfachste Methode diese Funtkion zu aktivieren ist immer noch unter GamemodeInit...
Sprich:
public OnGameModeInit()
{
AntiDeAMX();
}
AntiDeAMX()
{
new a[][] =
{
"Unarmed (Fist)",
"Brass K"
};
#pragma unused a
}
Das findet man auch in fast jedem Script, welches das hier benutzt. -
Oder einfach eine Funktion, die die Tabelle beim starten des Server aufbaut.
Wieso macht ihr euch immer so viele Umstände, naja wer es braucht... -
Aber ist es ehrlich nötig ein Gamemode von einem Tutorial abzuschreiben/zukopieren ?
Ich meine man hätte auch direckt ein Link hier hin kopieren können, und dann hätte man (fals) gelungene/gescheite Erklärung zu den derweiligen Funktionen. -
Wenn:
Special_Action_Cuffed
Also Anim angewendet wird, sieht man dass er die Animation abspielt.
Doch die Handschellen werden durch AttachObjectToPlayer erstellt.
Was noch nützlich sein würde, wäre den Spieler zu Freezen. Wenn es nötig ist:
stock einfrieren(playerid)
{
new Name[MAX_PLAYERS_NAME],
str[128];
GetPlayerName(playerid, Name, sizeof(Name));
format(str, sizeof(str), "Spieler %s wurde eingefroren", Name);
SendClientMessageToAll(str, 0xffffffff);
TogglePlayerControllable(playerid, 0);
}
stock auftauen(playerid) :)
{
new Name[MAX_PLAYERS_NAME],
str[128];
GetPlayerName(playerid, Name, sizeof(Name));
format(str, sizeof(str), "Spieler %s wurde aufgetaut", Name);
SendClientMessageToAll(str, 0xffffffff);
TogglePlayerControllable(playerid, 1);
}//edit ist freihand endstanden
und [pwn] war zusehen o_O -
Undefined Timer
Muss nicht immer sein , dass es nicht definiert ist, es kann auch sein, dass wenn man params benutzt und beispielsweise strtok benutzt und es nicht verfügbar ist, kann dieser Befehl auch nicht ausgeführt werden, so das der Compiler sagt dass eine Sache nicht da ist. -
Und welche Errors?
Hast du auch alle Textdraws unter Gamemodeinit und als Variable ? -
Vielleicht:
for(new i = 0; i < MAX_PLAYERS, i++)
{
TextDrawCreate(Textdraw, i;
}
//edit.
Damit wird es jeder sehen können.
Dann muss dieser definierte Textdraw dementsprechend unter einen Callback stehen, wie OnPlayerConnect oder Spawn, jenachdem -
Es wird ein Textdraw erstellt:
new Text:Geldanzeige[MAX_PLAYERS];
So,
Dann erstellt man sich mit der globalen Variable ein Textdraw.
Jetzt haben wir verschiedene möglichkeiten vorzugehen.
OnPlayerUpdate können wir benutzen, aber es ist verdammt ressourcenfressend, da dieser Callback 50mal Pro Sekunde sich selber aufruft.
Trozdem all:
new Geld = GetPlayerMoney(playerid),
str[128];
format(str, sizeof ( str ), "%d ", Geld);
TextdrawSteString(Geldanzeige, str);
Sehr simpel, aber ich rate dir davon ab diesen Callback dafür zu benutzen.
Das geht dann auch mit den anderen Sachen -
Da gibt es verschiedene Sachen die angewendet werden können.
Wenn du möchtest, dass 2 Spieler da sein sollen, gleich == dem Wert
Also:
if(Variable == 2)
{
//Code
}
Soll die Variable weniger als der Wert sein, was aber in dieser Situation weniger effizient ist:
if(Variable <= 2)
{
//Code
}
Das heißt aber auch, dass bei <= der Wert kleiner sein Soll oder dieser gleicht!//edit
Das kommt ja auf die Situation an,
Welches der Zeichen verwendet werden soll.