Dialog Script

Posted By: darkkingdom

Dialog Script - 09/03/08 19:32

Hallo ich bin neu.
Ich habe ein Dialog Script das aber einfach nicht klappen will.

Das hier ist es:

Code:
 font standard_font= "fontsmal.bmp", 10, 10;
font standard_font= "Arial",1,20;

string npc1_str ="1.text";
string npc2_str ="2.text";
string npc3_str ="3.text";
string npc4_str ="4.text";
string npc5_str ="5.text";

text npc_txt
{
    layer = 22;
    pos_x = 0;
    pos_y = 300;
    font = standard_font;
    strings = 5;
    string = npc1_str; 
     flags = d3d;
   
} 





action npc1
{
    clip_size = 0;
    while (1)
    {
        
        temp.x = player.x - my.x;
        temp.y = player.y - my.y;
        temp.z = 0;
       
        
        
        my.skill10 = vec_dist(my.x, player.x);
        if (my.skill10 < 50) 
        {
             if (my.skill11 == 0)
            {
                npc_talks();
                my.skill11 = 50;
            }
        }
        else
        {
             my.skill11 = 0;
        }
        wait (0);
    } 
}



function npc_talks()
{
      if (my.skill12 == 1) {npc_txt.string = npc1_str;} 
      if (my.skill12 == 2) {npc_txt.string = npc2_str;}  
      if (my.skill12 == 3) {npc_txt.string = npc3_str;} 
      if (my.skill12 == 4) {npc_txt.string = npc4_str;} 
      if (my.skill12 == 5) {npc_txt.string = npc5_str;} 
      
      if (my.skill12 == 5) {my.skill12 -= 5;}

      npc_txt.visible = off;
     

} 


function sprechen
{

npc_txt.visible = on;
      if (my.skill12 < 5) {my.skill12 += 1;}       
}      
      ON_L = sprechen;  
 


Es war so gedacht das man vor einem npc stehen muss dan L drücken soll. Dan soll der 1.text erscheinen. Durchen ein weiteres mal vom drücken von L soll text 1 verschwinden und der 2. text angezeigt werden.Dan durch ein weiteres mal von L drücken soll 2. text verschwinden und der 3. text angezeigt werden usw.

Blöder weise kommt da immer: "Empty Poniter in Sprechen: (my.skill12<5)" und "Empty Poniter in Sprechen: my.skill11+= 1;". Ich hab ewig dran rum gefumelt aber konnte es nicht lösen könnt ihr mir helfen?
Danke
Posted By: cro_games

Re: Dialog Script - 09/03/08 20:27

You can use "skill" only with action,try this:

Code:
font standard_font= "fontsmal.bmp", 10, 10;
font standard_font= "Arial",1,20;

string npc1_str ="1.text";
string npc2_str ="2.text";
string npc3_str ="3.text";
string npc4_str ="4.text";
string npc5_str ="5.text";

text npc_txt
{
    layer = 22;
    pos_x = 0;
    pos_y = 300;
    font = standard_font;
    strings = 5;
    string = npc1_str; 
     flags = d3d;
   
} 



function npc_talks()
{
 while(1)
 {
       if (my.skill12 == 1) {npc_txt.string = npc1_str;} 
      if (my.skill12 == 2) {npc_txt.string = npc2_str;}  
      if (my.skill12 == 3) {npc_txt.string = npc3_str;} 
      if (my.skill12 == 4) {npc_txt.string = npc4_str;} 
      if (my.skill12 == 5) {npc_txt.string = npc5_str;} 
      
      if (my.skill12 == 5) {my.skill12 -= 5;}

      npc_txt.visible = off;
 wait(1);
 }
} 


function sprechen()
{
npc_txt.visible = on;
if (my.skill12 < 5) {my.skill12 += 1;}       
}   


action npc1
{
    npc_talks();//call this function only from this action 
    clip_size = 0;
    while (1)
    {
        
        temp.x = player.x - my.x;
        temp.y = player.y - my.y;
        temp.z = 0;
       
        
        
        my.skill10 = vec_dist(my.x, player.x);
        if (my.skill10 < 50) 
        {
             if (my.skill11 == 0)
            {
                npc_talks();
                my.skill11 = 50;
            }
        }
        else
        {
             my.skill11 = 0;
        }

        if(key_l == 1)
        {
        sprechen();//call this function from action
        }
        wait (1);
    } 
}




Posted By: darkkingdom

Re: Dialog Script - 09/03/08 20:53

Thanks but if I start the game the failure:"nonexistent/empty function whiel" came. And thanks for the answer^^
Posted By: cro_games

Re: Dialog Script - 09/03/08 23:11

ups,sry.. "while" laugh..But it works..
Posted By: Bloodangel

Re: Dialog Script - 09/03/08 23:35

Ok it works thanks. But sory the texts is much too quickly played without stop.
Waht can I do?
Posted By: cro_games

Re: Dialog Script - 09/04/08 00:45

Replace "function sprechen()" with:

Code:
function sprechen()
{
npc_txt.visible = on;
if (my.skill12 < 5) {my.skill12 += 0.01;}//speed 0.01       
}   


Posted By: darkkingdom

Re: Dialog Script - 09/05/08 03:44

Ok thanks it works to for me to.
But you should actually before the npc and l must press for the 1.text to show.
Whom you should again expresses l 2. Text to be displayed, etc.

Sory for my bad englisch^^
Posted By: cro_games

Re: Dialog Script - 09/05/08 09:02

Yes "function spechen()" is before "action npc1"..Other i didn't get..sry
Posted By: darkkingdom

Re: Dialog Script - 09/05/08 18:47

I'm sorry I do not know what you mean. "function spechen ()" is already before the "action npc1" have been.
Posted By: cro_games

Re: Dialog Script - 09/05/08 20:58

nvm..
Posted By: darkkingdom

Re: Dialog Script - 09/05/08 22:18

Oh ok well, thanks for your help.^^
Can anybody help me I need this script very much.

Oder auf Deutsch:
Kan mir sonst noch wer helfen?^^
Posted By: cro_games

Re: Dialog Script - 09/05/08 23:36

Yes man I can help you but I don't get your problem..
Posted By: cro_games

Re: Dialog Script - 09/06/08 10:55

It works now:

Code:
font standard_font= "Arial",1,20;

string npc1_str ="1.text";
string npc2_str ="2.text";
string npc3_str ="3.text";
string npc4_str ="4.text";
string npc5_str ="5.text";

text npc_txt
{
    layer = 22;
    pos_x = 0;
    pos_y = 300;
    font = standard_font;
    strings = 5;
    string = npc1_str; 
     flags = d3d;
   
} 

function npc_talks()
{
 while(1)
 {
      if (my.skill12 == 1) {npc_txt.string = npc1_str;} 
      if (my.skill12 == 2) {npc_txt.string = npc2_str;}  
      if (my.skill12 == 3) {npc_txt.string = npc3_str;} 
      if (my.skill12 == 4) {npc_txt.string = npc4_str;} 
      if (my.skill12 == 5) {npc_txt.string = npc5_str;} 
      
      if (my.skill12 > 5) {my.skill12 = 0;}
 wait(1);
 }
} 



function sprechen()
{
npc_txt.visible = on;
if (my.skill12 < 6) {my.skill12 += 1;}       
}   


action npc1
{
    npc_talks();//call this function only from this action 
    clip_size = 0;
    while (1)
    {
        
        temp.x = player.x - my.x;
        temp.y = player.y - my.y;
        temp.z = 0;
       
        
        
        my.skill10 = vec_dist(my.x, player.x);
        if (my.skill10 < 50) 
        {
             if (my.skill11 == 0)
            {
                npc_talks();
                my.skill11 = 50;
            }
        }
        else
        {
             my.skill11 = 0;
        }

        if(vec_dist(my.x,player.x)<500)//you need to set vec_dist that you want
        {
        if(key_l == 1)
        {
        sprechen();//call this function from action
        while(key_l == 1){wait(1);}
        }
        }
        else
        {
        my.skill2 = 0;
        npc_txt.visible = off;
        }
      
        wait (1);
    } 
}

Posted By: darkkingdom

Re: Dialog Script - 09/06/08 13:07

I thank you so much. It works perfekt.
Posted By: cro_games

Re: Dialog Script - 09/06/08 13:54

No problem man,any time..
© 2024 lite-C Forums