Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
ForenübersichtStranded II-Übersicht Scripts-ÜbersichtEinloggen, um zu antworten

Deutsch Scripting - Fragen/Probleme

6.780 Antworten
Seite
Zum Anfang Vorherige 1 210 11 12339 340 Nächste Zum Anfang

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
Hm... habe jetzt meinen Fernkampfskill auf 14 gepushed, aber konnte den Fehler nicht rekonstruieren
Entweder habe ich es bei mir schon gefixed (was unwahrscheinlich ist weil ich imho nichts was damit zu tun hat seit dem Release von 0.0.0.4 geändert habe) oder es gibt noch weitere Unterschiede welche zu dem Problem führen. Bin soweit aber erstmal ratlos.

Edit: Oh, okay. Gucke ich mir gleich mal genauer an.

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Habe ein paar Nachforschungen betrieben und schnell Ergebnisse erkennen können: Impact_class gibt bei Objects und Items seltsamerweise die letzte von impact_class zurückgegebene Klasse zurück. Falls impact_class früher keine Klasse zurückgegeben hat, (z.B. weil es noch nicht eingesetzt wurde) gibt es 0 zurück. Das bezieht sich wie gesagt nur auf Objects und Items.
Das erklärt auch den Fehler:
•Wenn man noch keine Unit getötet hat, gibt es 0 zurück und beide Prüfungen ergeben Falsch, was dazu führt, dass nichts erhöht wird.
•Hat man bereits mindestens eine Unit getötet, gibt es 2, also "Unit", zurück. Das führt dazu, dass die Aktionen für Units ausgeführt werden.

THX im Voraus.
5× editiert, zuletzt 17.01.06 18:57:30

alt Re: Scripting - Fragen/Probleme

Lord Horazont
User Off Offline

Zitieren
@HW:
Ich kann deine Erfahrungen nicht teilen.
Ich habe ein sehr ähnliches Script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
on:impact {
  $bow=skillvalue("Boegen");
  damage impact_class(), impact_id(), $bow;
  if (impact_kill())
  {
    if (impact_class()==2) {
      $bow_exp+=25;
    }
    if (impact_class()==1) {
      $bow_exp+=5;
    }
    if ($bow_exp>99) {
      $bow_exp-=100;
      incskill "Boegen";
      msg "Du bist aufgestiegen! [Bogen]";
    }
  }
}
Ich habe es per def_override in einen Bogen gejagt und es funktioniert prächtig, auch wenn ich deine beschriebenen Problemfälle durchführe (auch, wenn ich dafür erstmal über 500 Pfeile verschossen hab, bis ich dann den Schaden erhöht habe).

Vielleicht solltest du das Script einfach mal neu schreiben

Gruß Lord Horazont

P.S. Alle Fehler, die in dem obigen Script enthalten sind, sind garantiert Tippfehler, da es ingame ohne Probleme funktioniert.

Edit: Kann es sein, dass on:impact mit Nahkampfwaffen nicht funktioniert?! Wenn ja, welche alternativen habe ich?

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Ich denke, du verstehst nicht, worauf ich hinaus will...
Ich habe das Skript ausführlich geprüft, und ich habe es bisher auch einmal neu geschrieben. Du scheinst den Fehler ja nicht zu bemerken, aber lassen wir mal DC hören.

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
Nein, HW hat schon recht, da sind Fehler in dieser Richtung.
Impact sollte eigentlich auch bei Nahkampfwaffen funktionieren.

Edit: Habe das Problem inzwischen auch schon behoben. Ich musste lediglich 2 Zeilen verschieben
Das es bei Units funktionierte lag übrigens nur daran, dass diese nach dem Tod noch existieren. Das Problem: Habe die Impact Werte für impact_class und impact_id erst NACH dem "Beschädigen" in Variablen geschrieben - richtig wäre natürlich gewesen es vorher zu machen, denn wenn ich ein Objekt beim Beschädigen lösche komme ich natürlich nicht mehr an seine Daten.
1× editiert, zuletzt 17.01.06 19:41:43

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Ich habe, um die Ergebnisse meiner Nachforschungen nochmal nachzuweisen, einen einfachen Test gemacht. Das hier habe ich in die Definition eines Bambusitems geschrieben, dem ich vorhin das Behaviour Spear zugeteilt habe:
1
2
3
4
on:impact {
$class=impact_class();
msg "$class";
}
Das Ergebnis dieses Tests war, dass meine Vermutungen falsch waren, es lief, wie es sollte. Ich habe also keine Ahnung...

Edit: Ich habe extra für Horazont den Test umgeändert und dem Bambus das Behaviour Blade zugeteilt. Auch da lief alles so, wie es sollte. Da sind wohl noch einige Fehler...
1× editiert, zuletzt 17.01.06 19:43:22

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
Deine Vermutung war schon richtig, aber das Problem trat nur auf wenn die Objekte beim impact Event zerstört wurden. Erklärung steht oben beim Edit in meinem Post

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Lol, war also fast dasselbe, wie damals bei on:kill...
@Horazont: Du solltest uns vllt den genauen Code zeigen, vllt kann noch ein gravierender Fehler behoben werden...

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
... so jetzt habich mir ma die zeit genommen die befehle un dat tutorial zu lesen (insofern möglich...)

ABER: wie mache ich gras zerstörbar, wie kann ich mehrere ID's aneinander haengen, wie kann ich
ein script/status fuer alle im mom vorhandenen objekte einfuegen (leider gibts das nicht unter "erweiterte optionen"), wie mache ich einen befehl fuer alle objekte
eines typs gültig.

thx im vorraus und fuer die antwort auf meine letzte frage dessen antwort ich mittlerweile min. 5 mal in irgendwelchen listen gefunden hab sry ;P

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
1. Gras kannst du nicht zerstörbar machen
2. Ich weiss zwar nicht, was du mit "mehrere ID's aneinander hängen" meinst, aber ich glaube nicht, dass das geht
3. Du kannst für alle vorhandenen Sachen desselben Typs einfügen, in dem du folgendes Skript irgendwo einfügst:
1
2
3
on:start {
def_extend *Klasse*,*ID*,*TextboxID*;
}
Um ein State bei allen einzufügen, fügst du in der Textbox, auf die du im oben stehenden Skript verwiesen hast, Folgendes ein:
1
2
3
on:start {
addstate "self",*StateID*;
}
Ich hoffe, ich habe dir deine Frage beantwortet, falls du das meinst.

Edit: Ich glaube nicht, dass ich deine Frage beantworten könnte. Das ist, wenn ich dich richtig verstehe, nicht möglich. (bis jetzt)
Wofür brauchst du das eigentlich?

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
hmm am wichtigsten ist mir das mit dem gras...
wuerd gern ne stelle auf meiner map machen wo man sich durch hohes gras hacken muss, was natürlich keinen sin ergibt wenn man auch einfach durchlaufen kann... ...oh hab ich vergessen zu fragen... (wie mache ich gras undurchlaufbar lol )...
im prinzip könnte ich auch ein objekt (stein oder so) mit nem gras modell verwenden, aber ich fänds bloed wenn ich mir so ne meuhe mache und DC evtl später nen einfachen scriptbefehl oder sogar ein kästchen zu anklicken in das fenter einbaut wo sich HP usw einstellen lassen.

mit ID "aneinanderhängen" (schande ueber mich!)
meine ich eine funktion im script nicht nur für ein objekt
(ID=3) sonder für mehrere objekte (ID=3+4+7+999)
gueltig zu machen ohne dabei die gesamte zeile neu schreiben zu muessen.

on:start {
def_extend *Klasse*,*ID*,*TextboxID*;
}

