Hey.
Ich hab mal eine Frage. Undzwar wenn ich z.B in Freeroam gehe. dann gibt es befehle wie /speed oder so,
aber wenn ich bei DD/DM bin. Dann kann ich das da ja auch machen. Wie kann ich es machen das man z.B
if(IstSpielerInFreeroam))
oder so ähnliches.
Wäre mir sehr dankbar wenn ihr mir helfen könnt.
Wenn ihr Code's braucht. Sagt es bescheid.
[Erledigt] Ob er in ...
- Scriptborn
- Geschlossen
- Erledigt
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
-
-
if(IstSpielerInFreeroam))
{
//Dein Code
}
else
{
SendClientMessage(playerid, FARBE, "Du bist nicht in der Freeroam Welt, du bist dazu nicht berechtigt!"):
}
So ungefähr -
Ich hab das ja nicht definiert.
das ist die Frage, wie mach ich sowas. -
@Voxa bitte, erstelle eine Var GLobal
Erstelle eine Variable für die Spieler und lass sie auf 1 gehen, wenn er z.B im Freeroam Bereich ist und dann einfach so abfragen.
new isPlayerFreeroam[MAX_PLAYERS];
if(isPlayerFreeroam[playerid] == 1)
{
//code
}
else
{
//wenn nicht code
} -
Und wie sette ich einen, dass er in Freeroam ist?
-
//oben im Script
bool freeroam[MAX_PLAYERS];stock IstSpielerInFreeroam(playerid)
{
if(freeroam[playerid] == true)
{
return 1;
}
}So ungefähr, hab schon lange nicht mehr mit PAWN gearbeitet müsste aber so funtionieren.
Und seeten tust du den mit einfach freeroam[playerid] = true; Aber wenn er leftet musst du auch freeroam[playerid] = false; schreiben.
-
isPlayerFreeroam[playerid] = x;
// x = Die Zahl, die du setzen möchtest.
// Nehm am besten 1 und setzte sie einfach wieder auf Null.
isPlayerFreeroam[playerid] = 1;
isPlayerFreeroam[playerid] = 0; -
In dem du einem Spieler eine Variable setzt.
Oben ins Script:
new FreeroamMode[MAX_PLAYERS];Irgendwo, wo er dann gesettet wird dann:
FreeroamMode[playerid] = 1; -
Am besten arbeitest du mit einem Enum.
enum a_data
{
speed,
freeroam
}
new arena[MAX_PLAYERS][a_data]
.../freeroam
{
if(arena[playerid][speed] == 1)return SendClientMessage(playerid, -1, " Du bist in speed. nutze /exit zum leaven");
arena[playerid][freeroam] = 1;
} -
Nimm doch einfach PlayerVariablen, die müssen beim Disconnect nicht resetted werden.
SetPVarInt(playerid, "freeroam", 1); // Spieler ist im Freeroam
SetPVarInt(playerid, "freeroam", 0); // Spieler ist nicht im Freeroamif(GetPVarInt(playerid, "freeroam") == 1){
//Spieler ist im Freeroam
}else{
//Fehlermeldung
} -
Ah danke leute
-
breadfish.de
Hat das Thema geschlossen.