Syntax error - sprostowanie 3061 8

O temacie

Autor Reverse

Zaczęty 1.01.2012 roku

Wyświetleń 3061

Odpowiedzi 8

Reverse

Reverse

Użytkownicy
posty282
Propsy49
  • Użytkownicy
Na wstępie prosił bym o usunięcie tematu http://themodders.org/index.php?/topic/15878-syntax-error/page__p__1015099#entry1015099 ponieważ był nie zrozumiały.

A teraz:
Do pliku SmithWeapons.d(czy coś takiego :lol2:  ) dodałem:

Na początku skryptu

Cytuj
var int Amulets;

Pod PC_Ore

Cytuj
INSTANCE PC_Amulets (C_INFO)
{
npc = PC_Hero;
condition = PC_Amulets_Condition;
information = PC_Amulets_Info;
permanent = TRUE;
description = "Wykuj amulet";
};

FUNC INT PC_Amulets_Condition()
{
if(PLAYER_MOBSI_PRODUCTION == MOBSI_SMITHWEAPON)
&& (Normalwaffen == FALSE)
&& (Erzwaffen == FALSE)
&& (Amulets == FALSE)
{
return TRUE;
};
};

FUNC VOID PC_Amulets_Info ()
{
Amulets = TRUE;
};

Pod PC_OreBABK

Cytuj
INSTANCE PC_AmuletsBACK (C_INFO)
{
npc = PC_Hero;
nr = 99;
condition = PC_AmuletsBACK_Condition;
information = PC_AmuletsBACK_Info;
permanent = TRUE;
description = DIALOG_BACK;
};
FUNC INT PC_AmuletsBACK_Condition()
{
if(PLAYER_MOBSI_PRODUCTION == MOBSI_SMITHWEAPON)
&& (Normalwaffen == FALSE)
&& (Erzwaffen == FALSE)
&& (Amulets == TRUE)
{
return TRUE;
};
};

FUNC VOID PC_AmuletsBACK_Info ()
{
Amulets = FALSE;
};

{
npc = PC_Hero;
condition = pc_weapon_ItMi_GoldNecklace ;
information = pc_weapon_ItMi_GoldNecklace ;
permanent = TRUE;
description = "Amulet";
};


instance PC_WEAPON_ITHE_STEEL_1(C_Info)
{
npc = PC_Hero;
condition = pc_weapon_ithe_steel_1_condition;
information = pc_weapon_ithe_steel_1_info;
permanent = TRUE;
description = "Amulet";
};


func int pc_weapon_ithe_steel_1_condition()
{
if((PLAYER_MOBSI_PRODUCTION == MOBSI_SmithWeapon) && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE) && (Amulets == TRUE))
{
return TRUE;
};
};

