Jump to content

Noturn

Members
  • Posts

    38
  • Joined

  • Last visited

Posts posted by Noturn

  1. Hello everyone,

    Do i need to configure anything on my thor patcher if i only want to generate one .thor file? Because everytime that i use the ThorGenerator, it only generate one file with 40 bytes and my patcher dont read it properly with my changes.

    Thank you.

  2. Hello all,

     

    I was wondering if someone can do a Daily Login screen for 12 or 15 days for me. I have already made a draft o what I want. I've uploaded the logo of my server too. I just need the scope, without the itens.

     

    Since the name of my server is Leaf-RO, if someone can make it with leaf/forrest theme ragnarok on background...

     

    Thanks

    Leaf-RO_Logo.zip

  3. it doesnt need src mod to compare in SQL query.

     

    if i recall correctly, @kick should only work for char name, and not char id ?

     

    Work for both char name and char ID, i did src modification on my custom command, cause a realize that I actually don't need sql script.

     

    Thanks

  4. Its done using a select and putting a WHERE like the one that Emistry do, but i really dont understand why you did this custom table, because al the information that you put there you can have it instantly in any script whitout doing a sql query, with the strcharinfo and getcharid that you just doed to put that information in the table...

    in any case, if you put another thing i might understand... 

    Well, it's because I'm trying to do @kick command on label OnPCDieEvent, but the big problem here is that it have to happend even if the player is in autotrade mode (out of the game).

     
    So, I thought that maybe if I save the char information on sql it can work. I really need help with this, so if you can help me.
     
     

     

     

    ..... WHERE `char_id` = "+getcharid(0)+" ........
    

     

     

    I did this:

     

    if (query_sql "SELECT `char_id` FROM `char_info` WHERE `char_id` = "+getcharid(0)+""))

     

    but doesn't work at all, I have tried a lot of combinations, but really doesn't work.

     

     

     

    My label is like this:

     

    OnPCDieEvent:

     

    if (query_sql "SELECT `char_id` FROM `char_info` WHERE `char_id` = "+getcharid(0)+"")){                           //It will be true just if had found player data on sql table right?

    atcommand "@kick "+getcharid(0);

    }

    end;

     

     

    @EDIT

     

    It's working, thanks guys. Source modification was needed :D.

  5. Hello everyone, I have one doubt about sql comparisons...

    So, I have one custon table like this:

     

    query_sql "insert into `char_info` (`account_id`, `char_id`, `name`) values ('"+ getcharid(3) +"', '"+ getcharid(0) +"', '" + strcharinfo(0) + "')";

     

     

    How can I know if the char_id on custom table is the same of who is using the script? How can I compare this two things?

    Thanks.

  6. Yes, its complety possible, in the name of the npc you just put "#npcuniquename" and that its all.

    And obviusly you change the npcuniquename for the name that you want, but it cant repeat in another npc.

     

    Worked, thanks Mr. Enthr!

  7. Hello everyone :)

     

    Can anyone answer me if it's possible to do npc's with a specific location and sprite, but with no name?

     

    I mean, don't show the name when I slice the mouse on the npc.

     

    Thanks.

  8. Hello Everyone,

     

    I need a little help with command @kick. The objective is to kick players even if I'm not on the same map that they are.

     

    I tried to did this above, and it's working, but if I try to kick someone that is not in game, my map-server crash. Little help with this?

     

    if((pl_sd=map_nick2sd((char *)message)) == NULL)
    {
    clif_GM_kick(sd, pl_sd);
    return 0;
    }
    
  9. Hello everyone,

     

    It's exactly what the title says, I don't want that the stone item be a pre requisite to use the skill Throwstone.

     

    I looked on status.c, skill.c, skill.h and battle.c, but nothing founded about this item. I also looked for TF_PICKSTONE, but it's a little confused to me.

     

    I hope that someone can help me with this.

    case TF_THROWSTONE:
    if (!sc_start(src,bl,SC_STUN,3,skill_lv,skill_get_time(skill_id,skill_lv))) //only blind if success
    sc_start(src,bl,SC_BLIND,3,skill_lv,skill_get_time2(skill_id,skill_lv));
    break;
    
    
    
    
    
    case TF_PICKSTONE:
    if(sd) {
    unsigned char eflag;
    struct item item_tmp;
    struct block_list tbl;
    clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
    memset(&item_tmp,0,sizeof(item_tmp));
    memset(&tbl,0,sizeof(tbl)); // [MouseJstr]
    item_tmp.nameid = ITEMID_STONE;
    item_tmp.identify = 1;
    tbl.id = 0;
    // Commented because of duplicate animation [Lemongrass]
    // At the moment this displays the pickup animation a second time
    // If this is required in older clients, we need to add a version check here
    //clif_takeitem(&sd->bl,&tbl);
    eflag = pc_additem(sd,&item_tmp,1,LOG_TYPE_PRODUCE);
    if(eflag) {
    clif_additem(sd,0,0,eflag);
    map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
    }
    }
    
  10. yes, you can do some sort of trick, though, running query_sql repeatedly might eats your server resources

    I don't really recommend though

    -	script	kdhfksfjs	FAKE_NPC,{
    OnInit:
    	query_sql "create table if not exists disconnect_char( account_id int(11) primary key, char_id int(11), name varchar(23) ) engine = innodb;";
    	while ( true ) {
    		.@nb = query_sql( "select * from disconnect_char", .@aid, .@cid, .@name$ );
    		for ( .@i = 0; .@i < .@nb; .@i++ ) {
    			if ( .@aid[.@i] ) {
    				if ( isloggedin( .@aid[.@i] ) ) {
    					atcommand "@kick "+ rid2name( .@aid[.@i] );
    					debugmes "the player AID "+ .@aid[.@i] +" has been kick.";
    				}
    				else
    					debugmes "the player AID "+ .@aid[.@i] +" is not online";
    				query_sql "delete from disconnect_char where account_id = "+ .@aid[.@i];
    			}
    			else if ( .@cid[.@i] ) {
    				if ( query_sql( "select account_id from `char` where char_id = "+ .@cid[.@i], .@taid ) ) {
    					if ( isloggedin( .@taid ) ) {
    						atcommand "@kick "+ rid2name( .@taid );
    						debugmes "the player CID "+ .@cid[.@i] +" has been kick.";
    					}
    					else
    						debugmes "the player CID "+ .@cid[.@i] +" is not online";
    				}
    				else
    					debugmes "the player CID "+ .@cid[.@i] +" doesn't exist";
    				query_sql "delete from disconnect_char where char_id = "+ .@cid[.@i];
    			}
    			else if ( .@name$[.@i] ) {
    				if ( query_sql( "select account_id from `char` where name = '"+ escape_sql(.@name$[.@i]) +"'", .@taid ) ) {
    					if ( isloggedin( .@taid ) ) {
    						atcommand "@kick "+ rid2name( .@taid );
    						debugmes "the player name "+ .@name$[.@i] +" has been kick.";
    					}
    					else
    						debugmes "the player name "+ .@name$[.@i] +" is not online";
    				}
    				else
    					debugmes "the player name "+ .@name$[.@i] +" doesn't exist";
    				query_sql "delete from disconnect_char where name = '"+ escape_sql(.@name$[.@i]) +"'";
    			}
    		}
    		sleep 5000;
    	}
    }
    .

    .

    One last question, Do you know where I can find the sql to see the autotrade players? or any sql to see the buffs from each player. Or it's a kind of custom table?

    its inside `vendings` table

    and the buffs is `sc_data`

     

     

    Thanks lady AnnieRuru. I really appreciate your job.

  11. SQL Table is used to store data, it doesnt execute out any command to interfere with the game.

     

    The part that executing the command to kick players is the NPC Script or the Source Modication.

     

    If this is a NPC script that you're looking for, you shall elaborate how the NPC script should work to disconnect the users.

     

     

    Thanks sir Emirtry, I understand that SQL can't interfere directly with the game.

     

    So I should use npc+sql to make it work.

     

    One last question, Do you know where I can find the sql to see the autotrade players? or any sql to see the buffs from each player. Or it's a kind of custom table?

     

    Thanks again.

  12. you mean IP Ban List?

     

    or

     

    loop through a custom SQL table for table

    then get the data and disconnect/kill thee characters ?

     

    No, I mean a custom table that will just disconnect the players, if theres someway to do it, can you help me?

     

    Just disconnect someone via sql, even players with autotrade.

     

    Thanks sir Emistry.

     

     

  13. Hello everyone,

     

    I just want a little modification on < Euphy's Quest Shop >.

     

     

     

    This NPC is currently working like this, right?

     

    - give some item id quantity AND
    - give some item id quantity AND
    - give some item id quantity 
    Here is your reward.
     
     
     
    It's possible to work like this?
     
    - give some item id quantity AND
    - give some item id quantity AND
    - give some item id quantity 
    - OR
    - give some special item id quantity 
    Here is your reward.
     
     
     
     
    Thats it, I'm avaiable to clarify the request if it's not clear.
     
     
    Thanks a lot. :D

     

×
×
  • Create New...