Guten Tag liebe Leser und Leserinnen .
Ich habe ein Problem , Ich habe zb. eine DM Arena dann werde ich hingeportet /dm zb.
Nur wenn ich sterbe bin ich wieder am normalen Spawn , Wie kann ich machen das man in der Arena spawnt ?
Handtuch braucht leider Hilfe bei DM Arena
- [SuN]Handtuch
- 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
-
-
z.b. so
ganz obennew tod[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
if(tod[playerid] == 1)
{
SetPlayerPos(playerid,Float:x,Float:y,Float:z)
}
return 1;
}public OnPlayerDeath(playerid, killerid, reason)
{
tod[playerid] = 1;
return 1;
}ist ungetestet.
-
Nur würde ich eben andere Variablen nehmen
Wenn er in der DM Arena ist eine Variable auf 1 oder sowas setzen
z.b.
/dm 1
-> Variable InDMArena[playierid] = 1
/dm 2
-> Variable InDMArena[playierid] = 2usw..
Dann onplayerspawn
if ( InDMArena[playerid] == 1 )
{
SetPlayerPos (zu dem Arena Spawn)
}
else if ( InDMArena[playerid] == 2 )
{
SetPlayerPos (zu dem Arena Spawn der Arena 2)
}usw
Mfg
-
Zitat
Wenn er in der DM Arena ist eine Variable auf 1 oder sowas setzen
ja das ist natürlich die bessere alternative. aber ich wollte ihm ja nur zeigen, wie man sowas macht. -
ich würde das folgendermaßen machen.
Bei deinem CMD /dm einfach noch SetSpawnInfo(playerid, ....) und eine Variable, daß das Script weiss, da du in der DM Arena bist. Z.B. playerAreanDM[playerid] = 1;
Bei OnPlayerDeath einfach Abfragen, ob der Spieler in der DM Arena ist (siehe Variable als Beispiel) und dort einfach ein return 1; machen.Ich code das mal
public OnPlayerCommand(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/dm", true) {playerArena[playerid] = 1; SetPlayerPos(...); SetSpawnInfo(...); return 1;}
return 0;
}public OnPlayerDeath(playerid, killerid, reason)
{
if (playerArena[playerid]) return 1;/* dein restlicher Code für diesen Callback */
return 1;
}Wo ich nur (...) gemacht habe, musst du natürlich den Code vervollständigen
-
breadfish.de
Hat das Thema geschlossen.