Da ist weder eine Crashmeldung, noch lädst du überhaupt crashdetect ![]()
Hast du auch dein Skript compilt und bist sicher, dass du im richtigen Server Ordner bist etc..nachdem du mysql_log unter OnGameModeInit gepackt hast?
Da ist weder eine Crashmeldung, noch lädst du überhaupt crashdetect ![]()
Hast du auch dein Skript compilt und bist sicher, dass du im richtigen Server Ordner bist etc..nachdem du mysql_log unter OnGameModeInit gepackt hast?
Weiß jemand warum habe mehrere Fraktionen Eingetragen aber irgendwie klappt das nicht so...
Schreib es so:
Wieso schreibst du das immer so unordentlich und wieso startest du Schleifen immer ab 1?
Indizes beginnen in C ähnlichen Sprachen immer ab 0.
if((RELEASED(KEY_FIRE) && GetPlayerWeapon(playerid) == 41))
{
new fc = GetClosestSprayTag(playerid);
if(fc == -1) return 1;
if(SprayTagInfo[fc][stFactionID] == Spieler[playerid][pFraktion]) return 1;
new gstring[128];
if(SprayTagInfo[fc][stSprayed] > gettime())
{
new resttime = SprayTagInfo[fc][stSprayed]-gettime();
format(gstring, sizeof(gstring),"[Info]: {FFFFFF}Dieses SprayTag kann erst in %i:%02d Minuten gecrosst werden!", resttime/60, resttime%60);
return SendClientMessage(playerid, COLOR_WHITE, gstring);
}
if(Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10)
{
new model = (Spieler[playerid][pFraktion] == 9) ? 18659 : 18667;
DestroyDynamicObject(SprayTagInfo[fc][stObjectID]);
SprayTagInfo[fc][stObjectID] = CreateDynamicObject(model, SprayTagInfo[fc][stPos_X], SprayTagInfo[fc][stPos_Y], SprayTagInfo[fc][stPos_Z], SprayTagInfo[fc][stRot_X], SprayTagInfo[fc][stRot_Y], SprayTagInfo[fc][stRot_Z]);
format(gstring, sizeof(gstring), "{00FF00}Graffiti\n\n{FFFFFF}Mitglieder einer Gang,\nkönnen hier ihr Graffiti sprühen\n\n{00FF00}Besitzer {FFFFFF}%s", GetFraktionName(SprayTagInfo[fc][stFactionID]));
Update3DTextLabelText(SprayTagInfo[fc][Spray3D], COLOR_WHITE, gstring);
SprayTagInfo[fc][stSprayed] = (gettime()+(30*60));
format(gstring, sizeof(gstring), "UPDATE `server_graffitis` SET `FactionID`='%d' WHERE `ID`='%d'", Spieler[playerid][pFraktion], fc);
mysql_function_query(MySqlConnection, gstring, false, "", "");
}
return 1;
}
stock GetClosestSprayTag(playerid,Float:range=8.0)
{
new Float:m=3000.0,idx = -1;
for(new fc,Float:tmp; fc<MAX_SPRAYTAGS; fc++)
{
if(!SprayTagInfo[fc][stErstellt]) continue;
tmp = GetPlayerDistanceFromPoint(playerid,SprayTagInfo[fc][stPos_X], SprayTagInfo[fc][stPos_Y], SprayTagInfo[fc][stPos_Z]);
if(tmp < m) m=tmp,idx=fc;
}
return (m > range) ? -1 : idx;
}
Alles anzeigen
Dein Fehler war, dass du auch immer nur die alte Fraktion wieder eingetragen hast und nicht die aktuelle Fraktion vom Spieler.
Zudem wenn jemand von der Fraktion z.B. 1 gesprayt hätte..würde der da drinnen stehen, obwohl gar kein Graffiti gesetzt worden wäre...
wieso denn eig ne farbe ich will die doch normal haben ?
Musst du halt angeben ![]()
Aber kannst du ja transparent machen: 0x00000000
Dann passiert da nix ![]()
bei Benutzerkonten oder
...wie viele andere Möglichkeiten hast du sonst noch gefunden? ![]()
Achso ja gut xD
Also die Fehlermeldung besagt, dass Username oder Passwort falsch ist ![]()
Das einfach nochmal über phpmyadmin prüfen.
Ehh die Uhrzeit ist falsch, bist du sicher, dass das der aktuelle Log ist? ![]()
Und wie sieht das query aus und was sagt der mysql_log?
Dir fehlen bestimmte C++ Redistributable ![]()
http://www.microsoft.com/en-us/download/details.aspx?id=5555
http://www.microsoft.com/en-us/download/details.aspx?id=8328
http://www.microsoft.com/en-us…oad/details.aspx?id=30679
https://www.microsoft.com/en-u…oad/details.aspx?id=48145
Jeweils die x86 Version.
Downloade eins und probiere es aus, wenn es geht, ist okay, wenn nicht, musste weitere downloaden ![]()
Die Antwort auf deine Frage, steckt im Namen der jeweiligen TextDraws ![]()
TextDrawCreate, wenn der Text für alle Spieler die es sehen gleich ist.
Das andere eben für Spieler spezifische Dinge.
In deinem Fall natürlich letzteres ![]()
einfach nur an die Wand sprayn kann
Jaaa, wenn das so "einfach" wäre ![]()
Also sowas kann man nicht wirklich dynamisch machen, da du ein Objekt ja erstellen musst und du nicht die Position von der Wand ermitteln kannst, außer du nutzt ColAndreas o.ä.
Das heißt im Endeffekt musst du vorgeben, wo die Objekte erstellt werden und quasi vor mappen und dann erst anzeigen, wenn man sie gesprayt hat ![]()
Mussst ein Text3D: davor packen ![]()
Du musst float: zu Float: ändern ![]()
Gibt es eine Möglichkeit das man das Forum und den Teamspeak mit den Server verdindet? gibt es da eventuell ein Filterscript?
Hier Ts: Ts3 mit Samp Server verbinden
Und bei Forum, kommt darauf an, welche Software du nutzt, ob WBB 3 oder WBB 4 oder what ever ![]()
Ne du musst den inputtext vom Dialog speichern unter [wiki]OnDialogResponse[/wiki] ![]()
Dann einfach
Spieler[playerid][pTs3Ind] = strval(inputtext);
ts_setusertoservergroup(Spieler[playerid][pTs3Ind],"Registiert");
und würde er die ID vom TeamSpeak auch in der Datenbank eintragen und Speichern?
Die ID vom TeamSpeak? Wenn du von der ClientID redest, ja dann kannst du die Variable einfach speichern und laden.
Allerdings habe ich noch nie mit dem System gearbeitet, vielleicht weiß da jemand besser bescheid ![]()
Klar, kann man machen, dass man seine clientid eingeben muss und dann setzt du den in die Gruppe.
Printe dir doch einfach mal die ids und probier das System aus, dann siehst du es ja ![]()
Wollte mal fragen wie ich einen Server Restart nach einem Textdraw Countdown mache.
Naja, also zuerst ist klar, du musst ein TextDraw designen, dafür gibt es ja haufenweise Editoren ![]()
Allerdings, da der Text ja für alle Spieler gleich ist, verwende direkt normale TextDraws und keine PlayerTextDraws.
Und dann startest du einfach einen Timer wie:
//Im Befehl
SetTimerEx("ServerRestart",997,0,"ii",5,0); //5 heißt 5 minuten
//Dann unten im Skript
forward ServerRestart(minuten, sekunden);
public ServerRestart(minuten, sekunden)
{
if(sekunden == 0) minuten--,sekunden=59;
else sekunden--;
//Hier dann sowas wie:
new string[64];
format(string,sizeof(string),"Restart in %02d Minuten & %02d Sekunden.",minuten,sekunden);
TextDrawSetString(restart, string);
TextDrawShowForAll(restart);
if(sekunden == 0 && minuten == 0) return SendRconCommand("gmx");
return SetTimerEx("ServerRestart",997,0,"ii",minuten,sekunden);
}
Alles anzeigen
Das was du beim TeamSpeak versuchst verstehe ich nicht so ganz.
Hier mal ein Beispiel Thread zur Inspiration: Ts3 mit Samp Server verbinden
Hier evtl wieder vorherige Dinge mit der Kompatibilität und dem Adminmodus ausprobieren xD
#Handy
Was mich nur wundert das kein Crash Log da ist
Das passiert, wenn sich die .exe automatisch beendet, anstatt zu crashen ![]()
2 Dinge die evtl noch helfen könnten...
1. Mal den GTA Ordner verschieben z.B. mal auf n Desktop packen.
2. Eventuell ein anderes GTA ausprobieren, es sei denn du bist sicher, dass genau diese Version schon mal gelaufen ist.
Windows Kompatibilität mal auf Win Xp stellen und als Admin ausführen...
und mal den Crash-Log posten ![]()