Frage zum Script, das der Charakter sich nicht bewegt.
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
Frage zum Script, das der Charakter sich nicht bewegt.
Hallo,
es gibt ja viele Möglichkeiten, das der Charakter sich nicht bewegen soll, wenn er auf einer Walkablearea sich befindet.
Aber was ist der einfachste Scrip, dass sich der Charakter nicht bewegen soll und was ist der Scrip, das er sich wieder bewegen soll?
es gibt ja viele Möglichkeiten, das der Charakter sich nicht bewegen soll, wenn er auf einer Walkablearea sich befindet.
Aber was ist der einfachste Scrip, dass sich der Charakter nicht bewegen soll und was ist der Scrip, das er sich wieder bewegen soll?
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
IMO am besten:
Walkable Area feststellen, auf der sich der Char befindet und diese dann an-/ausschalten:
Ausschalten:
Anschalten:
Walkable Area feststellen, auf der sich der Char befindet und diese dann an-/ausschalten:
Ausschalten:
Code: Alles auswählen
int area = GetWalkableAreaAt (cChar.x, cChar.y);
RemoveWalkableArea(area);
Code: Alles auswählen
int area = GetWalkableAreaAt (cChar.x, cChar.y);
RestoreWalkableArea(area);
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Mir is grad langweilig 
Es geht noch kürzer:

Es geht noch kürzer:
Code: Alles auswählen
RemoveWalkableArea(GetWalkableAreaAt(player.x, player.y));
und
RestoreWalkableArea(GetWalkableAreaAt(player.x, player.y));
Use gopher repellent on funny little man
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Weg:
Hin:
hehe, mach den mal kürzer, khrismuc 
Code: Alles auswählen
int area = GetWalkableAreaAt (cChar.x, cChar.y);
if(area>0 && area<16) RestoreWalkableArea(area);
Code: Alles auswählen
int area = GetWalkableAreaAt (cChar.x, cChar.y);
if(area>0 && area<16) RemoveWalkableArea(area);

Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Zensi, Du hast Restore und Remove vertauscht
Selbstverständlich kannst Du diesen Code nicht 1:1 übernehmen, das ist klar, Du musst natürlich RunScript-Interactions benutzen, die die functions dann erstellen.
PS: Eine Folge von mehreren Befehlen: Script/Skript

Code: Alles auswählen
// room script
int area=1;
...
function irgendwas() {
// interaction, nach der der Spieler sich nicht mehr bewegen kann
area=GetWalkableAreaAt(player.x-GetViewportX(), player.y-GetViewPortY());
RemoveWalkableArea(area);
}
...
function objectX_y() {
// script for Object X (name): Use inventory on object
if (...) {
RestoreWalkableArea(area);
...
}
}
PS: Eine Folge von mehreren Befehlen: Script/Skript
Use gopher repellent on funny little man
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Nein, ich hab nur "hin" und "weg" vertauscht. Nächstes Mal überprüf deine Aussagen nochmalkhrismuc hat geschrieben:Zensi, Du hast Restore und Remove vertauscht![]()

Ach nein... das Ganze heißt dann doch Programmkhrismuc hat geschrieben:PS: Eine Folge von mehreren Befehlen: Script/Skript

Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
Ich will euch nicht die Seele vom Leib ausfragen, aber das Problem geht weiter.
Ich hatte bei "Player enters screen (after fadein)
int area = GetWalkableAreaAt (player.x, player.y);
if(area>0 && area<16) RemoveWalkableArea(area);
benutzt und beim Object hatte ich bei "Use Inventory on Object"
if (UsedAction(A_USE_INV)) {
if (character[GetPlayerCharacter()].activeinv == 21) {
DisplaySpeech(GetPlayerCharacter(),"(--GEHEIM--);
Wait(20);
ChangeCharacterView(GetPlayerCharacter(), 9);
SetCharacterSpeechView(GetPlayerCharacter(), 10);
SetGlobalInt(53, 1);
SetGlobalInt(64, 0);
int area = GetWalkableAreaAt (player.x, player.y);
if(area>0 && area<16) RestoreWalkableArea(area);
}
}
geschrieben. Wie könnte ich das mit den Run-Script so dollmetschen?

Ich hatte bei "Player enters screen (after fadein)
int area = GetWalkableAreaAt (player.x, player.y);
if(area>0 && area<16) RemoveWalkableArea(area);
benutzt und beim Object hatte ich bei "Use Inventory on Object"
if (UsedAction(A_USE_INV)) {
if (character[GetPlayerCharacter()].activeinv == 21) {
DisplaySpeech(GetPlayerCharacter(),"(--GEHEIM--);
Wait(20);
ChangeCharacterView(GetPlayerCharacter(), 9);
SetCharacterSpeechView(GetPlayerCharacter(), 10);
SetGlobalInt(53, 1);
SetGlobalInt(64, 0);
int area = GetWalkableAreaAt (player.x, player.y);
if(area>0 && area<16) RestoreWalkableArea(area);
}
}
geschrieben. Wie könnte ich das mit den Run-Script so dollmetschen?





-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Code: Alles auswählen
int area = GetWalkableAreaAt (player.x, player.y);
if(area>0 && area<16) RemoveWalkableArea(area);
SetGlobalInt(110, area);
Code: Alles auswählen
if (UsedAction(A_USE_INV)) {
if (character[GetPlayerCharacter()].activeinv == 21) {
DisplaySpeech(GetPlayerCharacter(),"(--GEHEIM--);
Wait(20);
ChangeCharacterView(GetPlayerCharacter(), 9);
SetCharacterSpeechView(GetPlayerCharacter(), 10);
SetGlobalInt(53, 1);
SetGlobalInt(64, 0);
int area = GetGlobalInt(110);
if(area>0 && area<16) RestoreWalkableArea(area);
}
}
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet