Meinst du die {FF0000} Codes in der Chat-Box zu nutzen?
[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
-
-
Genau die meine ich.
-
Dann kannst du das hier nutzen: http://forum.sa-mp.com/showthread.php?t=368439
-
Und wie müsste der Code aussehen wenn ich möchte, dass der nur der Leader / Admin diese Möglichkeit hat diese Funktion zu nutzen.?
-
public OnPlayerText(playerid, text[])
{
if(SpielerInfo[playerid][pLeader] == 1) ReColor(text);
return 1;
} -
Ach so Simple? HAbe ich mir gerade schwerer Vorstellt. Naja ich hätte es ja auch selbst probieren können.
Trotzdem danke Jeffry
-
-
Versuche es mit mysql_function_query oder mysql_tquery. Je nach dem welches Plugin du hast.
-
Wird wohl nicht ausgeführt, da ich keine Ausgabe im Log habe.
-
Wie sieht der Code aus?
Erstelle wenn möglich bitte einen Thread, das ist übersichtlicher. -
Hallo. Ich bin schon am verzweifeln.
Ich möchte Checkpoints setzen, und diese entfernen lassen SOBALD dieser erreicht wurde.
Unter "OnPlayerEnterCheckpoint" Würde ich es nicht so gerne machen, da ich z.B. für die Stadthalle unter "Berufe" dann "Busfahrer" auch ein Checkpoint erstellen lasse.Könnte man es aber so machen man schreibt unter "OnPlayerEnterCheckPoint" z.B.
Weil ich schon oben drüber stehen hab
Ich hatte alles unter "OnDialogResponse" da ich ein Dialog schrieb wo man nehmen konnte "Linie 1" oder "Linie 2" und da hab ich halt alles unter Linie 1 geschrieben.
-
Willkommen auf Breadfish!
So würde ich es dir empfehlen:
if(SpielerInfo[playerid][BusJob] == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckPoint(/*Ausfüllen*/);
GivePlayerMoney(playerid,300);
}
} -
Alles anzeigen
Willkommen auf Breadfish!
So würde ich es dir empfehlen:
if(SpielerInfo[playerid][BusJob] == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckPoint(/*Ausfüllen*/);
GivePlayerMoney(playerid,300);
}
}Okay danke. Und wie macht man das, das diese Route erst abgerufen wird wenn der Spieler auf Linie1 drückt?
if(Spieler[playerid][sBeruf] == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,gelb,"Nächste Haltestelle: Stadthalle");
SetPlayerCheckPoint(playerid,1456.0122,-1735.9861,13.0879,5.0);
GivePlayerMoney(playerid,300);
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,gelb,"Nächste Haltestelle: Los Santos Police Department (LSPD)");
SetPlayerCheckPoint(playerid,1533.0491,-1690.4596,13.0872.50,5.0);
GivePlayermoney(playerid,300);
DisablePlayerCheckpoint(playerid);
}
}
Würde das so reintheoretisch gehen? -
Das kannst du dann so machen:
if(Spieler[playerid][IstSpielerInBeruf] == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
DisablePlayerCheckpoint(playerid);
if(Spieler[playerid][Linie] == 1)
{
SendClientMessage(playerid,gelb,"Nächste Haltestelle: Stadthalle");
SetPlayerCheckPoint(playerid,1456.0122,-1735.9861,13.0879,5.0);
GivePlayerMoney(playerid,300);
}
else if(Spieler[playerid][Linie] == 2)
{
SendClientMessage(playerid,gelb,"Nächste Haltestelle: Los Santos Police Department (LSPD)");
SetPlayerCheckPoint(playerid,1533.0491,-1690.4596,13.0872.50);
GivePlayermoney(playerid,300);
}
}
}
Gegebenenfalls musst du noch, wenn du mehrere Checkpoints hast, die Nummer des Checkpoints innerhalb der Linie setzen und abfragen.PS: Unterlasse bitte diese Vollzitate mit Code, das macht keinen Sinn.
-
Gegebenenfalls musst du noch, wenn du mehrere Checkpoints hast, die Nummer des Checkpoints innerhalb der Linie setzen und abfragen.PS: Unterlasse bitte diese Vollzitate mit Code, das macht keinen Sinn.
Ah okay. Danke. Bisschen kompliziert aber musste den Code nochmal bisschen anpassen ich konnte diesen "IstSpielerInBeruf" nicht benutzen also nahm ich dafür oben den Beruf den ich definiert habe:
#define sBeruf "Busfahrer"Also heißt dieser Code so:
if(Spieler[playerid][sBeruf] == 1)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
{
//muss ich noch umändern
}
}Okay. Also muss ich Linie noch definieren dann müsste es gehen.
-
#define sBeruf "Busfahrer"
if(Spieler[playerid][sBeruf] == 1)
Das geht so nicht. Das sBeruf muss in einem enum stehen, sonst läuft das auf Fehler raus. -
Das geht so nicht. Das sBeruf muss in einem enum stehen, sonst läuft das auf Fehler raus.Achso sag das doch gleich das, dass in Enum gemeinte gemeint war.
Das heißt "Beruf"
Ok habs jetzt umgeändert. Nur irgendwie zeigt der mir jetzt ein Fehler an mit "Spieler"Mein Stock heißt ja
stock IstSpielerInBeruf(playerid,berufsid)
{
if(sSpieler[playerid][Beruf] == berufsid) return 1;
return 0;
}Und dieses "if..." heißt:
if(sSpieler[playerid][Beruf] == 1)Ok gut, diesesn Fehler habe ich jetzt behoben.
Nur noch hier ein Fehler:
new Linie;
listitem 0 == Linie;da kommt: "error 001: expected token: ";", but found "-integer value-""
Das ganze Dialog heißt:
if(dialogid == LINIE)
{
if(response == 0)
{
return 1;
}
if(listitem == 0)
{
new Linie;
listitem 0 == Linie;
}
}Und auftreten soll der Fehler in der Zeile:
listitem 0 == Linie; -
listitem 0 == Linie;
zu:
sSpieler[playerid][BusLinie] = 0;Alternativ auch einfach so:
if(dialogid == LINIE)
{
if(response == 0)
{
return 1;
}
else
{
sSpieler[playerid][BusLinie] = listitem;
}
return 1;
} -
Noch zwei Fragen.
Welches Listitem betrifft es dann?
Und wie könnte ich das Listitem 1 ansprechen?Ich danke dir für deine Hilfe.
-
In sSpieler[playerid][BusLinie] würde dann das ausgewählte Listitem stehen. Sprich sSpieler[playerid][BusLinie] ist 0, wenn du die erste Linie ausgewählt hast und 1 wenn du die zweite Linie ausgewählt hast.
Du kannst auch
sSpieler[playerid][BusLinie] = listitem + 1;
machen, wenn das verständlicher ist.EDIT: (Post unten)
SarahCool565: Gerne
Sollten weitere Fragen auftauchen kannst du gerne fragen!
