Jetzt steht da Du bist bei keinem Gang Waffen Info Punkt. aber ich krige ich waffen.
wenn ich da nicht stehe steht da nur Du bist bei keinem Gang Waffen Info Punkt.
Jetzt steht da Du bist bei keinem Gang Waffen Info Punkt. aber ich krige ich waffen.
wenn ich da nicht stehe steht da nur Du bist bei keinem Gang Waffen Info Punkt.
Jetzt steht da Du bist bei keinem Gang Waffen Info Punkt. aber ich krige ich waffen.
Hast du das return 1 in der Schleife nach dem SendClientMessage drin?
Das kann dann nämlich nicht passieren.
Übrigens, du kannst die Geld-Abfrage auch noch aus der Schleife nehmen und davor abfragen, ob er genug Geld hat.
Ist es möglich, von einer Gang Zone die exakte Mitte ausgeben zu lassen, bzw zu berechnen?
Ist es möglich, von einer Gang Zone die exakte Mitte ausgeben zu lassen, bzw zu berechnen?
new Float:X = minx + (maxx - minx) / 2.0,
Float:Y = miny + (maxy - miny) / 2.0;
Für die Z Koordinate müsstest du dann MapAndreas benutzen.
Hi,
habe meinen Ban Befehl jetzt so gemacht:
ocmd:ban(playerid, params[])
{
new pID, string[128], reason[64];
if(sscanf(params, "us", pID, reason)) return SendClientMessage(playerid, COLOR_GREY, "Befehl: /ban [Name/Spieler-ID] [Grund]");
if(PlayerInfo[pID][pLoggedIn] == 0) return NOT_CON
if(!isAdmin(playerid, 2)) return ADM_ERROR
format(string, sizeof(string), "AdmCMD: Admin %s hat %s vom Server gebannt. Grund: %s", SpielerName(playerid), SpielerName(pID), reason);
SendClientMessageToAll(COLOR_DARKRED, string);
SetTimerEx("KickTimer", 250, false, "i", pID);
PlayerInfo[pID][pBanned] = 1;
PlayerInfo[pID][pReason] = reason;
// PlayerInfo[pID][pBannedBy] = SpielerName(playerid);
return 1;
}
Wenn ich dann In-Game jemanden banne, bspw. mit dem Grund test wird in der Datebank 116 abgespeichert... Wieso?
Du musst den Grund formatieren.
format(PlayerInfo[pID][pReason], 64, reason);
denke weil du in der Datenbank %d statt %s verwendest?
Du musst den Grund formatieren.
format(PlayerInfo[pID][pReason], 64, reason);
Funktioniert trotzdem nicht:/
Zeig mal deine Speicher-/Ladefunktion dazu.
Zeig mal deine Speicher-/Ladefunktion dazu.
stock SaveUserStats(playerid){if(!PlayerInfo[playerid][pLoggedIn]) return 1;new query[256];mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', kills = '%d', deaths = '%d', skinid = '%d', banned = '%d', reason = '%d', adminlevel = '%d' WHERE id = '%d'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pSkinid], PlayerInfo[playerid][pBanned], PlayerInfo[playerid][pReason], PlayerInfo[playerid][adminlevel], PlayerInfo[playerid][p_id]);mysql_pquery(handle, query);return 1;}
//Edit: Hab es gefixxt, hab anstatt %s %d geschrieben
Hallo!
Wie kann man es Scripten, dass wenn ich einen runden Tacho habe sich die Tachonadel zu der Zahl bewegt so schnell wie das Fahrzeug fährt? Wie bekomme ich auf das Textdraw diese Striche bei den Zahlen, damit die so schräg sind?
MfG
Wie kann man es Scripten, dass wenn ich einen runden Tacho habe sich die Tachonadel zu der Zahl bewegt so schnell wie das Fahrzeug fährt?
Du musst die Geschwindigkeit in einen Winkel ausgehend vom Startwinkel berechnen. Stelle dir dabei einen Kreis vor.
Dann ist 0 km/h z.B. bei 40 Grad, wenn man davon ausgeht, dass 0 Grad unten ist. 100 km/h ist dann bei 180 Grad und 200 km/h bei 320 Grad.
Entsprechend hast du 1,4 Grad pro 1 km/h. Je nach Maximalgeschwindigkeit können das natürlich andere Werte sein.
Dann rechnest du die Punkte auf deiner Kreisbahn aus, mittels Winkel und Radius des Tachos.
Siehe dazu hier: https://www-user.tu-chemnitz.d…phics/theorie/dg_ber.html
In der Regel ist 0 Grad ganz oben, daher müsste bei der Rechnung +/- 180 Grad Modulo 360 gemacht werden, dass das stimmt. Sprich 0 km/h wäre bei 220 Grad und 100 km/h bei 0 Grad, etc.
Natürlich müsste man mehrere Kreisbahnen mit unterschiedlichen Radien haben, um eine Nadel darzustellen.
Die Textdraws der Nadel müssen immer wieder gelöscht und an die neue Position auf dem Kreis gesetzt werden.
Wie bekomme ich auf das Textdraw diese Striche bei den Zahlen, damit die so schräg sind?
Mit den Zeichen, die dir zur Verfügung stehen in Textdraws.
Einfallen würden mir da spontan: / \ - | _
Mit etwas Verzerren über die Schriftgröße kann man das sicher recht gut hinbekommen.
Weißt jemand zufällig die Bezeichnung für die Taste 2 ? Kein Numpad.
sa-mp.com ist leider down
sa-mp.com ist leider down
Dafür gibts doch n Web-Archiv
https://web.archive.org/web/20…ki.sa-mp.com:80/wiki/Keys
Ist ja nicht so, dass es uns an Speicherplatz mangelt
Wie setzte ich einen string auf ein Enum?
So bspw:
PlayerInfo[playerid][pFunktionName] = "fname";
Hey,
ich hätte eine Frage, vlt könnt ihr mir das ja erklären.
ocmd:getstats(playerid, params[]){
new nachricht[128], pPlayer, name_pID[128];
GetPlayerName(pPlayer, name_pID, MAX_PLAYER_NAME);
if (sscanf(params, "ui",pPlayer))return SendClientMessage(playerid,COLOR_WHITE, "[hilfe] /getstats [ID]");
floatdiv(sInfo[pPlayer][Kills], sInfo[pPlayer][Tode]);
format(nachricht,sizeof(nachricht),"Name: %s\nLevel: %d\nGeld: %d$\nAdminrang: %s\nKills: %i\nTode: %i\nK/D: %.2f",name_pID,GetPlayerScore(pPlayer),GetPlayerMoney(pPlayer),GetAdminRangName(pPlayer),sInfo[pPlayer][Kills],sInfo[pPlayer][Tode],floatdiv(sInfo[pPlayer][Kills], sInfo[pPlayer][Tode]));
ShowPlayerDialog(playerid, DIALOG_GETSTATS, DIALOG_STYLE_MSGBOX, "Stats",nachricht, "Schließen", "");
return 1;
}
Hier funktioniert alles, außer der Name, ich weiß nicht wieso, aber der Name der angezeigt wird ist immer der von ID 0.
Kann mir jemand erklären weshalb, wieso oder warum ?
Wahrscheinlich irgendein kleiner Fehler, aber ich finde ihn irgendwie nicht..
Danke für die Hilfe im Voraus
Wie setzte ich einen string auf ein Enum?
So bspw:
PlayerInfo[playerid][pFunktionName] = "fname";
Das kannst du genau so machen...
Falls es nicht geht...zeige uns Code und erkläre was du vor hast
Kann mir jemand erklären weshalb, wieso oder warum ?
Das liegt daran, dass pPlayer immer 0 ist, sobald GetPlayerName aufgerufen wird, da du das vor dem sscanf aufrufst und erst ab dem sscanf aber pPlayer einen Wert zugewiesen bekommt
Die Lösung, einfach GetPlayerName unter das sscanf packen
Das kannst du genau so machen...Falls es nicht geht...zeige uns Code und erkläre was du vor hast
Das liegt daran, dass pPlayer immer 0 ist, sobald GetPlayerName aufgerufen wird, da du das vor dem sscanf aufrufst und erst ab dem sscanf aber pPlayer einen Wert zugewiesen bekommt
Die Lösung, einfach GetPlayerName unter das sscanf packen
(16929) : error 047: array sizes do not match, or destination array is too smal
enum pInfo
{ // so sieht der anfang vom enum aus
pFunktionName[MAX_PLAYER_NAME] ( IM ENUM)
Habs schon mit n paar größen probiert (512 z.B)
(16929) : error 047: array sizes do not match, or destination array is too smal
enum pInfo
{ // so sieht der anfang vom enum aus
pFunktionName[MAX_PLAYER_NAME] ( IM ENUM)
Habs schon mit n paar größen probiert (512 z.B)
Bitte unterlasse Vollzitate, das ist unnötig.
Desweiteren, zeig doch mal ganz genau wie du die Variable von dem enum deklariert hast und dann wie du den string deklariert hast, den du zuweisen willst und dann wie du es zuweist
Gib doch einfach ein wenig von deinem Code preis...oder sollen wir das alles erraten?!
Desweiteren, zeig doch mal ganz genau wie du die Variable von dem enum deklariert hast und dann wie du den string deklariert hast, den du zuweisen willst und dann wie du es zuweist
Gib doch einfach ein wenig von deinem Code preis...oder sollen wir das alles erraten?!
Also eigentlich möchte ich nur einen Namen auf pFunktionName[MAX_PLAYER_NAME] setzen
enum pInfo
{
pFunktionName[MAX_PLAYER_NAME]
};
und dieser soll dann gespeichert werden per mysql (das hab ich schon gemacht, da gibts auch kein problem)
PlayerInfo[playerid][pFunktionName] = "namebeispiel";
Wenn nicht ohne einen string geht, dann halt den wert von
PlayerInfo[playerid][pFunktionName]
auf einen bestimmten string setzen (den ich noch nicht habe)