Da du das "i" außerhalb der Schleife nutzt:
for(new i;i<MAX_HOUSES;i++)
zu:
new i;
for(i = 0;i<MAX_HOUSES;i++)
Und zu dem Fehler:
if(IsPlayerConnected(x)
zu:
if(IsPlayerConnected(x))
Da du das "i" außerhalb der Schleife nutzt:
for(new i;i<MAX_HOUSES;i++)
zu:
new i;
for(i = 0;i<MAX_HOUSES;i++)
Und zu dem Fehler:
if(IsPlayerConnected(x)
zu:
if(IsPlayerConnected(x))
Komisch, jetzt stürzt der Compeiler ab:/?
case DIALOG_CONFIGHOUSE:
{
if(response)
{
new haus = IsPlayerHouse(playerid);
if(haus != INVALID_HOUSE_KEY)
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, Haus[haus][EnterX], Haus[haus][EnterY], Haus[haus][EnterZ]))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich nicht an deinem Haus (außerhalb).");
if(listitem == 0) //Haus Verkaufen
{
ShowPlayerDialog(playerid, DIALOG_SELLHOUSE, DIALOG_STYLE_MSGBOX, "Hausbearbeitung","Möchtest du wirklich dein Haus verkaufen?\nWen du dir sicher bist drücke auf Bestätigen um das Haus zu verkaufen!\nDu erhältst die hälfte des Kaufpreises.", "Bestätigen", "Abbrechen");
}
if(listitem == 1) //Haustür
{
if(Haus[haus][hLock] == 1)
{
Haus[haus][hLock] = 0;
GameTextForPlayer(playerid, "~w~Haus ~g~aufgeschlossen", 3000, 6);
UpdateHouseLabel(haus, Haus[haus][hOwned]);
}
else if(Haus[haus][hLock] == 0)
{
Haus[haus][hLock] = 1;
GameTextForPlayer(playerid, "~w~Haus ~r~abgeschlossen", 3000, 6);
UpdateHouseLabel(haus, Haus[haus][hOwned]);
}
}
if(listitem == 2) //Mietbar
{
new i = IsPlayerHouse(playerid);
if(Haus[i][hMieten] == 1)
{
Haus[i][hMieten] = 0;
GameTextForPlayer(playerid, "~w~Miete ~r~deaktiviert", 3000, 6);
UpdateHouseLabel(i, Haus[i][hOwned]);
SaveHouse(i);
}
else if(Haus[i][hMieten] == 0)
{
Haus[i][hMieten] = 1;
GameTextForPlayer(playerid, "~w~Miete ~g~aktiviert", 3000, 6);
UpdateHouseLabel(i, Haus[i][hOwned]);
SaveHouse(i);
}
}
if(listitem == 3) //Mietpreis
{
ShowPlayerDialog(playerid, DIALOG_SET_RENT, DIALOG_STYLE_INPUT, "Hausbearbeitung","Gebe den neuen Mietpreis an.", "Bestätigen", "Abbrechen");
}
//listitem 4 -> Mieter rauswerfen
if(listitem == 5) //Mieter auflisten
{
new i;
for(i = 0;i<MAX_HOUSES;i++)
{
if(strcmp(Haus[i][hBesitzer], GetName(playerid), true) == 0)
{
break;
}
}
if(i != MAX_HOUSES && i != INVALID_HOUSE_KEY)
{
for(new x;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x))
{
if(Spieler[x][pHouseKey] ==i && if(strcmp(GetName(x), Haus[i][hBesitzer]!=0) //5403
{
new string[128];
format(string,sizeof(string),"%s\nSpieler: %s ist Mieter dieses Hauses",string, GetName(x));
}
}
}
}
ShowPlayerDialog(playerid, DIALOG_MIETER_LISTE ,DIALOG_STYLE_MSGBOX,"Mieter",string,"Weiter","");
}
if(listitem == 6) //Hauskasse
{
ShowPlayerDialog(playerid, DIALOG_HAUSKASSE, DIALOG_STYLE_LIST, "Hausbearbeitung", "Geld einzahlen\nGeld auszahlen\nAktueller Stand\nHeal Upgrade", "Bestätigen", "Abbrechen");
}
//listitem 7 -> Beschreibung Ändern
}
}
}
Alles anzeigen
Jetzt zeigt er mir haufen weiße fehler an nur durch diesen Code...
Obwohl das nicht der wahrheit einspricht ![]()
Wen ich den code ausklammer keine Warnings/Erros
Wen ich das so habe zeigt er mir das so an:
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5405) : error 029: invalid expression, assumed zero
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5405) : error 035: argument type mismatch (argument 2)
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5407) : error 001: expected token: ";", but found "new"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5407) : warning 217: loose indentation
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5413) : warning 217: loose indentation
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5413) : error 017: undefined symbol "DIALOG_MIETER_LISTE"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5416) : warning 217: loose indentation
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5424) : warning 217: loose indentation
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5424) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5461) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5489) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5517) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5538) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5573) : error 014: invalid statement; not in switch
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5608) : warning 209: function "OnDialogResponse" should return a value
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5573) : warning 203: symbol is never used: "DIALOG_HAUSKASSE_ABHEBEN"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5538) : warning 203: symbol is never used: "DIALOG_HAUSKASSE_ANLEGEN"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5517) : warning 203: symbol is never used: "DIALOG_UPGRADE_LEBEN"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5489) : warning 203: symbol is never used: "DIALOG_HAUSKASSE"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5461) : warning 203: symbol is never used: "DIALOG_SELLHOUSE"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5424) : warning 203: symbol is never used: "DIALOG_SET_RENT"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5424 -- 5609) : error 010: invalid function or declaration
Alles anzeigen
Nach der for-Schleife hast du die geschweifte Klammer in der nachfolgenden Zeile gelöscht.
Diese muss wieder hin.
Aber Siehe ein Beitrag vorher da sind die fehler ohne grund.
Das sieht nach einem weiteren Klammerfehler vor diesem Code aus.
Das sieht nach einem weiteren Klammerfehler vor diesem Code aus.
Leider nein es sind 187 Klammern auf und 187 Klammern zu habe die eben zählen lassen.
Leider nein es sind 187 Klammern auf und 187 Klammern zu habe die eben zählen lassen.
Das muss nicht direkt aussagekräftig sein.
public test(id)
{
switch(id)
{
case 0:
{
return 1;
}
}
case 1:
{
return 2;
}
return 3;
}
Das ist ebenfalls ein Klammerfehler (da zwei Stück nach case 0), es sind aber exakt gleich viele auf/zu.
Das ist korrekt das sehe ich,
Aber ich finde kein fehler habe nochmal alles durch geschaut sehe da kein fehler ![]()
entweder bin ich blind oder zu doof
Ah, hier:
if(Spieler[x][pHouseKey] ==i && if(strcmp(GetName(x), Haus[i][hBesitzer]!=0)
zu:
if(Spieler[x][pHouseKey] == i && strcmp(GetName(x), Haus[i][hBesitzer]) != 0)
if(listitem == 5) //Mieter auflisten
{
new i, string[128];
for(i = 0;i<MAX_HOUSES;i++)
{
if(strcmp(Haus[i][hBesitzer], GetName(playerid), true) == 0)
{
break;
}
}
if(i != MAX_HOUSES && i != INVALID_HOUSE_KEY)
{
for(new x;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x))
{
if(Spieler[x][pHouseKey] ==i && if(strcmp(GetName(x), Haus[i][hBesitzer]!=0)) //5687
{
format(string,sizeof(string),"%s\nSpieler: %s ist Mieter dieses Hauses",string, GetName(x));
}
}
}
}
ShowPlayerDialog(playerid, DIALOG_MIETER_LISTE ,DIALOG_STYLE_MSGBOX,"Mieter",string,"Weiter","");
}
}
Alles anzeigen
Der Fehler bleibt gleich....
Das if( in der Mitte muss weg.
Den habe ich eben auch entdeckt.
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5686) : error 035: argument type mismatch (argument 2)
if(Spieler[x][pHouseKey] ==i && strcmp(GetName(x), Haus[i][hBesitzer]!=0)) //5686
Zeigt er mir den.
Sorry, das habe ich auch übersehen.
Muss so aussehen:
if(Spieler[x][pHouseKey] == i && strcmp(GetName(x), Haus[i][hBesitzer]) != 0)
Deshalb ist es empfehlenswert, Leerzeichen zwischen die Anweisungen zu setzen, dann fällt das leichter auf, bzw. passiert erst gar nicht.
Sorry das ich so nerve:
Aber ich verstehe nicht warum er mir kein Dialog ausgibt?
if(listitem == 5) //Mieter auflisten
{
new i, string[128];
for(i = 0; i <MAX_HOUSES; i++)
{
if(strcmp(Haus[i][hBesitzer], GetName(playerid), true) == 0)
{
break;
}
}
if(i != MAX_HOUSES && i != INVALID_HOUSE_KEY)
{
for(new x;x <MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
if(Spieler[x][pHouseKey] == i && strcmp(GetName(x), Haus[i][hBesitzer]) !=0)
{
format(string,sizeof(string),"%s\nListe aller Mieter, die derzeit Online sind:\n\n%s (ID: %d),",string, GetName(x), x);
ShowPlayerDialog(playerid, DIALOG_MIETER_LISTE ,DIALOG_STYLE_MSGBOX,"Hausbearbeitung",string,"Weiter","");
}
}
}
}
}
}
Alles anzeigen
Weeeil was ist das?
Das ist ein ganz normales TextDraw ![]()
Mit Farben eben: http://wiki.sa-mp.com/wiki/Colors_List
Gibt Ja Textdraws,Dialoge etc...
Einen Dialog als Speedo-Element zu nutzen macht wenig Sinn, Textdraws sind im Grunde das einzig sinnvolle.
Folgendes Beispiel finde ich ganz schick, es ist schlicht, aber trotzdem gut gemacht:
http://forum.sa-mp.com/showthread.php?t=91257
Das ließe sich auch um den Tank erweitern.
Welche Möglichkeiten es gibt, hängt aber grundsätzlich davon ab, was du am Ende haben willst.
Sowas wäre auch möglich: http://forum.sa-mp.com/showthread.php?t=469508
Oder: http://forum.sa-mp.com/showthread.php?t=517908
Scrolle dich auch mal durch die Google Bilder wenn du nach "samp Speedo" suchst, da gibt es einige Ideen. Du musst aber darauf achten, dass manches auch CLEO Mods sind.
Mein Bitte Folgen will nicht Blinken..
SetTimer("PoliceLightFlash",500,1);
new PoliceLightFlashID = 0;
forward PoliceLightFlash();
public PoliceLightFlash()
{
PoliceLightFlashID++;
if(PoliceLightFlashID > 1)
{
for(new x = 0; x < MAX_VEHICLES; x++)
{
if(IsValidVehicle(x) && PoliceLight[x] != INVALID_OBJECT_ID) SetDynamicObjectMaterialText(PoliceLight[x],0,"POLIZEI\nBITTE FOLGEN",OBJECT_MATERIAL_SIZE_256x128,\"Arial",27,0,0xFFFF0000,0x00000000,1);
}
PoliceLightFlashID = 0;
}
else
{
for(new x = 0; x < MAX_VEHICLES; x++)
{
if(IsValidVehicle(x) && PoliceLight[x] != INVALID_OBJECT_ID) SetDynamicObjectMaterialText(PoliceLight[x],0," ",OBJECT_MATERIAL_SIZE_256x128,\"Arial",20,0,0xFFFF0000,0x00000000,1);
}
}
}
PoliceLightFlashID++;
if(PoliceLightFlashID > 1)
Das macht ja auch wenig Sinn.
Es ist quasi immer auf 1.
Du musst es im else auf 1 setzen und bei der Deklaration ![]()
öhm ist doch
[list=1][*] if(PoliceLightFlashID > 1)
[*] {
[*] for(new x = 0; x < MAX_VEHICLES; x++)
[*] {
[*] if(IsValidVehicle(x) && PoliceLight[x] != INVALID_OBJECT_ID) SetDynamicObjectMaterialText(PoliceLight[x],0,"POLIZEI\nBITTE FOLGEN",OBJECT_MATERIAL_SIZE_256x128,\"Arial",27,0,0xFFFF0000,0x00000000,1);
[*] }
[*] PoliceLightFlashID = 0;
[/list]