Jump to content

Nokia

Members
  • Posts

    150
  • Joined

  • Last visited

Posts posted by Nokia

  1. well, your script is only checking the alliance thing, but i need some more check, players who has taken the castle should be warp to another place, players who dont have the castle should be warped to another player, and the alliance should be warp to another place

  2. well the sample is working, but if add this into my koe script, and my castle is empty, the npc always says: This NPC is reserved for Guild null and its allies.

    i also added my map there: set .@GuildID,getcastledata("guild_vs1",1);

    edit: nvm got it:

    // KoE Entrance
    prontera,156,182,4 script King of Emperium#KoE 108,{
    set .@GuildID,getcastledata("guild_vs1",1);
    mes "[The King]";
    if ( getcharid(2) == 0 ) { // [b]if the player has no guild[/b]
     mes "you have no guild!.";
     close;
    }
     if (getcharid(2) == GetCastleData("guild_vs1",1)) { // <- [b]if my guild got the caslte warp me to:[/b]
    mes "Hey "+strcharinfo(0)+"";
    mes "would you go back into the";
    mes "^FF0000King of Emperium Castle?^000000";
    if ( select ( "Yes!", "No!" ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 27, 50; end;
    	case 2: warp "guild_vs1", 49, 71; end;
    	case 3: warp "guild_vs1", 72, 50; end;
    	case 4: warp "guild_vs1", 49, 28; end;
    }
    }
    
    query_sql( "SELECT `alliance_id` FROM `guild_alliance` WHERE `guild_id` = "+.@GuildID+"",.@Allie );
    if( getcharid(2) == .@GuildID ) set .@Allowed,1;
    for( set .@i,0; .@i < getarraysize( .@Allie ); set .@i,.@i + 1 )
    if( getcharid(2) == .@Allie[.@i] ) set .@Allowed,1;
    if( !.@Allowed ){
    mes "Hello.";
    mes "Would you enter the event?"; // <-[b] if there is no ally, warp me to:[/b]
    if ( select ( "Ja!", "Nein.." ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 50, 88; end;
    	case 2: warp "guild_vs1", 88, 50; end;
    	case 3: warp "guild_vs1", 50, 11; end;
    	case 4: warp "guild_vs1", 11, 50; end;
    }
    }else{
    mes "Hey "+strcharinfo(0)+"";
    mes "would you enter into the";
    mes "^FF0000King of Emperium Castle?^000000"; // [b]if the guild are allys, warp me to:[/b]
    if ( select ( "Yes!", "No!" ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 27, 50; end;
    	case 2: warp "guild_vs1", 49, 71; end;
    	case 3: warp "guild_vs1", 72, 50; end;
    	case 4: warp "guild_vs1", 49, 28; end;
    }
    }
    close;
    
    mes "Hello.";
    mes "would you enter the ^FF0000King of Emperium Event^000000?"; //[b] <- do i need this?[/b]
    if ( select ( "Yes!", "No.." ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 50, 88; end;
    	case 2: warp "guild_vs1", 88, 50; end;
    	case 3: warp "guild_vs1", 50, 11; end;
    	case 4: warp "guild_vs1", 11, 50; end;
    }
    }
    
    

    another question, if the event endet the players can still warp into the room if they dont close the dialog, would it possible to add some koe check ? :

    mes "would you enter the ^FF0000King of Emperium Event^000000?"; // <- do i need this?
    if ( select ( "Yes!", "No.." ) == 2 ) close;
    [b]if koe == end > close: <- something like this?[/b]
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 50, 88; end;
    	case 2: warp "guild_vs1", 88, 50; end;
    	case 3: warp "guild_vs1", 50, 11; end;
    	case 4: warp "guild_vs1", 11, 50; end;
    

  3. Hi there, i just wanna ask if its possible to warp the Alliance guild to another place, so i need an alliance check, my koe warper:

    prontera,156,182,4 script King of Emperium#KoE 108,{
    mes "[The King]";
    if ( getcharid(2) == 0 ) {
     mes "You must have a guild to participate in the ^FF0000King of Emperium Tournament^000000.";
     close;
    }
     if (getcharid(2) == GetCastleData("guild_vs1",1)) { // Check if the player has the castle.
    mes "Hey "+strcharinfo(0)+"";
    mes "You will go back into your Castle?";
    if ( select ( "Yes!", "No!" ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 27, 50; end;
    	case 2: warp "guild_vs1", 49, 71; end;
    	case 3: warp "guild_vs1", 72, 50; end;
    	case 4: warp "guild_vs1", 49, 28; end;
    }
    }
    
    
    
    [b]i also need a check like this:[/b]
    [b]if > the guild who has taked the emperium is my ally warp me to:[/b]
    
    
    mes "Hello.";
    mes "Would you like to participate in the ^FF0000King of Emperium Tournament^000000?"; //thats if he dosent have the castle
    if ( select ( "Yes", "No" ) == 2 ) close;
    switch( rand(1,4) ){
    	case 1: warp "guild_vs1", 50, 88; end;
    	case 2: warp "guild_vs1", 88, 50; end;
    	case 3: warp "guild_vs1", 50, 11; end;
    	case 4: warp "guild_vs1", 11, 50; end;
    }
    }
    

    is there no way to check the alliance?

  4. you missed the last } in the first script, but thanks i'm testing it now.

    edit: how can i change the announce to show the %exp?

    example, for now its:

    "Happy Hour EXP: Floating rates event started. New rates: Base - "+(getbattleflag("base_exp_rate")/100)+"x, Job - "+(getbattleflag("job_exp_rate")/100)+"x",0;
    

    but i want this: The Exp rates increased by xx% for 1 hour. // not the whole rates

    edit2: nvm solved, i used +.@BaseExp+ in the announce, but the oninit part isent working, if i reloadscript the rates are not going back to normal, i must @reloadbattleconf everytime., stop event is not working for me also.

    another thing, my rates are 50x and if i input 10%, it only applys 5x more, so 50x rates +10% = 55x rates.

    its working now so far, only problem is this error if a player click the npc: "fatal error player not attached!"

  5. Hi there, i wanna make an event (only can start by gms), to start an exp event for all maps for 1 hour, i heard about the exp mapflag but i think the floating rates script would be the best way to do that. well i just dont know how to add the timer there, for example, thats what my npc looks like if hes finish:

    mes hi

    if gm lvl(xx):

    menu start event

    else:

    mes your not a gm

    start:

    setbattleflag("base_exp_rate",60); //actually my server rates are 50x so 60 would be 10%more

    setbattleflag("job_exp_rate",60);

    announce "10% exp event has started"

    timer:

    after 1 hour: <--- i dont know how to do this ^^'

    ->

    setbattleflag("base_exp_rate",50);

    setbattleflag("job_exp_rate",50);

    announce "10% exp event has ended"

    // do i need @reloadmobdb for this? or only for drop rates?

  6. hmm, the sql part isent working for me, the npc always says im not in a guild and if i cut the script into this:

    prontera,150,150,3	script	Guild Level	100,{
    query_sql "SELECT `guild_lv` FROM `guild` WHERE `guild_id` = '"+ .@guild_id +"'",.@guild_lv;
    mes "Your guild level is "+ .@guild_lv +"!";
    close;
    }
    

    then the npc always says your guild lvl is 0, but its not.

  7. Hi there, i want to make a "guild reward" npc, the npc should warp all members in a lvl 50 guild to a map. like this:

    mes hi bla

    if guild lvl is not 50

    mes you cant use this service

    close

    else

    warp bla

    end

    but i cant find any script function in eathena to check the guild lvl via scripts, or i missed something?

  8. i also use an koe script like this, change the gvg mapflag into:

    guild_vs1 mapflag gvg_castle
    

    my castle db:

    0,guild_vs1,King of Emperium,Agit_A01,1
    

    i changed the first castle in the db, and i recompiled my server, but try the mapflag first.

  9. hi there,

    im a bit confused about rathena, so, rathena = renewal eathena right?

    is there a list w/ features that are already working?

    like: matk formula = working / stat system = not working / level system = working etc

    i cant find any infos about that features here :(

×
×
  • Create New...