Das ist ein SA-MP Bug, nachdem man den Server neu gestartet hat.
Normalerweise sollte es behoben sein, wenn du das Spiel verlässt und dich neu verbindest.
Beiträge von Jeffry
-
-
Du musst den vorherigen Text übernehmen, und es reicht, wenn du den Dialog nach der Schleife anzeigen lässt.
C
Alles anzeigenif(strcmp("/listtest",cmd,true) == 0) { new StatusText[60], x; new string[1024]; for(new h = 0; h < MaxGangAutos; h++) { if(PlayerInfo[playerid][pLeader] == GangAutoInfo[h][cOwner] || PlayerInfo[playerid][pMember] == GangAutoInfo[h][cOwner]) { if(GangAutoInfo[h][cTyp] != -1) { if(GangAutoInfo[h][cStatus] == 0) { StatusText = "Fahrtüchtig"; } if(GangAutoInfo[h][cStatus] == 1) { StatusText = "Benötigt Reparatur"; } if(GangAutoInfo[h][cStatus] == 2) { new Standschon; if(GangAutoInfo[h][cStandTime] > 500) { Standschon = Time()-GangAutoInfo[h][cStandTime]; } new Kosten = Standschon/1*5; format(StatusText, sizeof(StatusText), "Abgeschleppt, Standgebühr: %s$", GetPoint(Kosten)); } x++; format(string, sizeof(string), "%sSlotID: %d | CarID: %d | Auto: %s | Status: %s\n", string, h, GangAutoInfo[h][cID], VehNames[GangAutoInfo[h][cTyp]-400], StatusText); } } } if(x == 1) format(string,sizeof(string),"Deine Fraktion hat %d Fahrzeug\n%s",x, string); else format(string,sizeof(string),"Deine Fraktion hat %d Fahrzeuge\n%s",x, string); ShowPlayerDialog(playerid, DIALOG_GANGCARS, DIALOG_STYLE_LIST,"Gangautos:",string,"OK",""); return 1; }EDIT: (Post unten)
@Revolution-Roleplay : Danke, das wünsche ich dir auch!
-
Nutzt du alte Includes?
Aktualisiere deine Includes mal mit den neusten, und starte dann die pawno.exe aus dem /pawno/ Verzeichnis deines Server-Ordners, und öffne deinen Code über dessen "Öffnen" Funktion.
http://files.sa-mp.com/samp037_svr_R2-1-1_win32.zip -
Soweit ich weiß nicht.
Wenn du willst kannst du mir den ganzen Ordner über einen seriösen Filehoster oder über eine Cloud per PN schicken, dann versuche ich es heute Abend für dich. -
-
1)
Da du Caching verwendest bist du schon auf dem neueren Stand. Du verwendest wahrscheinlich nicht das R39-3 Plugin, aber das macht kaum einen Unterschied. Das kannst du also problemlos so verwenden.2)
Du musst den Skin bei OnPasswordResponse in eine Variable laden (gleich wie das Geld, ...) und dann bei OnPlayerSpawn über die Variable setzen.
SetPlayerSkin(playerid,sInfo[playerid][pSkin]);
Denn du kannst nur etwas aus dem Cache auslesen, wenn du ihn gespeichert hast, oder ein SELECT Query zuvor ausgeführt hast. -
Du kannst es an alle diese Tasten: https://wiki.sa-mp.com/wiki/Keys
mit http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange binden.[wiki]Keys[/wiki]
[wiki]OnPlayerKeyStateChange[/wiki] -
Ist der Befehl komplett so wie du ihn gepostet hast?
Wenn ja, dann fehlt da nämlich eine Klammer am Ende.Cif(!strcmp("/handy",cmd,true)) { new stra[3072]; if(GetPlayerLanguage(playerid)==LANG_DE) { for(new i=0;i<sizeof(DialogHandy);i++) format(stra,sizeof(stra),"%s%25s%s%s\n",stra,DialogHandy[i][0],DialogHandy[i][4],DialogHandy[i][2]); ShowPlayerDialog(playerid,DIALOG_HANDY,DIALOG_STYLE_LIST,"Befehle:",stra,"Waehlen","Schliessen"); } } //<- die hierDas würde die 26 Errors erklären.
-
#define DIALOG_HANDY 1337 39
zu:
#define DIALOG_HANDY 39Die 1337 war nur ein Beispiel.
-
Bei mir kompiliert das ohne Probleme.
Wie sieht denn dein DIALOG_HANDY - define aus? -
So kannst du die Waffen abnehmen und wieder geben:
Unter den Includes:
Beim Speichern der Waffen:Cfor(new i=0; i<13; i++) { SavedWeapon[playerid][i][0]=0; SavedWeapon[playerid][i][1]=0; GetPlayerWeaponData(playerid, i, SavedWeapon[playerid][i][0], SavedWeapon[playerid][i][1]); } ResetPlayerWeapons(playerid);
Beim Geben:CResetPlayerWeapons(playerid); for(new i=0; i<13; i++) if(SavedWeapon[playerid][i][1]>0) GivePlayerWeapon(playerid, SavedWeapon[playerid][i][0], SavedWeapon[playerid][i][1]);
Das Schlagen mit der Faust müsstest du eventuell bei OnPlayerKeyStateChange unterbinden.Wie du einen Countdown Timer machst habe ich hier erklärt:
Verbleibende Zeit AnzeigeDu müsstest es eben mit einem Array anpassen, damit es für jeden Spieler gesondert läuft.
-
Welche Zeile ist die Fehlerzeile?
-
Es könnte eine beschädigte Datei sein, oder einfach ein Fehler, der sich so direkt nicht erklären lässt.
Kannst du es nicht an einem anderen Rechner ausprobieren? Wenn es dort klappt, dann kannst du den Ordner auf dem Rechner auf dem es nicht geht löschen, und den Ordner nutzen, von dem Rechner auf dem es geht.Oder versuche mal, deinen Server-Ordner nur zu kopieren, den alten zu löschen und dann im neuen Ordner zu kompilieren. Klappt das?
-
-
#define DIALOG_HANDY
hier fehlt noch die Dialog ID.#define DIALOG_HANDY 1337
-
Schalte bitte mal den MySQL Debug Modus ein und poste dann was im MySQL Log (oder Server Log) steht.
-
Dann setze diesen Teil mal ganz oben zu OnDialogResponse hin und/oder ändere die Dialog ID zu einer anderen ab, vielleicht ist die bereits in Verwendung. Wird der Print dann gezeigt?
-
Kann ich irgendwie die BoxSize (Textdraw) dynamisch verändern, so dass man auch sieht, wie es sich ändert?
Füge in deiner Update-Funktion das Hide & Show vor und nach der Größenänderung hinzu.
Bringt leider auch nichts.
Dann kannst du es höchstens mal auf einem anderen Benutzerkonto oder einem anderen PC ausprobieren.
-
Kopiere alles aus der PWN Datei in eine Textdatei. Dann lösche die PWN Datei und erstelle eine neue, füge dort dann den Inhalt aus der Textdatei ein.
Benenne sie gegebenenfalls anders als die PWN Datei zuvor. -
C
Alles anzeigenif(dialogid == DIALOG_SCHILD) { printf("Dialog DIALOG_SCHILD aufgerufen."); if(!response) return 1; new pname[MAX_PLAYER_NAME], id; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); for(new i=0; i<MAX_AUTOS; i++) { if(!strcmp(CarInfo[i][Besitzer], pname) && strlen(CarInfo[i][Besitzer]) > 2 && CarInfo[i][modelID] > 0) { if(listitem == id) { printf("Setze Nummernschild."); new string[145]; format(string, sizeof(string), "Du hast deinem %s das Kennzeichen %s hinzugefügt.", PlayerVehicle[CarInfo[i][modelID]-400], nstring); SendClientMessage(playerid, 0xFF0000FF, string); format(CarInfo[i][c_Schild], 32, nstring); SetVehicleNumberPlate(CarInfo[i][c_vID], nstring); return 1; } id++; } } printf("Fertig."); return 1; }Ah, sorry. Da das Thema auf erledigt steht bin ich davon ausgegangen, dass du das Problem selbst behoben hast.
Füge die Prints mal so ein, werden die geprintet, wenn du den letzten Dialog andrückst?