Hallo Liebe Scripting Profis,
ich wollte nachfragen ob es möglich ist ein dynamischen /setspawn Befehl zumachen.
Der Befehl soll für die Serverleiter nur sein,damit die die Spawns,aller Spieler,varieren können
Ist das möglich?
Dynamischen /Setspawn Befehl
- [PeL]Smiley
- 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
-
-
Ja so:
- Du machst einen Befehl mit denen du die Coordianten für diesen Befehl z.B per Mysql speicherst. Nun kannst du diese Coordinaten auslesen und verwenden.
-
Hallo Liebe Scripting Profis,
ich wollte nachfragen ob es möglich ist ein dynamischen /setspawn Befehl zumachen.
Der Befehl soll für die Serverleiter nur sein,damit die die Spawns,aller Spieler,varieren können
Ist das möglich?
Versteh die Frage nicht so ganz?
Willst du das man mit einem Befehl per InGame den Allgemeinen Spielerspawn ändern kann?Grüße
-
Versteh die Frage nicht so ganz?
Willst du das man mit einem Befehl per InGame den Allgemeinen Spielerspawn ändern kann?Grüße
Genau sprich der Serverleiter gibt /Setspawn ein und beim nächsten Login von den SPielern sollen die auch da spawnen -
Genau sprich der Serverleiter gibt /Setspawn ein und beim nächsten Login von den SPielern sollen die auch da spawnenAlso, Serverleiter gibt /setspawn ein. Und alle Neulinge die sage ich mal noch in KEINER Fraktion sind. Sollen dann am neuen Neulingspawn Spawnen, richtig?
Klar sowas wäre möglich -
Also, Serverleiter gibt /setspawn ein. Und alle Neulinge die sage ich mal noch in KEINER Fraktion sind. Sollen dann am neuen Neulingspawn Spawnen, richtig?
Klar sowas wäre möglich
Genau
Und wie wäre sowas möglich? Erklärung bitte -
Genau
Und wie wäre sowas möglich? Erklärung bitteKomm ich bin wirklich mal so nett und Schreibe dir das mal eben hier.
Gleich werden die Ersten Leute schreiben, öhh warum kaust du den, denn alles vor öhh .. Lasst mich doch?^^So hier mal der Code:
enum DSInfo
{
DSInterior,
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
}
#define MAX_SPAWN 1
new DynamicSpawnInfo[MAX_SPAWN][DSInfo];ocmd:setspawn(playerid, params[])
{
new cmd[15], ID, ExistsFrak[20], ExistsFrakCars[20];
if(sscanf(params,"s[15]", ID))return SendClientMessage(playerid,ORANGE,"Benutzung: /setspawn [Playerspawn]");
if(strcmp(cmd,"Playerspawn",true) == 0)
{
new IntID = GetPlayerInterior(playerid);
new Float:x,Float:y,Float:z, string[120];
GetPlayerPos(playerid,x,y,z);
PlayerSpawn(x,y,z, IntID);
}
return 1;
}stock SpawnsSpeichern(spawnid)
{
new SDatei[64];
format(SDatei,50,"/Spawns/%d.ini",spawnid);
dini_FloatSet(SDatei,"SpawnX",DynamicSpawnInfo[spawnid][SpawnX]);
dini_FloatSet(SDatei,"SpawnY",DynamicSpawnInfo[spawnid][SpawnY]);
dini_FloatSet(SDatei,"SpawnZ",DynamicSpawnInfo[spawnid][SpawnZ]);
dini_IntSet(SDatei,"DSInterior",DynamicSpawnInfo[spawnid][DSInterior]);
return 1;
}stock PlayerSpawn(Float:x,Float:y,Float:z, IntID)
{
new SDatei[64];
for(new spawnid=1;spawnid<MAX_SPAWN;spawnid++)
{
format(FDatei,50,"/Spawns/%d.ini",spawnid);
if(!fexist(SDatei))
{
dini_Create(FDatei);
dini_FloatSet(FDatei,"SpawnX",x);
dini_FloatSet(FDatei,"SpawnY",y);
dini_FloatSet(FDatei,"SpawnZ",z);
dini_IntSet(FDatei,"DSInterior", IntID);
return LoadSpawn(spawnid);
}
}
return 1;
}stock LoadSpawn(spawnid)
{
new SDatei[64];
format(SDatei,50,"/Spawns/%d.ini",spawnid);
if(!fexist(SDatei))return 0;
{
DynamicSpawnInfo[spawnid][SpawnX] = dini_Float(SDatei,"SpawnX");
DynamicSpawnInfo[spawnid][SpawnY] = dini_Float(SDatei,"SpawnY");
DynamicSpawnInfo[spawnid][SpawnZ] = dini_Float(SDatei,"SpawnZ");
DynamicSpawnInfo[spawnid][DSInterior] = dini_Int(SDatei,"DSInterior");
}
return 1;
}
´// DAS unter OnPlayerSpawn packen
switch(PlayerDaten[playerid][pSelectSpawn]) // Diese Abfrage halt anpassen, hauptsache es gibt eine Globale Variable die Werte Speichert/Lädt. Bekommt der Spieler den Wert 0 zugewiesen Startet er an den Neulingspawn den du mit /setspawn festgelegt hast.
{
case 0:
{
for(new spawnid=1;spawnid<MAX_SPAWN;spawnid++)
{
SetPlayerInterior(playerid, DynamicSpawnInfo[spawnid][DSInterior]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, DynamicSpawnInfo[spawnid][SpawnX],DynamicSpawnInfo[spawnid][SpawnX],DynamicSpawnInfo[spawnid][SpawnX]=;
SetPlayerFacingAngle(playerid, 0);
}
}
case 1:
{
// Hier dann Rein wenn er 'pSelectSpawn' auf 1 hat. Könnte also z.B dann eine Fraktion sein.
}
}Ich hab es nicht getestet aber versuch es mal so, müsstest da nur einige Abfragen anpassen
Grüße
-
breadfish.de
Hat das Thema geschlossen.