bringt mich leider bei meiner einen frage (ja, auch unverstaendlich formuliert weil müde) nicht weiter.
ich brauche die scripts direkt an das objekt gebunden, damit ich es bei den 150 objekten die kein script haben sollen einfach die scripts/states entfernen kann...
(klingt komisch, ist aber so)

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Hm, nichts von dem was du willst geht. Da muss ich dich wohl enttäuschen.
Was das Gras angeht: DC wird sicher niemals ein Kästchen hinmachen, bei dem man extra für jedes Objekt die Kollision einstellen kann. Das muss schon über Definiton gehen. Du könntest aber auch Bambuswälder benutzen, falls es für dich in Ordnung ist. Allerdings bringt das alles nichts, weil man auch einfach "drüberklettern" kann.
IDs anhängen wird mit sehr großer Sicherheit nie gehen. Da musst du schon den Befehl für jede ID neu schreiben/kopieren.
Ein Skript für sämtliche Objekte, egal welchen Typs, zu erstellen, wäre nicht möglich. Selbst wenn DC eine Funktion dafür einbauen würde, (was er nicht wird) würde es nicht funktionieren. Denn dann müsste das Skript für jedes Objekt separat gespeichert werden, was deine Karte für Leute, die keinen Mega-Zukunfts-PC haben, unzugänglich machen würde. Ginge also nur mit def_extend...

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
...joaa das mit dem bambus wär ne lösung aber wieso kann man darüberklettern? ...selbst wenn ich stell einfach wände mit 1hp vor die unsichtbar sind (wehe da kann man auch drueberklettern)falls ich keine alternative finde. danköö

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Über Wände kann man auch klettern...
Man kann über alles klettern...bis jetzt...

Edit:@DC: Könntest du einen Befehl hinzufügen, der einen State nur für einen bestimmten Zeitraum hinzufügt? Oder gleich ein genaueres Zeitevent als "changeday"? Z.B. "changehour"? Der Grund: Ich will ein Item kreieren, das den Spieler für eine kurze Zeit unbesiegbar macht. Wäre das möglich?
2× editiert, zuletzt 18.01.06 17:36:24

alt Re: Scripting - Fragen/Probleme

Gast

Zitieren
habs gerade im miniformat fertig und dat is voll goil...
...man wuselt durch ein bambusfeld das dicht und hoch genug ist um komplett die sich zu versperren. wände sind im prinzip die pflanzen normale hp haben die anderen lassen sich mit einem schlag kaputtieren.
so kann ich den spieler zu einem schild lenken auf dem
ein totenkopft mit gekreuzten knochen und das in roter farbe geschrieben wort DANGER (bitte nicht geradeaus und dann rechts gehen) steht.
@DC kannst du nicht bitte etwas sinvolleres als diesen dummen kringel auf das schild machen oder mir die möglichkeit geben was draufzumalen ohne gleich nen mod zu machen?

alt Re: Scripting - Fragen/Probleme

HW
User Off Offline

Zitieren
Noch mal die offen stehenden Fragen in einem Überblick:
HW hat geschrieben
:@DC: Könntest du einen Befehl hinzufügen, der einen State nur für einen bestimmten Zeitraum hinzufügt? Oder gleich ein genaueres Zeitevent als "changeday"? Z.B. "changehour"? Der Grund: Ich will ein Item kreieren, das den Spieler für eine kurze Zeit unbesiegbar macht. Wäre das möglich?

kiffer hat geschrieben
@DC kannst du nicht bitte etwas sinvolleres als diesen dummen kringel auf das schild machen oder mir die möglichkeit geben was draufzumalen ohne gleich nen mod zu machen?

Ich fände, es würde bezüglich kiffers Frage genügen, etwas schriftähnlicheres als nen Kringel zu machen. Würde mir auch gefallen.

alt Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Zitieren
ominöses Timerzeug mache ich wohl noch rein. Ansonsten geht das auch per Info in kleineren Zeitabständen, obwohl das natürlich unschön ist, da man das dann selbst auf jede Map setzen müsste.

Eigene Models kannst du per Script laden. Mit dem Befehl "model". Am Besten im on:start-Event. Aber vielleicht mache ich auch noch selbst weitere Schild-Typen. Wer weiss.
Zum Anfang Vorherige 1 210 11 12339 340 Nächste Zum Anfang
Einloggen, um zu antworten Scripts-ÜbersichtStranded II-ÜbersichtForenübersicht