Hi ihr Pro-Scripter der Breadfish Community,
ich arbeite gerade an einer neuen Art von einem Kleidungsladen. Dabei benutze ich Sachen wie diese:
if(Kleidungsslot1[playerid] == 0)
Da es aber mehrere Kleidungsstücke gibt, wollte ich fragen ob zum Beispiel so etwas geht:
if(Kleidungsslot1[playerid] == 148)
Also 148 ist jetzt eine zufällig gewählte Skin-ID. Geht so etwas mit den oben genannten Klauseln? Oder muss ich das anders machen.
z.B. so:
if(Kleidungsslot1[playerid] == 1 && Skin1[playerid] == 1 && Skin2[playerid] == 0)
Zum letzten, ich hab am Ende in etwa 36 Skins. Dann wären die Zeilen schon extrem lang.
Wäre nett, wenn ihr mir helfen könnt.
MfG
Raphii
Kleine Frage für einen Kleidungsladen
- Raphii Warren
- Geschlossen
- Erledigt
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
-
-
Für was ist die Variable Kleidungsslot1?
-
Der Spieler kann 2 Kleidungsstücke mit zur Umkleide nehmen.
Wenn er ein Kleidungsstück nimmt wird Kleidungsslot1 auf true gesetzt und er kann nur noch auf Kleidungsslot2 was setzen.
Wenn beide voll sind, kann er kein Kleidungsstück mehr aufnehmen.
Also so ist es immoment.//EDIT: Ich sollte meine Tippgeschwindigkeit drosseln und vor dem Absenden noch mal durchlesen...
-
Klar geht das.Bisschen umständlich dann aber versuchs mal so:
if(Kleidungsslot1[playerid] > -1)
{//bla
}
else return SendClientMessage(playerid, FARBE_WEISS, "Du hast bereits ein Kleidungsstück, bitte nutze deine andere Hand für das andere Kleidungsstück"); // mir fiel nix anderes ein xDund eben wenn er ein Kleidungsstück ausgewählt hat, kleidungsslot1 auf -1 setzen.
Falls du noch mehr "Anreize" brauchst sag es einfach^^
-
Danke für die Hilfe, aber das hab ich doch schon definiert
Ich wollte wissen ob ich nach Kleidungsslot1[playerid] außer true oder false auch andere Werte einsetzen kann. In meinem Fall zum Beispiel die Skin-Id oder ob ich eine ewige if-Klammer machen muss mit if(Kleidungsslot1[playerid] == 1 && Skin1[playerid] == 1 && Skin2[playerid] == 0 && ...)
Weißt du dazu was? -
Hmm, eigentlich schon xD, musst ma ausprobiern.
beispiel:
Kleidungsslot1[playerid] = 19;/edit:
Oder:
Kleidungsslot1[playerid] = Skin1[playerid]; // aber hier bin ich mir nicht sicher -
Das kommt ganz darauf an wie du Kleidungsslot1 definiert hast. Wenn es ein Bool-wert ist kannst du nur True/false verwenden. Falls nicht geht jede zahl, also auch ne Skin ID.
-
Da ich es so(new KleidungsSlot1[MAX_PLAYERS]) ; definiert habe, kann ich es machen. Hab es gerade getestet. Im Script ohne Errors aber ob es geht, dass muss ich jetzt mal schauen.
P.S.:Ich mach mal auf "Erledigt". Wenn ich hier noch mal was brauche mach ich es halt wieder auf
//EDIT: Ok im Script geht es zum Teil
Das
if(response == 0)
{
SendClientMessage(playerid,0xFF44FF44,"Du hast das Kleidungsstück zurückgelegt!");
}
if(response == 1)
{
if(KleidungsSlot1[playerid] == 0)
{
KleidungsSlot1[playerid] = 147;
SendClientMessage(playerid,0xFF44FF44,"Du hast das Kleidungsstück mitgenommen!");
}
else if(KleidungsSlot1[playerid] > -1 && KleidungsSlot2[playerid] == 0)
{
KleidungsSlot2[playerid] = 147;
SendClientMessage(playerid,0xFF44FF44,"Du hast das Kleidungsstück mitgenommen!");
}
else if(KleidungsSlot1[playerid] > -1 && KleidungsSlot2[playerid] > -1)
{
SendClientMessage(playerid,0xFF44FF44,"Du hast bereits zwei Kleidungsstück mitgenommen!");
}
geht. Und ab hier
else if(KleidungsSlot1[playerid] == 147)
{
SendClientMessage(playerid,0xFF44FF44,"Du hast dieses Kleidungsstück doch schon mitgenommen!");
SendClientMessage(playerid,0xFF44FF44,"Zwei mal das gleiche nehmen ist doch doof!");
}
else if(KleidungsSlot2[playerid] == 147)
{
SendClientMessage(playerid,0xFF44FF44,"Du hast dieses Kleidungsstück doch schon mitgenommen!");
SendClientMessage(playerid,0xFF44FF44,"Zwei mal das gleiche nehmen ist doch doof!");
}
else
{
}
}
geht es nicht mehr.
Also es wird noch angezeigt, dass man schon 2 Kleidungsstücke dabei hat, aber das mit dem 2 mal nehmen funktioniert nicht mehr.
Jemand ne Idee?
Ich schau morgen früh mal ob einer ne Idee hatte.//EDIT²:
Und das
if(dialogid == KleidungAnprobe)
{
if(response == 0)
{
return 1;
}
if(response == 1)
{
return 1;
}
if(listitem == 0)
{
if(KleidungsSlot1[playerid] == 0)
{
SendClientMessage(playerid,0xFF44FF44,"Du hast im ersten Slot kein Outfit dabei.");
}
else if(KleidungsSlot1[playerid] == 147)
{
SendClientMessage(playerid,0xFF44FF44,"Du probierst nun das erste mitgenommenes Outfit");
SetPlayerSkin(playerid, 147);
}
else if(KleidungsSlot1[playerid] == 113)
{
SendClientMessage(playerid,0xFF44FF44,"Du probierst nun das erste mitgenommenes Outfit");
SetPlayerSkin(playerid, 113);
}
else if(KleidungsSlot1[playerid] == 59)
{
SendClientMessage(playerid,0xFF44FF44,"Du probierst nun das erste mitgenommenes Outfit");
SetPlayerSkin(playerid, 59);
}
return 1;
}
if(listitem == 1)
{
SendClientMessage(playerid,0xFF44FF44,"Du probierst nun dein zweites mitgenommenes Outfit");
return 1;
}
}
geht gar nicht
Ich blick es net -
breadfish.de
Hat das Thema geschlossen.