Verstehe nicht ganz?
Wahrscheinlich total einfach aber ich komm nicht drauf xD.
Verstehe nicht ganz?
Wahrscheinlich total einfach aber ich komm nicht drauf xD.
Was soll ich pID zuweisen?
case DIALOG_MIETER_RAUS:
{
if(response)
{
if(strval(inputtext))
{
new pID;
if(!Spieler[pID][pLoggedIn])return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE);
format(string, sizeof(string), "{FFFFFF}Du hast den Spieler mit der %d ID rausgeworfen.", strval(inputtext));
SendClientMessage(playerid, COLOR_WHITE, string);
Spieler[pID][pHouseKey] = INVALID_HOUSE_KEY;
}
}
}
Alles anzeigen
Ist das so korrekt?
enum e_Haus
{
hCreated,
Float:EnterX,
Float:EnterY,
Float:EnterZ,
Float:ExitX,
Float:ExitY,
Float:ExitZ,
hBesitzer[MAX_PLAYER_NAME],
hOwned,
hName[32],
hPreis,
hMieten,
Text3D:hText,
hPickup,
hLock,
hMietPreis,
hInterior,
hKasse,
hdbID,
hHealthUpgrade
}
new Haus[MAX_HOUSES][e_Haus];
Alles anzeigen
Also das ist das Enum vom Haus system.
Und das mit den Mieter kicken & mit allen rauswerfen verstehe ich gerade nicht ganz.
Ich weiß nicht wie ich das alles setzen soll.
Heißt den Sein Schlüssel auf 0 das er eben das haus nichtmehr betreten kann.
Hey,
Ich wollte machen wen man z.b ein Command eingibt das ein DIALOG_STYLE_INPUT kommt wo man dann z.b die Spieler ID der eingemietet ist den man dann den Mietvertrag kündigen kann. Also "Rausschmeissen".
Und nochmal eine MSGBOX wo man dann bestätigt das man alle Mieter rauswerfen kann.
Wie macht man das am besten?
Sehr geehrte Damen und Herren,
Ich habe folgendes Problem das mir keine Mieter angezeigt werden obwohl ein Mieter besteht.
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
Sorry das ich so nerve:
Aber ich verstehe nicht warum er mir kein Dialog ausgibt?
CodeAlles anzeigenif(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",""); } } } } } }
Hallo, hab mal eine kurze frage habe bisher kein Fehler gefunden Warum er mir kein Mieter ausgibt obwohl einer eingemietet ist.
Man sollte halt nicht den Eigentümer auflisten darum der Code mit breake.
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
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.
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....
Einmal bitte
https://github.com/Zeex/samp-plugin-crashdetect/releases
Runterladen und das Plugin in die Server.cfg reinschreiben und speicher,
Danach bitte den Server Neu starten.
Dann kann man mehr sagen
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
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.
Habe ich gesehn und umgestellt.
Aber Siehe ein Beitrag vorher da sind die fehler ohne grund.
Habe mir das nochmal angesehn also ich sehe da kein Fehler.. @Jeffry
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
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5397) : error 017: undefined symbol "i"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5402) : error 001: expected token: ")", but found "{"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5403) : error 017: undefined symbol "i"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5403) : error 029: invalid expression, assumed zero
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5403) : error 017: undefined symbol "i"
C:\Users\Patri\Desktop\Reallife\gamemodes\LRS.pwn(5403) : fatal error 107: too many error messages on one line
if(listitem == 5) //Mieter auflisten
{
for(new i;i<MAX_HOUSES;i++)
{
if(strcmp(Haus[i][hBesitzer], GetName(playerid), true) == 0)
{
break;
}
}
if(i != MAX_HOUSES && i != INVALID_HOUSE_KEY) //5397
{
for(new x;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x)
{ //5402
if(Spieler[x][pHouseKey] ==i && if(strcmp(GetName(x), Haus[i][hBesitzer]!=0) //5403
{
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
Hey, ich wollte gerne machen das man die Mieter des hauses herrausfinden kann. Aber mir schmeisst er errors raus.
Hat jemand eventuell eine Idee? @Jeffry @Kaliber
Danke im vorraus für eure Hilfe!
sieht aus das die Textur white verwendet wurde und die farbe in Schwarz geändert wurde. Falls ich mich nicht irre
Mehr oder weniger. Denke mal das irgendwann einige umsteigen auf 0.3.DL
Darum werde ich mir das ganze mal anschauen und wie das funktioniert Dankeschön für die Information.
//E:
Kurze Frage gibt es eigentlich eine möglichkeit die Fahrzeuge auch zu modifizieren oder nur die Skins/Objekte?