110067B1-ACD3-407B-B85D-8472D80798CD.jpegWie erstellt man so eine Liste nur mit Autos? Also die Funktion kenne ich, muss man jedoch jede einzelne Box mit einem Textdraw erstellen oder gibt es da einen Trick?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Box mit einem Textdraw erstellen oder gibt es da einen Trick?
Also das was du da abgescreent hast wurde mit einem Include einfach erstellt:
-
Also das was du da abgescreent hast wurde mit einem Include einfach erstellt:
http://forum.sa-mp.com/showthread.php?t=407045Kannst das auf deutsch eventuell erklären bitte

Bei denen ist die Deutsche Übersetzung down.
Wäre echt nett
-
Wie erstellt man so eine Liste nur mit Autos?
Falls du das ganze nicht von Grund auf machen möchtest, lade doch einfach mal das Filterscript "vspawner". Jenes ist im Standart Filterscripts Ordner, wenn du dir einen Server downloadest.
Das ganze sieht den so aus (Kann man natürlich alles anpassen)Also einfach das Filterscript 'vspawner' laden, danach Ingame /vspawner eingeben
-
[debug] #0 0004cc5c in public CheckTacho () from newrl.amx
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at negative index -400Kam aufeinmal in meiner Konsole :o?
forward CheckTacho();
public CheckTacho()
{
new string[512],Float:vHealth;
for(new i;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i))continue;
new vehicleid = GetPlayerVehicleID(i), modelid = GetVehicleModel(vehicleid);
GetVehicleHealth(vehicleid,vHealth);
format(string,sizeof string,"%d",GetPlayerSpeed(i));
PlayerTextDrawSetString(i,CarSpeed[i],string);
if(Praxis[i] == 1) {
format(string,sizeof string,"Zustand: ~g~%i",floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,Textzustand[i],string); }
if(tuer[vehicleid] == false)
{
if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,CarFahrzeug[i],string);
}
else if(tuer[vehicleid] == true)
{
if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
PlayerTextDrawSetString(i,CarFahrzeug[i],string);
}
}
return 1;
} -
Moin, ich hab da mal wieder eine kleine Frage, ich lasse jetzt ein Teil meiner Datenbank vom Script aus Erstellen, leider weiß ich nicht wie es mache das "ID" auch den wert "Auto Increment" erhält ohne das ich ihn in der Datenbank festlegen muss.
stock CreatePlayerTable()
{
new query[512];
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `Spieler` (");
format(query, sizeof(query), "%s`ID` int(11) NOT NULL PRIMARY KEY,", query);
format(query, sizeof(query), "%s `Spielername` varchar(24) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Passwort` varchar(256) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Geschlecht` int(1) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Bargeld` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Level` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Skin` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
mysql_query(Handle, query);
return 1;
}Mit freundlichen Grüßen,
-
Alles anzeigen
Moin, ich hab da mal wieder eine kleine Frage, ich lasse jetzt ein Teil meiner Datenbank vom Script aus Erstellen, leider weiß ich nicht wie es mache das "ID" auch den wert "Auto Increment" erhält ohne das ich ihn in der Datenbank festlegen muss.
stock CreatePlayerTable()
{
new query[512];
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `Spieler` (");
format(query, sizeof(query), "%s`ID` int(11) NOT NULL PRIMARY KEY,", query);
format(query, sizeof(query), "%s `Spielername` varchar(24) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Passwort` varchar(256) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Geschlecht` int(1) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Bargeld` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Level` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Skin` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
mysql_query(Handle, query);
return 1;
}Mit freundlichen Grüßen,
Ich denk so sollte es gehen.
stock CreatePlayerTable()
{
new query[512];
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `Spieler` (");
format(query, sizeof(query), "%s`ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,", query);
format(query, sizeof(query), "%s `Spielername` varchar(24) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Passwort` varchar(256) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Geschlecht` int(1) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Bargeld` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Level` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `Skin` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
mysql_query(Handle, query);
return 1;
} -
Ja, hast Recht gehabt.

Hab da noch mal eine Frage,
ich mache derzeit eine Skin Auswahl wo man sich mit der Leertaste durch die Skins durch Schalten kann, wie kann ich am besten die Skins Defineiren?
zB, Skin 1 - 10 hat man zur Auswahl, das man dann mit mit dem Drücken der Leertaste von Skin 7 zu Skin 8 Gewechselt.MfG.
-
Kam aufeinmal in meiner Konsole :o?
Musst auch prüfen, dass die modelid nicht 0 ist.
Also, dass er sich auch wirklich in einem Fahrzeug befindet.zB, Skin 1 - 10 hat man zur Auswahl, das man dann mit mit dem Drücken der Leertaste von Skin 7 zu Skin 8 Gewechselt.
Das kommt darauf an...
Wenn du sie in aufsteigener Reihenfolge hast, dann kannst du einfach einen Counter nutzen.
Unter [wiki]OnPlayerKeyStateChange[/wiki] kannst du prüfen welche Taste er drückt und dann einfach eine globale Spielervariable hochzählen lassen und setzen lassen.
Oder du hast den Counter + ein Skin Array:C//Global deklarieren stock const auswahl_skins[] = {5,10,19,237,311}; new auswahl_counter[MAX_PLAYERS]; //Und dann so, wenn er die Leertaste drückt: if(auswahl_counter[playerid] == sizeof(auswahl_skins)) auswahl_counter[playerid] = 0; //Wieder von vorne Anfangen SetPlayerSkin(playerid, auswahl_skins[auswahl_counter[playerid]++]); //Musst es nicht in eine Zeile quetschen xD Nur zur Verdeutlichung -
Musst auch prüfen, dass die modelid nicht 0 ist.
Also, dass er sich auch wirklich in einem Fahrzeug befindet.Hab ich doch :o
if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i))continue; -
-
Hab ich doch :o
Hier, deinen Code mal ein wenig optimiert:
C
Alles anzeigenforward CheckTacho(); public CheckTacho() { new string[200],Float:vHealth,vehicleid,h; for(new i=GetPlayerPoolSize(); i!=-1; i--) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; vehicleid = GetPlayerVehicleID(i); if(!vehicleid) continue; GetVehicleHealth(vehicleid,vHealth); valstr(string,GetPlayerSpeed(i)); PlayerTextDrawSetString(i,CarSpeed[i],string); h = floatround(vHealth, floatround_round)/10; if(Praxis[i] == 1) { format(string,sizeof string,"Zustand: ~g~%i",h); PlayerTextDrawSetString(i,Textzustand[i],string); } format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~T\172ren: %s~w~~n~Zustand: %s%d ~w~Prozent",PlayerVehicle[GetVehicleModel(vehicleid)-400],((tuer[vehicleid])?("~g~Offen"):("~r~Geschlossen")),((h<30)?("~r~"):(h<50)?("~y~"):("~g~")),h); PlayerTextDrawSetString(i,CarFahrzeug[i],string); } return 1; }Dann steht da auch ein ü und kein ue, bei Türen

-
Ist es möglich einen Balken "schrumpfen" zulassen? Habe ein Bedürfnissystem und möchte keine - - - - mehr haben sondern ein kompletter textdraw box als balken also bsp __________
Momentan sieht es so aus:
switch(GetPVarInt(i, "statusHunger")) { case 0: PlayerTextDrawSetString(i,Hungerverlust[i], "~r~i"); case 1: PlayerTextDrawSetString(i,Hungerverlust[i], "~r~i"); case 2: PlayerTextDrawSetString(i,Hungerverlust[i], "~r~i i"); case 3: PlayerTextDrawSetString(i,Hungerverlust[i], "~r~i i i"); case 4: PlayerTextDrawSetString(i,Hungerverlust[i], "~y~i i i i"); case 5: PlayerTextDrawSetString(i,Hungerverlust[i], "~y~i i i i i"); case 6: PlayerTextDrawSetString(i,Hungerverlust[i], "~y~i i i i i i"); case 7: PlayerTextDrawSetString(i,Hungerverlust[i], "~y~i i i i i i i"); case 8: PlayerTextDrawSetString(i,Hungerverlust[i], "i i i i i i i i"); case 9: PlayerTextDrawSetString(i,Hungerverlust[i], "i i i i i i i i i"); case 10: PlayerTextDrawSetString(i,Hungerverlust[i], "i i i i i i i i i i"); default: PlayerTextDrawSetString(i,Hungerverlust[i], "i i i i i i i i i i"); }als bild:
hier.png -
-
Ha, irgendwie funkt das nicht
Funktion:
CreatePlayerProgressBar(playerid, Float:x, Float:y, Float:width = 55.5, Float:height = 3.2, color = 0xFF1C1CFF, Float:max = 100.0, direction = BAR_DIRECTION_RIGHT, bgcolor = 0x000000FF);Mein versuchscode, aber nichts wird erstellt.
ocmd:progress(playerid) {
CreatePlayerProgressBar(playerid, 272.117401, 439.583251 ,55.5,3.2,0xFF1C1CFF,100.0,BAR_DIRECTION_RIGHT,0x33AA33AA);
SendClientMessage(playerid, info, "done");
return 1; } -
Es fehlt das ShowPlayerProgressBar

#Handy -
Wie und Wo definiere ich die BarID?
new progi;
progi = CreatePlayerProgressBar(playerid, 272.117401, 439.583251 ,55.5,3.2,0xFF1C1CFF,100.0,BAR_DIRECTION_RIGHT,0x33AA33AA);
ShowPlayerProgressBar(playerid, progi);
So gibt es 2x warning 213: tag mismatch -
new PlayerBar:progi;
-
Hey,
Kleine Frage gibt es in SAMP Winter/Sommerzeit ?
weil wenn ich das jetze mache wird mir angezeigt 20:11 ?
CodepInfo[playerid][pPersot] = gettime() + 5 * 60; TimestampToDate(pInfo[playerid][pPersot],yea,mon,day,hou,minn,sec,2); format(string,sizeof(string),"Sekretärin: Wir haben ihren Personalausweis beantragt, sie können ihn am %02d.%02d.%d um %02d:%02d:%02d abholen!",day,mon,yea,hou,minn,sec); SendClientMessage(playerid,COLOR_RED,string); -
Hey,
Kleine Frage gibt es in SAMP Winter/Sommerzeit ?
weil wenn ich das jetze mache wird mir angezeigt 20:11 ?
CodepInfo[playerid][pPersot] = gettime() + 5 * 60; TimestampToDate(pInfo[playerid][pPersot],yea,mon,day,hou,minn,sec,2); format(string,sizeof(string),"Sekretärin: Wir haben ihren Personalausweis beantragt, sie können ihn am %02d.%02d.%d um %02d:%02d:%02d abholen!",day,mon,yea,hou,minn,sec); SendClientMessage(playerid,COLOR_RED,string);Wenn mich nicht alles täuscht, nimmt er die Serverzeit/OS eingestellte Zeit. Schau mal da nach etwaigen Problemen.
-
Der Server läuft bei mir aufm Rechner zu diesem Zeitpunkt
-