Es muss in dem Fall aber mit Floats gearbeitet werden, da mit Integers keine Kommazahlen verarbeitet werden können.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
bei 13% MwSt entspricht der Prozentfaktor %d*1.13.
Würdest du dir das mal durchlesen was ich da geschrieben habe, genau das selbe was du geschrieben hast.
Es muss in dem Fall aber mit Floats gearbeitet werden, da mit Integers keine Kommazahlen verarbeitet werden können.
Daran habe ich nicht gedacht, Sache verfällt, hat sich erledigt.
-
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 lineCode
Alles anzeigenif(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",""); }
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 @KaliberDanke im vorraus für eure Hilfe!
-
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:/?
Code
Alles anzeigencase 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 } } }
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/ErrosWen ich das so habe zeigt er mir das so an:
Code
Alles anzeigenC:\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
-
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) -
Code
Alles 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 && 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",""); } }
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?
Code
Alles 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",""); } } } } } }
-
-
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=517908Scrolle 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.