Hi.
Wie kann ich eine neue Funktion
für den Chat schreiben? also z.B.
/warp army
das ich dann zu den Koordinaten meiner
Wahl komme?
Und wie kann ich dann noch machen
das ich in einem Gebiet mehrere
Koordinaten angebe und dann jedesmal
wenn ich /warp army schreibe dann eine
von den Positionen ausgewählt wird?
Teleport-Funktion?
- Awesome™
- 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
-
-
Also so wie ich dich verstanden habe, willst du einen Teleportbefehl, wobei du /warp army tippst und zu schon vorher im Script festgelegten Koordinaten geportet wirst ?
Dann wäre es so unter "OnPlayerCommandText":
if(strcmp(cmd, "/warp", true ) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Befehl: /warp [Ortsname]");
SendClientMessage(playerid, COLOR_GREY, "Ortsnamen: Army, LSPD");
return 1;
}
if(strcmp(tmp, "army", true) == 0)
{
SetPlayerPos(playerid, X-KOORDINATE, Y-KOORDINATE, Z-KOORDINATE);
SetPlayerInterior(playerid, INTERIOR-ID); // Wenn im freien, dann ID --> 0
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dich zur Army geportet.");
return 1;
}
else if(strcmp(tmp, "lspd", true) == 0)
{
SetPlayerPos(playerid, X-KOORDINATE, Y-KOORDINATE, Z-KOORDINATE);
SetPlayerInterior(playerid, INTERIOR-ID); // Wenn im freien, dann ID --> 0
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dich zur LSPD geportet.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Ortsname steht nicht zur Auswahl!");
}
}
}Und wenn du "/warp army" eingeben willst und an Zufallskoordinaten geportet werden möchtest, die du im Script schon auch vorher festgelegt hast, dann kannst du das so machen:
new ArmyPorts[2][4] = {
{1_X_KOORDINATE, 1_Y_KOORDINATE, 1_Z_KOORDINATE, 1_INTERIOR_ID},
{2_X_KOORDINATE, 2_Y_KOORDINATE, 2_Z_KOORDINATE, 2_INTERIOR_ID}
};if(strcmp(cmd, "/warp", true ) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Befehl: /warp [Ortsname]");
SendClientMessage(playerid, COLOR_GREY, "Ortsnamen: Army");
return 1;
}
if(strcmp(tmp, "army", true) == 0)
{
new rand = random(sizeof(ArmyPorts));
SetPlayerPos(playerid, ArmyPorts[rand][0], ArmyPorts[rand][1], ArmyPorts[rand][2]);
SetPlayerInterior(playerid, ArmyPorts[rand][4]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast dich zur Army geportet.");
return 1;
}
}
} -
breadfish.de
Hat das Thema geschlossen.