Wenn du es richtig machst, ja.
Probiere es aus. Falls es nicht klappt, kannst du ja den Code posten und erklären was nicht geht.
Wenn du es richtig machst, ja.
Probiere es aus. Falls es nicht klappt, kannst du ja den Code posten und erklären was nicht geht.
Das heißt, dass du dich nicht zu deiner MySQL Datenbank verbinden kannst.
Hast du denn den MySQL Server am laufen? Wenn ja, mit welchen Daten verbindest du dich denn?
Willkommen auf breadfish!
Schalte bitte den MySQL Debug/Log an und poste dann was im Log steht, wenn du dich registrieren willst. Wie du das machst steht hier: Tipps: Scripting-Probleme richtig erklären (Kapitel 1.4.)
public DeinTimer(alpha)
{
TextDrawBackgroundColor(MyTextdraw, 0x000000FF - alpha);
if(alpha < 255) SetTimerEx("DeinTimer", 20, 0, "d", alpha+1);
return 1;
}
Als Beispiel.
http://wiki.sa-mp.com/wiki/TextDrawBackgroundColor
TextDrawBackgroundColor(MyTextdraw, 0x000000FF);
Was meinst du mit einer schwarzen Einblendung?
Der Code für schwarz ist: 0x000000FF
Wenn du es von durchsichtig zu schwarz gehen lassen willst, brauchst du einen Timer, der von 0x00000000 nach 0x000000FF geht, schrittweise.
Sicher auch hilfreich: http://colorpicker.com/
Hier hast du eine Auswahl, die du entweder nehmen kannst, oder vom Code abgucken kannst:
[ FILTERSCRIPT ] Dynamisches Reportsystem by Azure & Easy
[ FILTERSCRIPT ] dynamicReport v1.12
[ FILTERSCRIPT ] Ticketsystem (von TutNichts)
Mehr wie es in der server.cfg am lagcompmode zu ändern kannst du leider nicht machen.
Klar ist das möglich.
if(strcmp(cmd,
Zu
if(!strcmp(cmd,
Sind zwei Strings gleich wird 0 zurück gegeben, daher das Ausrufezeichen.
Es wird ja der Lag kompensiert, wenn du das aus machst, also auf 0 setzt, wird der Lag zwischen den zwei Spielern nicht mehr kompensiert. Wenn du es jetzt mit einem Spieler testest, der kaum einen Lag dir gegenüber aufweist, ist es klar, dass die Hitbox fast am Skin ist.
Wenn du es mit einem Spieler aus Indien testest, der zudem ein schlechtes Internet hast dann wirst du den Unterschied merken.
Ok, komisch.
Eigentlich sollte das keinen Unterschied machen, richtig.
Ja, per Command habe ich das ausführen lassen, aber auch das sollte keinen Unterschied machen.
Folgendes kannst du mal probieren: Lade dir einen leeren Server herunter (http://files.sa-mp.com/) erstelle einen leeren GameMode und packe nur die Schleife mit dem SetPlayerMarkerForPlayer in einen Befehl (nur den GameMode mit dem Befehl laden, keine Filterscripts, keine Plugins, nichts). Dann gehst du in den Server und gibst den Befehl ein. Die prints lässt du drin. Musst eben darauf achten, dass du entweder in der Abfrage die virtuelle Welt zu 0 änderst, oder die Spieler bei OnPlayerSpawn in Welt 7 setzt.
Falls das auch nicht klappt, poste bitte den Code von dem "leeren" Gamemode.
Die Links von BlueG sind tot (http://files.g-stylezzz.com/), da es die Seite nicht mehr gibt. Also, ja, das ist bei allen so.
Wenn du auf der Suche nach dem R5 bist, hier hast du zwei Mirrors:
MySQL Plugins R5?
[MySQL] R5 von G-sTyLeZzZ (Linux)
Du musst jeweils nach einem
GivePlayerMoney(playerid, -1000);
Noch das einfügen:
sSpieler[playerid][Bargeld]-=1000;
Oder du suchst nach der Funktion die das macht. Das ist weil der Code ein Serverside Geld hat.
Poste bitte den Befehl mit dem du das Geld abziehst, und poste den Teil des Codes mit dem du einen Spieler speicherst, und sage uns unter welchem Callback die Speicherung steht (OnPlayerDisconnect?).
1024
Du kannst die aber auch mit dem Streamer erstellen, dann hast du das Problem mit dem Limit los.
Vielleicht klappt es dann.
Erstellst du das Textdraw auch bei OnPlayerConnect? Wenn ja, dann musst du in das public noch das TextDrawSetPreviewModel rein machen, und dem Spieler das Textdraw dann anzeigen.
Ich habe auch einen stock daraus gemacht. Den Rest habe ich gleich gelassen, nur das Dynamic habe ich weg gemacht da ich den Streamer grade nicht parat hatte.
Ansonsten war alles gleich.
Hast du vielleicht das Limit erreicht?
OnPlayerConnect:
query[128];
format(query,sizeof(query),"SELECT Skin FROM user WHERE username='%s'",name); //Anpassen
mysql_function_query(dbhandle,query,true,"OnPlayerSkinTextdraw","i",playerid);
forward OnPlayerSkinTextdraw(playerid);
public OnPlayerSkinTextdraw(playerid)
{
if(cache_num_rows() != 0) SpielerInfo[playerid][Skin] = cache_get_field_content_int(0,"Skin",dbhandle);
else SpielerInfo[playerid][Skin] = 0;
return 1;
}
Mit strtok bist du besser dran.
ocmd:setstats(playerid,params[])
{
new str[144],pID,wert, tmp[20], tmp2[20], tmp3[20], idx;
tmp = strtok(params, idx);
tmp2 = strtok(params, idx);
if(!strlen(tmp2))return SCM(playerid,-1,"Fehler: /setstats [playerid/SpielerName] [name]"),SCM(playerid,-1,"[name]: Respektpunkte");
if(IsNumeric(tmp)) pID = strval(tmp);
else pID = ReturnPlayerID(tmp);
if(!IsPlayerConnected(pID))return SCM(playerid,-1,"Der Spieler ist nicht online");
if(!strcmp(tmp2,"Respektpunkte",true))
{
tmp3 = strtok(params, idx);
if(!strlen(tmp3))return SCM(playerid,-1,"Fehler: /setstats [playerid/SpielerName] [Respektpunkte] {FF0000}[Wert]");
new wert = strval(tmp3);
new old=SInfo[pID][pRespekt];
SInfo[pID][pRespekt]=wert;
new neu=SInfo[pID][pRespekt];
SetPlayerProgressBarValue(playerid, ffffd, float(SInfo[playerid][pRespekt]));
SCMEx(pID,-1,"Admin: %s hat deine Respektpunkte verändert. Vorher: %d Nacher: %d",SpielerName(playerid),old,neu);
format(str,sizeof str,"SETSTATS: Admin %s hat die Respektpunkte von %s verändert. Vorher: %d Nacher: %d",SpielerName(playerid),SpielerName(pID),old,neu);
printlog(str);
}
return 1;
}