SB*Silen.Ced
Hi Leute
Ich bräuchte ein
script, bei dem variablen definiert werden,
die noch nicht vorhanden sind(z.B. "
fun_enabled" oder so was), die,
wenn ich ihnen einen wert gebe(z.B. "
fun_enabled" "
1"),
einen Thread auslösen.
-------------------
Und wie macht man, dass der die ganze zeit(nicht nur beim Server- Start)
checkt, ob meiner variable ein wert von mir zugewiesen bekommt
(z.B. "
fun_enabled" "
1"), und dass er dann immer noch auf den
gleichen thread verweist?
-------------------
Edit:binds per .cfg
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
|
bind P "set "fun_enabled" "1"
bind L "set "fun_enabled" "def" |
|
-------------------
MfG RmbRT
SB*Silen.Ced
hier mal die erste version vom script:
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
|
main()
{
level thread OnPlayerConnect();
}
Check_fun_enabled(); //Checks which Value "fun_enabled" has and goes to needed Thread
{
for(;;)
if
{
if(!isdefined("fun_enabled", "0"));
thread Check_fun_enabled();
}
else
{
if
{
if(!isdefined("fun_enabled", "1"));
thread fun_enabled();
}
else
{
if(!isdefined("fun_enabled", "def"));
thread fun_enabled();
}
}
}
OnPlayerConnect(); //Begins if Player connected
{
for(;;)
{
self endon("disconnect"); //Loop until Player disconnects
level waittill("connected", player);
player thread Check_fun_enabled();
}
}
fun_enabled();
{
if
{
if(!isdefined("fun_enabled", "1")); //Checks if "fun_enabled" is set to Fun Mode
thread SetDefFunDvars(); //goes to Fun Settings Thread
}
else
{
if
{
if(!isdefined("fun_enabled", "def")); //Checks if "fun_enabled" is default
thread SetDefDvars(); //goes to Default Settings Thread
}
else
{
setDvar("fun_enabled", "0")); //sets "fun_enabled" to "0" if Value is not accepted
thread Check_fun_enabled(); //goes to Checking Thread
}
}
}
SetDefFunDvars(); //Sets Default Fun Dvars in this Thread
{
setDvar("jump_height", "120"); //Jump Height. default is 39
self SetMoveSpeedScale( 1.3 ); //Scale of Move Speed. default is 1
setDvar("g_gravity", "625"); //Gravity. default is 800
setDvar("bg_fallDamageMaxHeight", "320"); //Falling distance to Die. default is 300
setDvar("bg_fallDamageMinHeight", "128"); //Falling distance to get Damage. default is 128
setDvar("jump_slowdownEnable", "0"); //Slowdown after Jumping Disabled. default is 1
setDvar("player_sustainAmmo", "1"); //Infinite Ammo. default is 0
}
SetDefDvars(); //Sets Default Dvars
{
setDvar("jump_height", "39");
self SetMoveSpeedScale( 1 );
setDvar("g_gravity", "800");
setDvar("bg_fallDamageMaxHeight", "300");
setDvar("bg_fallDamageMinHeight", "128");
setDvar("jump_slowdownEnable", "1");
setDvar("player_sustainAmmo", "0");
}
|
|
MfG RmbRT
OLD MAN WITH GUN
Oh Gott
Nebenbei, das hier wird nie funktionieren
Original von [F34R_otD]RmbRT
Edit:binds per .cfg
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
|
bind P "set "fun_enabled" "1"
bind L "set "fun_enabled" "def" |
|
Der Server sieht nicht, was du welcher dvar für einen Wert gibst, der kann das nämlich nicht sehen. Der Server sieht nur Änderungen an dvars, die direkt auf dem Server geändert werden. Sprich, ohne /rcon tut sich da auf dem Server rein garnichts.
SB*Silen.Ced
ich mach normalerweise aber garkeine dedis.
geht's auf nem undedi?
Nightwing
Wie Du den Server startest, ist völlig egal. Er kann mit Deinem Script trotzdem nichts anfangen.
ToM
SB*Silen.Ced
die cfg ist unnütz? oder die gsc?
und warum nimmt der Server sie nicht an?
Edit: und wenn ich z. B. (als host eines nicht dedi servers)
"/set fun_enable 1" (in der Konsole) mache?
SB*Silen.Ced
irgendwie bekomme ich dauernd einen error, wenn ich ne Map im Mod starten will:
. Script compile Error
See console for details.
und wenn ich SHIFT + ^ mache, steht da:
couldnt find file Maps/mp/gametypes/_modwarfare.gsc
obwohl ich die gsc gar nicht im Mod verwende und sie aber auch noch dort vorhanden ist,
wo sie sein soll. und der modWarfare funzt auch nicht mehr
-------------------
Edit:
hat vllt. jmd. einen DL Link für die "Maps\mp\gametypes\_Modwarfare.gsc"?
-------------------
MfG RmbRT
OLD MAN WITH GUN
Original von [F34R_otD]RmbRT
Edit:
hat vllt. jmd. einen DL Link für die "Maps\mp\gametypes\_Modwarfare.gsc"?
Findest du in deiner z_modwarfare.iwd im modwarfare Ordner (diese iwd findest du zur Not auch noch auf deiner DVD im Ordner 'Setup\Data\Mods\ModWarfare')
Aber was meinst du mit "obwohl ich die gsc gar nicht im Mod verwende" ?
Hast du die _modwarfare.gsc aus deiner _globallogic.gsc entfernt? Normalerweise wird sie ja von dieser gsc-Datei aufgerufen.
SB*Silen.Ced
ne wusste gar nicht dass ich das tun muss. aber was ich sehr komisch finde ist, dass der NICHT NEU COMPILETE modwarfare nicht richtig funzt. alles ist normal auch mit den Menüs aber wenn ich spawne hab ich die defaultweapon_mp ( und auch noch
drei mal)
OLD MAN WITH GUN
Original von [F34R_otD]RmbRT
ne wusste gar nicht dass ich das tun muss.
Musst du ja auch nicht. Im Gegenteil. Du baust doch auf Basis der Modwarfare deine Mod. Du musst also mindestens die Dinge in der Mod haben, die die Modwarfare auch hat (du brauchst sie also).
SB*Silen.Ced
ja hab ich ja drinne aber es geht immer noch nicht.
(vllt. kennt jemand "rocketarena" aus nem modding tut
)
in einem script habe ich (das ist aber ühaupt nicht in dem modwarfare sondern "funwarfare"(den mod hab ich aus dem tut gemacht)
)
folgendes:
Code angehängt. Klicke hier zum Ein-/Ausblenden
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
|
setupWeaponsPerSpawn()
{
self endon( "disconnect" ); //this method ends when the player disconnects
precacheItem("rpg_matratze_mp");
precacheItem("deserteaglegold_funwarfare_mp");
precacheItem("frag_grenade_funwarfare_mp");
for(;;)
{ //an infinite loop
self waittill("spawned_player"); //waits until the player spawns
self SetMoveSpeedScale( 1.5 ); //makes the players move 1.5 times normal speed
self takeAllWeapons();
self ClearPerks();
self giveWeapon("deserteaglegold_funwarfare_mp");
self GiveMaxAmmo("deserteaglegold_funwarfare_mp");
self giveWeapon("frag_grenade_funwarfare_mp");
self GiveMaxAmmo("frag_grenade_funwarfare_mp");
self giveWeapon("rpg_matratze_mp");
self GiveMaxAmmo("rpg_matratze_mp");
wait 0.5;
}
}
|
|
ich weiß, dass das mit dem, dass ich keine waffe hab (ausser defaultweapon_mp) zusammenhängt.
dabei hab ich gar nichts am "ModWarfare" gemacht
OLD MAN WITH GUN
Wenn der Modwarfare nicht richtig funktioniert liegt es womöglich daran, dass du irgendwelche Dateien in deinem Modwarfare Ordner hast, die da normalerweise nicht hingehören.
Versuch es mal mit einem sauberen Modwarfare Ordner (also das nur die Dateien in dem Ordner sind, die da auch auf der DVD drin sind). Am besten den aktuellen Modwarfare Ordner löschen (oder sicherheitshalber nur mal umbenennen) und von der DVD den Modwarfare Ordner in deinen Mods Ordner kopieren.
SB*Silen.Ced
meine modtools sind im a****
wenn ich reflections compilen will, steht da:
ERROR:couldn't load file.
(und dass für jede einzelne sounddatei im spiel ein mal + dateipfad)
und:
Script compile Error
unknown command 'precacheItem("rpg_matratze_mp")'
see console for details.
Exit
ich check das nicht, denn "rpg_matratze_mp" kommt nicht in der csv, gsc, und sonst was vor, sondern befindet sich im mod "funwarfare".
und das ganze ist erst, seit ich das so gemacht habe, wie es im thread zur richtigen Installation steht.
Hier n
Bild
--- Edit by Nightwing: Doppelposting zusammengefügt ---
OLD MAN WITH GUN
Schau mal in deinen zone Ordner (da wo die ff-Dateien liegen) ob da ne mod.ff drin ist. Wenn ja, löschen.
SB*Silen.Ced
ich hab jetz den mod komplett neu gemacht aber ich kann immer nur die standartklassen wählen
(ja ich hab alle gsc's und menu's im mod und gezipt)
OLD MAN WITH GUN
Man, du schreibst ja ein ganz schönes durcheinander.
Original von [F34R_otD]RmbRT
ich hab jetz den mod komplett neu gemacht aber ich kann immer nur die standartklassen wählen
(ja ich hab alle gsc's und menu's im mod und gezipt)
Was für gscs und was für menüs gezipt?
ist die zip jetzt ne zip oder ne iwd?
Von der Modwarfare?
Von der Funwarfare?
Von deiner eigenen Mod (oder ist der Funwarefare deiner)?
Zumal, menufiles funktionieren nicht aus ner iwd heraus, die müssen immer in einer mod.ff sein?
Und ist das Problem mit der Berechnung der Reflections und den default weapon bei modwarfare jetzt weg oder nicht?
Du schneidest unterschiedliche Probleme an, in Folgepostings weiß niemand mehr auf was du dich jetzt beziehst und fängst gleich mit vollkommen anderen Problemen an, ohne darauf einzugehen ob die vorherigen Lösungsvorschläge funktioniert haben oder nicht.
So kann dir keiner helfen.
SB*Silen.Ced
also, ich habe:
•den "ModWarfare" neu gemacht
•ich habe alle dateien noch mal reingetan
•die "cod2_logo.iwi" oder wie die heißt, habe ich nicht gefunden
•es ist eine zip mit der Endung ".iwd"
•der "ModWarfare" funktioniert nicht mehr
•wenn ich "Klasse wählen" gehe, verschwindet das Menü und ich bin Spectator
ich bin bis jetzt kein problem los.
OLD MAN WITH GUN
Hast du denn mal den Ordner Modwarfare komplett gelöscht und von der DVD neu in Mods kopiert, ohne selber irgendwelche Änderungen an den Dateien zu machen?
Einfach von der DVD kopieren, im Mods Ordner einfügen und starten.
SB*Silen.Ced
Ich hab ja u. a. das problem, dass egal, was ich mache, von diesem "funwarfare" (oder eher "
rocketarena" das ist das script, was so funktionen hat, wie die, die bei mir ungewollt irgendwo auftreten) irgendwelche errors auftreten, obwohl ich z. B. nur die reflections meiner map compilen will, die
nichts mit "
rocketarena" zu tun hat.
ich frag mich, wie das passieren kann, da "
rocketarena nirgendwo in auch nur irgendeiner .csv, .gsc oder was weis ich drin vorkommt.
--------------------------------------------------------------
@neu kopieren:
es funktioniert immer noch nicht
OLD MAN WITH GUN
Und in deinem zone\german (oder zone\englisch) ist nicht zufällig noch ne mod.ff?
Da hilft am Ende wohl nur noch deinstallieren (anschließend alle verbliebenen ordner manuell löschen) und neu installieren (wer weiß, was du wann wo hinkopiert hast, was da normalerweise nichts zu suchen hat).