func void pc_weapon_ithe_steel_1_info()
{
if (Npc_HasItems (hero, ItRe_Steel_1) >= 1)
{
Npc_RemoveInvItems (hero,ItRe_Steel_1,1);

CreateInvItems (hero,ITHE_STEEL_1,1);
Print ("Wykułeś amulet !";
}
else
{
Print ("Nie posiadasz odpowiedniej receptury!";
CreateInvItems (self, ItMiSwordRaw,1);
};
B_ENDPRODUCTIONDIALOG ();
Amulets = FALSE;
};

I zrobiłem jeszcze recepturkę w It_written.d(czy coś takiego :lol2:  ) ale recepturka działa

Po uruchomieniu GothicStarterModa i zreprasowaniu skryptów wyskakuje mi błąd:

U PAR: Syntax Error: { (line 188).

Wie ktoś o co chodzi.
 
Spoiler
[ramka]ANGER and FORGIVENESS | [/b]Unity3D.pl | TheGamers | NoteFun[/ramka]

NoteFun:
Spoiler
[/size]NoteFun jest już prawie gotowe!!! Jak tylko ukończymy wersję 1.0,to grę będziecie mogli znaleźć w popularnych sklepach mobilnych oraz PC.
[/b]

AaF:
Spoiler
Niedługo udostępnimy demonstracyjną, przeglądarkową wersję Anger and Forgiveness. Odbędzie się to po ukończeniu prac nad światem.
[/b][/size]



[ramka]Moje konto na p3d.in[/ramka]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Syntax error - sprostowanie
#1 2012-01-01, 14:59(Ostatnia zmiana: 2012-01-01, 15:00)
FUNC VOID PC_AmuletsBACK_Info ()
{
Amulets = FALSE;
};

{
npc = PC_Hero;
condition = pc_weapon_ItMi_GoldNecklace ;
information = pc_weapon_ItMi_GoldNecklace ;
permanent = TRUE;
description = "Amulet";
};

To jest źle, jakbyś pod infosem zaczął nową opcję dialogową, ale nie podając instance.

Reverse

Reverse

Użytkownicy
posty282
Propsy49
  • Użytkownicy
Wydaje mi się że tak powinno być, jeżeli nie to co mam dopisać?
 
Spoiler
[ramka]ANGER and FORGIVENESS | [/b]Unity3D.pl | TheGamers | NoteFun[/ramka]

NoteFun:
Spoiler
[/size]NoteFun jest już prawie gotowe!!! Jak tylko ukończymy wersję 1.0,to grę będziecie mogli znaleźć w popularnych sklepach mobilnych oraz PC.
[/b]

AaF:
Spoiler
Niedługo udostępnimy demonstracyjną, przeglądarkową wersję Anger and Forgiveness. Odbędzie się to po ukończeniu prac nad światem.
[/b][/size]



[ramka]Moje konto na p3d.in[/ramka]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Syntax error - sprostowanie
#3 2012-01-01, 15:19(Ostatnia zmiana: 2012-01-01, 15:22)
Każdą "rzecz" (obiekt - w tym opcję dialogową, funkcję, klasę, prototyp) w skryptach musisz zacząć od nagłówka gdzie jest napisane napisania czym to jest, jak się nazywa i ewentualnie na czym bazuje. Dopiero potem dajesz "ciało" które zaczyna się od { a kończy na };.
{
npc = PC_Hero;
condition = pc_weapon_ItMi_GoldNecklace ;
information = pc_weapon_ItMi_GoldNecklace ;
permanent = TRUE;
description = "Amulet";
};
To jest "ciało" jakiejś opcji dialogowej.
Brakujący nagłówek mógłby wyglądać np tak:
INSTANCE pc_weapon_ItMi_GoldNecklace (C_INFO)Ale nawet gdybyś go dodał, to ta opcja dialogowa i tak jest napisana źle. Patrząc po tym co jest w niej wpisane, może to być po prostu szablon który zapomniałeś wywalić. Skasuj ten fragment i sprawdź czy wszystko zadziała.

Reverse

Reverse

Użytkownicy
posty282
Propsy49
  • Użytkownicy

Reverse

Syntax error - sprostowanie
#4 2012-01-01, 15:23(Ostatnia zmiana: 2012-01-02, 17:10)
Dobrze powinno działać, sprawdzę dopiero jutro, Sam nie wiem po co to napisałem  :huh:  .

A jednak to nie ten błąd, sprawdziłem skrypt tych linijek nie było, nie wiem skąd mi się wzięły błąd musi leżeć w czymś innym.
 
Spoiler
[ramka]ANGER and FORGIVENESS | [/b]Unity3D.pl | TheGamers | NoteFun[/ramka]

NoteFun:
Spoiler
[/size]NoteFun jest już prawie gotowe!!! Jak tylko ukończymy wersję 1.0,to grę będziecie mogli znaleźć w popularnych sklepach mobilnych oraz PC.
[/b]

AaF:
Spoiler
Niedługo udostępnimy demonstracyjną, przeglądarkową wersję Anger and Forgiveness. Odbędzie się to po ukończeniu prac nad światem.
[/b][/size]



[ramka]Moje konto na p3d.in[/ramka]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
To właśnie TEN błąd, w skrypcie też ten fragment jest:
FUNC VOID PC_AmuletsBACK_Info ()
{
        Amulets = FALSE;
};
{
        npc = PC_Hero;
        condition = pc_weapon_ithe_steel_1_condition;
        information = pc_weapon_ithe_steel_1_info;
        permanent = TRUE;
        description = "Amulet";
};
Ten "bezgłowy dialog" zaczyna się równo od linijki 188, w ogóle próbowałeś zobaczyć co w tej linijce jest? :facepalm:

Reverse

Reverse

Użytkownicy
posty282
Propsy49
  • Użytkownicy

Reverse

Syntax error - sprostowanie
#6 2012-01-01, 15:55(Ostatnia zmiana: 2012-01-01, 15:55)
Sorry, przeoczyłem, ten dialog jest troszkę inny od tego który opisywałeś we wcześniejszym poście, czyli napewno mam go usunąć.
 
Spoiler
[ramka]ANGER and FORGIVENESS | [/b]Unity3D.pl | TheGamers | NoteFun[/ramka]

NoteFun:
Spoiler
[/size]NoteFun jest już prawie gotowe!!! Jak tylko ukończymy wersję 1.0,to grę będziecie mogli znaleźć w popularnych sklepach mobilnych oraz PC.
[/b]

AaF:
Spoiler
Niedługo udostępnimy demonstracyjną, przeglądarkową wersję Anger and Forgiveness. Odbędzie się to po ukończeniu prac nad światem.
[/b][/size]



[ramka]Moje konto na p3d.in[/ramka]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Albo usunąć, albo jeśli jest ci do czegoś poprawny to napisać prawidłowo. Ale tak jak napisałem, to jest ledwo fragment szablonu, prawdopodobnie śmieć który ci się przypadkiem zawieruszył i jest do wywalenia. Po prostu spróbuj, przecież w razie czego możesz przywrócić :|

Reverse

Reverse

Użytkownicy
posty282
Propsy49
  • Użytkownicy
Bobra, dzięki :)   wszystko działa, usuń już ten temat jeśli możesz.
 
Spoiler
[ramka]ANGER and FORGIVENESS | [/b]Unity3D.pl | TheGamers | NoteFun[/ramka]

NoteFun:
Spoiler
[/size]NoteFun jest już prawie gotowe!!! Jak tylko ukończymy wersję 1.0,to grę będziecie mogli znaleźć w popularnych sklepach mobilnych oraz PC.
[/b]

AaF:
Spoiler
Niedługo udostępnimy demonstracyjną, przeglądarkową wersję Anger and Forgiveness. Odbędzie się to po ukończeniu prac nad światem.
[/b][/size]



[ramka]Moje konto na p3d.in[/ramka]


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry