Jump to content
  • 0
mrlongshen

OnPCLoginEvent:

Question

Hi all. I want to ask.

What happen if I have 2 OnPCLoginEvent: ?

I load my script reset level and instant level.

I cant connect to my server. 

Failed to connect, it like stuck. I dont know why ? 

After I have disable the reset NPC. I can login to my server.

Can someone explain it to me ?

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

You must merge it into one Onpcloginevent.

Share this post


Link to post
Share on other sites
  • 0

There's no "must" as far as I know. It's preferable, yes, but not more than that. If there's more than 1 login event they just all queue up and start one after another. It's ~same with onpcdeath and onpclogout events.

 

Do you get any errors in the console when you try to login?

Share this post


Link to post
Share on other sites
  • 0

Hi all. I want to ask.

What happen if I have 2 OnPCLoginEvent: ?

I load my script reset level and instant level.

I cant connect to my server. 

Failed to connect, it like stuck. I dont know why ? 

After I have disable the reset NPC. I can login to my server.

Can someone explain it to me ?

Maybe those scripts have something else too, which is making your map-server to freeze,

Multiple OnPcLogin hardly would do that...

Check OnInit Part, most likely, thats the part if you can't login due to script.

Share this post


Link to post
Share on other sites
  • 0

@@Dastgir @@Quazi @@Frost @@Garr

 

-	script	Sample	FAKE_NPC,{OnPCLoginEvent:if( ( BaseLevel >= 100 && BaseLevel <= 255 ) && ( JobLevel >= 71 && JobLevel <= 200 ) ){set BaseLevel,99;set JobLevel,70;sc_end SC_ALL;resetskill;resetstatus;}end;}
-	script	Instajobnlevel	-1,{OnPCLoginEvent:    if( Instajobnlevel == 1 ) end;Main_Menu:    switch ( select ( "Manual Leveling","First Job","Second Job","Extended Job","Baby Job","Transcend Job")) {        case 1:    mes "This popup message will not appear again."; set Instajobnlevel,1; close;        case 2:                mes "[ ^ff0000 "+.names$+"  ^000000]","Tell me your desired Class.";                switch(select("^0000ff - Swordman^000000","^0000ff - Magician^000000","^0000ff - Archer^000000","^0000ff - Acolyte^000000","^0000ff - Merchant^000000","^0000ff - Thief^000000","^FF0000Back^000000")) {                    case 1:    callsub Job_Changing,1,99,70,60,"All";                    case 2:    callsub Job_Changing,2,99,70,60,"All";                    case 3:    callsub Job_Changing,3,99,70,60,"All";                    case 4:    callsub Job_Changing,4,99,70,60,"All";                    case 5:    callsub Job_Changing,5,99,70,60,"All";                    case 6:    callsub Job_Changing,6,99,70,60,"All";                    case 7:    next; goto Main_Menu;            }        case 3:                mes "[ ^ff0000 "+.names$+"  ^000000]","Tell me your desired Class.";                switch(select("^0000ff - Knight^000000","^0000ff - Priest^000000","^0000ff - Wizard^000000","^0000ff - Blacksmith^000000","^0000ff - Hunter^000000","^0000ff - Assassin^000000","^0000ff - Crusader^000000","^0000ff - Monk^000000","^0000ff - Sage^000000","^0000ff - Rogue^000000","^0000ff - Alchemist^000000",( Sex == 1 )?"":"^0000ff - Dancer^000000",( Sex == 0 )?"":"^0000ff - Bard^000000","^FF0000Back^000000")) {                    case 1:    callsub Job_Changing,7,99,70,110,"All";                    case 2:    callsub Job_Changing,8,99,70,110,"All";                    case 3:    callsub Job_Changing,9,99,70,110,"All";                    case 4:    callsub Job_Changing,10,99,70,110,"All";                    case 5:    callsub Job_Changing,11,99,50,110,"All";                    case 6:    callsub Job_Changing,12,99,50,110,"All";                    case 7:    callsub Job_Changing,14,99,70,110,"All";                    case 8:    callsub Job_Changing,15,99,70,110,"All";                    case 9:    callsub Job_Changing,16,99,70,110,"All";                    case 10:    callsub Job_Changing,17,99,70,110,"All";                    case 11:    callsub Job_Changing,18,99,70,110,"All";                    case 12:    callsub Job_Changing,20,99,70,110,"All";                    case 13:    callsub Job_Changing,19,99,70,110,"All";                    case 14:    next; goto Main_Menu;            }            case 4:                mes "[ ^ff0000 "+.names$+"  ^000000]","Tell me your desired Class.";                switch(select("^0000ff - Super Novice^000000","^0000ff - Gunslinger^000000","^0000ff - Ninja^000000","^0000ff - Takewon^000000","^0000ff - Star Gladiator^000000","^0000ff - Soul Linker^000000","^FF0000Back^000000")) {                    case 1:    callsub Job_Changing,23,99,70,110,"All";                    case 2:    callsub Job_Changing,24,99,70,600,"All";                    case 3:    callsub Job_Changing,25,99,70,60,"All";                    case 4:    callsub Job_Changing,4046,99,70,60,"All";                    case 5:    callsub Job_Changing,4047,99,70,110,"All";                    case 6:    callsub Job_Changing,4049,99,70,110,"All";                    case 7:    next; goto Main_Menu;            }            case 5:                mes "[ ^ff0000 "+.names$+"  ^000000]","Tell me your desired Class.";                switch(select("^0000ff - Baby Swordman^000000","^0000ff - Baby Magician^000000","^0000ff - Baby Archer^000000","^0000ff - Baby Acolyte^000000","^0000ff - Baby Merchant^000000","^0000ff - Baby Thief^000000","^0000ff - Baby Knight^000000","^0000ff - Baby Priest^000000","^0000ff - Baby Wizard^000000","^0000ff - Baby Blacksmith^000000","^0000ff - Baby Hunter^000000","^0000ff - Baby Assassin^000000","^0000ff - Baby Crusader^000000","^0000ff - Baby Monk^000000","^0000ff - Baby Sage^000000","^0000ff - Baby Rogue^000000","^0000ff - Baby Alchemist^000000",( Sex == 1 )?"":"^0000ff - Baby Dancer^000000",( Sex == 0 )?"":"^0000ff - Baby Bard^000000","^0000ff - Super Baby^000000","^FF0000Back^000000")) {                            case 1:    callsub Job_Changing,4024,99,70,60,"All";                    case 2:    callsub Job_Changing,4025,99,70,60,"All";                    case 3:    callsub Job_Changing,4026,99,70,60,"All";                    case 4:    callsub Job_Changing,4027,99,70,60,"All";                    case 5:    callsub Job_Changing,4028,99,70,60,"All";                    case 6:    callsub Job_Changing,4029,99,70,60,"All";                    case 7:    callsub Job_Changing,4030,99,70,110,"All";                    case 8:    callsub Job_Changing,4031,99,70,110,"All";                    case 9:    callsub Job_Changing,4032,99,70,110,"All";                    case 10:    callsub Job_Changing,4033,99,70,110,"All";                    case 11:    callsub Job_Changing,4034,99,70,110,"All";                    case 12:    callsub Job_Changing,4035,99,70,110,"All";                    case 13:    callsub Job_Changing,4037,99,70,110,"All";                    case 14:    callsub Job_Changing,4038,99,70,110,"All";                    case 15:    callsub Job_Changing,4039,99,70,110,"All";                    case 16:    callsub Job_Changing,4040,99,70,110,"All";                    case 17:    callsub Job_Changing,4041,99,70,110,"All";                    case 18:    callsub Job_Changing,4043,99,70,110,"All";                    case 19:    callsub Job_Changing,4042,99,70,110,"All";                    case 20:    callsub Job_Changing,4045,99,70,110,"All";                    case 21:    next; goto Main_Menu;            }        case 6:                mes "[ ^ff0000 "+.names$+"  ^000000]","Tell me your desired Class.";                switch(select("^0000ff - Lord Knight^000000","^0000ff - High Priest^000000","^0000ff - High Wizard^000000","^0000ff - Whitesmith^000000","^0000ff - Sniper^000000","^0000ff - Assassin Cross^000000","^0000ff - Paladin^000000","^0000ff - Champion^000000","^0000ff - Professor^000000","^0000ff - Stalker^000000","^0000ff - Creator^000000",( Sex == 1 )?"":"^0000ff - Gypsy^000000",( Sex == 0 )?"":"^0000ff - Clown^000000","^FF0000Back^000000")) {                    case 1:    callsub Job_Changing,4008,99,70,130,"All";                    case 2:    callsub Job_Changing,4009,99,70,130,"All";                    case 3:    callsub Job_Changing,4010,99,70,130,"All";                    case 4:    callsub Job_Changing,4011,99,70,130,"All";                    case 5:    callsub Job_Changing,4012,99,70,130,"All";                    case 6:    callsub Job_Changing,4013,99,70,130,"All";                    case 7:    callsub Job_Changing,4015,99,70,130,"All";                    case 8:    callsub Job_Changing,4016,99,70,130,"All";                    case 9:    callsub Job_Changing,4017,99,70,130,"All";                    case 10:    callsub Job_Changing,4018,99,70,130,"All";                    case 11:    callsub Job_Changing,4019,99,70,130,"All";                    case 12:    callsub Job_Changing,4021,99,70,130,"All";                    case 13:    callsub Job_Changing,4020,99,70,130,"All";                    case 14:        next; goto Main_Menu;            }    }Job_Changing:    mes " ","Job Change to: ^ff0000"+jobname(getarg(0))+"^000000 ?";    if ( select ( "- Yes","- No" ) == 2) close;        resetskill;        resetstatus;        set SkillPoint,0;        percentheal 100,100;        jobchange getarg(0);        set Instajobnlevel, 1;        atcommand "@allskills";        set JobLevel, getarg(2);        set BaseLevel, getarg(1);        set SkillPoint,getarg(3);        announce "[ SyokRO ]: "+strcharinfo(0)+" has changed to "+jobname(getarg(0))+" job.",bc_self|bc_blue;        callsub Get_Platinum;        close;        Get_Platinum:    skill 142,1,0;    switch(BaseClass) {        case 0: if (Class !=23) skill 143,1,0; break;        case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;        case 2: skill 157,1,0; break;        case 3: skill 147,1,0; skill 148,1,0; break;        case 4: skill 156,1,0; break;        case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;        case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;        default: break;    }    switch(BaseJob) {        case 7: skill 1001,1,0; break;        case 8: skill 1014,1,0; break;        case 9: skill 1006,1,0; break;        case 10: skill 1012,1,0; skill 1013,1,0; break;        case 11: skill 1009,1,0; break;        case 12: skill 1003,1,0; skill 1004,1,0; break;        case 14: skill 1002,1,0; break;        case 15: skill 1015,1,0; skill 1016,1,0; break;        case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;        case 17: skill 1005,1,0; break;        case 18: skill 238,1,0; break;        case 19: skill 1010,1,0; break;        case 20: skill 1011,1,0; break;        default: break;    }    return;OnInit:    query_sql("SELECT `name` from `char` WHERE `char_id` = 1",.names$);    end;}

Here the script. I had to disable one of this script. My player and me cant login if I enable this two script. How to resolve it ? Sometimes I got event queue full.

 

[Warning]: npc_event: player's event queue is full, can't add event 'WOE_CONTROL::OnPCLoadMapEvent' !
Edited by mrlongshen

Share this post


Link to post
Share on other sites
  • 0

@@mrlongshen

 

in you're second script, try changing this line:

 

OnInit:

query_sql("SELECT `name` from `char` WHERE `char_id` = 1",.names$);

end;

 

into

OnInit:

.names$ = "ServerName";

end;

 

Share this post


Link to post
Share on other sites
  • 0

@@Frost

 

i think this line:

 

if (Instajobnlevel != 1 && BaseLevel >= 100 && BaseLevel <= 255 && JobLevel >= 71 && JobLevel <= 200)

 

should be separate,

 

the Instajobnlevel != 1 check should be before the Main Menu thing

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.