Poste mal aus deinem Skript folgende Zeile wo die Funktion: SetGameModeText aufgerufen wird.
Beiträge von Kaliber
-
-
Ja, das wäre unsicher, du musst es so schreiben:
C
Alles anzeigenvoid PingUpdateLabel() { while (true) { ping = Convert.ToString(PingTimeAverage("google.de", 4)); if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(setPing); this.Invoke(d, new object[] { ping }); } else { this.label1.Text = ping; } Thread.Sleep(500); } } private void setPing(string ping) { this.label1.Text = ping; } -
Schreib in die Server.cfg:
lagcompmode 0
-
Oder du nutzt die erweiterten Parameter bei PlayAudioStreamForPLayer, da ist das alles schon dabei.
Nicht, wenn er die Lautstärke regulieren will...

-
Naja, um es einfach zu machen, nimm eine runde Zone.
Dann fragst du mit GetPlayerDistanceFromPoint die entfernung vom Mittelpunkt in einem Zeit-Inverval ab (mit einem Timer...jede 1000ms sollte reichen).
Dann wegen der Lautstärke musst du das Audio Plugin verwenden.
das wars eig schon

-
Ihr habt nur vergessen diese Funktion zu verwenden: https://wiki.sa-mp.com/wiki/Attach3DTextLabelToPlayer_DE
-
-
...ja da stimmt doch was nicht...
So müsste das doch iwi aussehen...
$id=0;
$rang=0;
sscanf($params, static::$commands[$command]['sscanf'], $id, $rang);Denn...in $command steht ja noch /makeleader...etc aber das ist doch für sscanf trivial, es geht da nur um den Parameter split...
Also z.B. 0 3...der wird auf id und rang in dem Fall übertragen...
-
Es wäre gut zu wissen...so ein paar Randwerte..was steht denn in $sscanf...in $params..in $command...
-
Aber dann würde die Animation trotzdem nicht bis zum Ende ausgeführt werden.
Doch natürlich...
Sobald du die Animation startest...nimmst du den Timestamp..
Dann machst du das ja per Timeout oder Interval oder AnimationFrame..ist ja egal und dort fragst du den neuen Timestamp ab und machst dann:(new Date().getTime()-timestamp)/1000;
Dann hast du die Sekunden raus...und dann prüfst du einfach ob er sich in der 1. oder 2. oder 3. oder 4. oder 5. Sekunde befindet und setzt dem entsprechend die Rotation

-
Über einen Timestamp kannst du das machen...
var timestamp = new Date().getTime();
und kannst dann ja während du die Animation ausführst immer schauen ob der Timestamp unter 5 Sekunden liegt...ansonsten Animation beenden

-
Poste mal deine Funktion public UpdateHaus

-
Das kommt auf den Server an

Jenachdem mit welchem Befehl oder mit welcher Taste das da geregelt ist
-
So schreiben:
if(disablereg == true)
{
LoginScreen(playerid,0)
ShowPlayerDialog(playerid,636,DIALOG_STYLE_MSGBOX,"Registration Nachts ausgeschaltet","Hallo,\ndie Registartion ist Nachts von 0-8 Uhr geschlossen.\nDer Grund dafür sind Cheater etc.\nWir bitten um Verständnis!","Bestätigen","");
SetTimerEx("ConnectKick", 700,0,"i",playerid);
LoginTimer[playerid] = SetTimerEx("Yawar",20000,0,"i",playerid);
return 1;
}mfg.

-
Einfach so:
Cnew str[1000]="Waffe\tPreis",id = GetGruppe(Spieler[playerid][Gruppe]); for(new j; j < sizeof(GruppenWaffen[]); j++) { format(str,sizeof(str),"%s\n%s\t$%d",str,GruppenWaffen[id][j][WaName],GruppenWaffen[id][j][WPreis]); } return ShowPlayerDialog(playerid,DIALOG_W_FREISCHALTEN,DIALOG_STYLE_TABLIST_HEADERS,""SERVERNAME" | Waffen freischalten",str,"Freischalten","Zurück"); -
Einfach in der server.cfg lagcompmode auf 1 setzen

-
dass es die Fraktion Bundeswehr auf keinem einzigen Server mehr gibt?
So stimmt das ja nicht ganz

Allerdings, wurde diese von vielen Servern entfernt, damit da keine Cheater oder kleine Kinder kommen und mit ner Hydra oder nem Panzer Mist bauen
Die Kinder haben auf den Servern extrem zugenommen, deshalb sind die normalen User weniger geworden 
-
Hab doch geschrieben, du musst pSleep verwenden:
pSleep(5000)<a,"i",playerid>;
So muss der Code da immer lauten

-
Hatte dafür mal das hier geschrieben: [ MAKRO ] Sleep Funktion
Kannst es ja mal ausprobieren, würde dann z.B. bei dir so aussehen:
C
Alles anzeigenocmd:einweisung(playerid, params[]); { if(!IsPlayerInRangeOfPoint(playerid, 6, 1984.6173,1027.9221,10.8203,270.7764)return SendCLientMessage(playerid, Rot, "Du bist nicht in der nähe des Einweisers"); if(PlayerInfo[playerid][pLevel] > 2)return SendClientMessage(playerid, Rot, "Du kannst nur bis Level 2 eine Einweisung erhalten"); ApplyActorAnimation(ActorEinweisung, "DEALER", "DEALER_IDLE", 4.1, 1, 0, 0, 0, 0); //Mit Timer Messages Senden SCM... pSleep(1000*10)<a,"i",playerid>; SCM... pSleep(1000*10)<b,"i",playerid>; SCM... pSleep(1000*10)<c,"i",playerid>; SCM... pSleep(1000*10)<d,"i",playerid>; Nachm Timer.. ClearActorAnimations(ActorEinweisung); return 1; }mfg.

-
Du kannst das so nicht initialisieren...da du zu viele Dimensionen hast.
Hier, so könntest du es machen:
C
Alles anzeigenenum GWaffen // GruppenWaffen Info { WaName[30], wid, WPreis, WMunition, MatsVerbrauch, bool:wFrei }; new GruppenWaffen[MAX_GRUPPEN][7][GWaffen]; //Bitte so deklarieren! //Dann unter OnGameModeInit: for(new i; i<sizeof(GruppenWaffen); i++) { SetGruppenWaffen(i,0, "Desert Eagle", 24, 12200, 100, 6, false); SetGruppenWaffen(i,1, "Schrotflinte", 25, 60350, 50, 3, false); SetGruppenWaffen(i,2, "MP5", 29, 20040, 500, 10, false); SetGruppenWaffen(i,3, "Sniper Rifle", 34, 50040, 50, 25, false); SetGruppenWaffen(i,4, "AK47", 30, 350440, 500, 17, false); SetGruppenWaffen(i,5, "M4", 31, 45500, 250, 22, false); SetGruppenWaffen(i,6, "Rifle", 33, 10400, 40, 5, false); } //Dann die Funktion SetGruppenWaffen: stock SetGruppenWaffen(idx,slot,w_name[30],w_id,w_preis,w_munni,w_mats,bool:w_frei) { format(GruppenWaffen[idx][slot][WaName],30,w_name); GruppenWaffen[idx][slot][wid] = w_id; GruppenWaffen[idx][slot][WPreis] = w_preis; GruppenWaffen[idx][slot][WMunition] = w_munni; GruppenWaffen[idx][slot][MatsVerbrauch] = w_mats; GruppenWaffen[idx][slot][wFrei] = w_frei; }mfg.

//Edit: anstatt der 41..wären MAX_GRUPPEN da sinnvoller
