Forum

> > Stranded II > Scripts > ai_stay für die Heuschrecke
Forums overviewStranded II overview Scripts overviewLog in to reply

German ai_stay für die Heuschrecke

5 replies
To the start Previous 1 Next To the start

old ai_stay für die Heuschrecke

Orge
User Off Offline

Quote
hey,
ich bastel grade an einer eigenen, kleinen Map und möchte dazu eine Heuschrecke spawnen lassen, mit der der Spieler interagieren kann, und deswegen möchte ich sie an Ort und Stelle stehen lassen.
die Heuschrecke erstelle ich mit
1
2
3
4
5
6
7
8
create......
...
...
...
/* und füge dann nen externen Script hinzu */
addscript ......
/*anschließend noch der Invulnerability-State... */
addstate "self","invulnerability";
im externen Script liegt wohl das eigentliche Problem, denn der sieht so aus:
1
2
3
4
5
6
7
8
9
on:create {
ai_stay "self";
}

on:use {
msg "Juhu",4;
}

// der on:use-Teil ist nur da, um zu sehen, ob das externe //Script geladen wird, und ja, das tut es.

Leider bewegt sich die Heuschrecke immer noch weiter (und frisst Getreide usw.).
Ersetze ich das on:create durch ein on:addstate (da ich ja den Invulnerability-State hinzufüge), stürzt Stranded beim Erzeugen der Heuschrecke ab (ein on:changeday).

Würde mich über Hilfe freuen

old Re: ai_stay für die Heuschrecke

Hurri04
Super User Off Offline

Quote
ich würde sagen, das funktioniert nicht, weil zu das on:create im externen script garnicht ausgeführt wird, einfach weil dieses script erst beim eigentlichen on:create angehängt wird. somit ist es also schon zu spät, wenn das script erst dann angehängt wird.

eine mögliche lösung wäre wohl, den s2 cmd addscript befehl schon on:preload oder so zu benutzen.

übrigens solltest du aufpassen, dass du von s2 cmd addscript und s2 cmd extendscript das richtige auswählst


falls diese erst lösung nicht funktioniert, oder aus anderen gründen nicht möglich ist (z.b. wenn noch weitere heuschrecken spawnen können sollen), dass starte mal nach dem addstate nen timer, der nach 1 millisekunde 1 mal ausgeführt wird und häng ein event dran, dass dann getriggert wird und pack das s2 cmd ai_stay im externen script in dieses event.

old Re: ai_stay für die Heuschrecke

Orge
User Off Offline

Quote
danke dir, werde das baldmöglich mal ausprobieren

Edit: Funktioniert jetzt, danke

Hab allerdings noch ein anderes Problem (ist nichts, was irgendwie spieltechnische Probleme macht, sondern n Anzeigeproblem bzw. ne Art Duplizierung oder so):

Hab auf meiner Insel nen Beutel eingefügt. Da soll rpg-mäßig was drinnen sein, und da man Beutel im Inventar ja leider nicht "öffnen" kann, wird einfach ein on:collect aufgeführt, und die Items per "find xyz" angefügt.

sieht dann ungefähr so aus:

1
2
3
4
5
on:collect {
find 85,1;
find 49,1;
find 22,2;
}

ingame wird nun leider das da angezeigt:
1
2
3
4
Eisen gefunden(x1)
Schnur gefunden(x1)
Feuerstein gefunden(x2)
Feuerstein gefunden(x0)     //und das ist irgendwie seltsam
Auch wenn ich andere ID's oder andere Item-Reihenfolgen schreibe, das letzte wird immer mit (x0) nochmal angezeigt.

Liebe Grüße
edited 2×, last 06.12.12 07:44:17 pm

old Re: ai_stay für die Heuschrecke

Hurri04
Super User Off Offline

Quote
hmm, kann mir da irgendwie keinen reim drauf machen, denn eigentlich sollte das nicht sein.

du hast dabei aber nicht noch irgendwelche items in dem beutel eingelagert oder so, oder?

ansonsten versuch mal, noch das hier anzuhängen:
1
2
free "self";
skipevent;

old Re: ai_stay für die Heuschrecke

Orge
User Off Offline

Quote
ne, eingelagert oder so hab ich nix.
Hab außerdem das Problem, was vor n paar Wochen schonmal hier aufgetaucht ist, dass der Tagebucheintrag für jedes Starten des Editors/ der Insel kopiert und eingefügt wird, sodass es am Ende dann 10 oder mehr gleiche Einträge sind.
Das ließ sich aber mit "freentry" beheben.
Jo, mit skipevent hab ichs noch nicht probiert, aber wenn ich nur ein "skip;" einfüge (das free "self" wollte ich eigentlich nicht, da man den Beutel danach noch zur Verfügung haben soll bzw. es Sinn macht^^), dann kommt anstelle von
"Feuerstein gefunden(x0)" ein
"Ich habe keinen Platz mehr", was irgendwie noch seltsamer ist
mal sehen, wie das mit skipevent; funktioniert.

Edit:
Mit "skipevent;" hat es funktioniert. Danke Hurri, wie immer biste ne große Hilfe
Allerdings ist damit der Ursprung der "xy gefunden (x0)"-Zeile noch nicht geklärt
edited 1×, last 07.12.12 12:49:13 pm

old Re: ai_stay für die Heuschrecke

Hurri04
Super User Off Offline

Quote
wie gesagt, da habe ich auch keine ahnung, wo das herkommt.

ich habe den befehl schließlich auch schon ein paar mal verwendet (wie beispielsweise in meinem hausbauvideo zu sehen, irgendwo weiter hinten beim anzünden der 4. feuerstelle), aber eigentlich keine probleme damit gehabt...
To the start Previous 1 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview