Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Posts posted by AnnieRuru


  1. I think he wants 2 things

     

    1. he wants to show the [0]

    yes most item already can show [1] [2] [3], but if the item has no slot, he still wants to show the [0]

     

    2. Alt+Q equipment doesn't show [0], [1], [2], [3]

     

     

    old item file can do that no.2 ?

    interesting

     

    newer one that use itemInfo_Sak.lub has these

    function main()
    	for ItemID, DESC in pairs(tbl) do
    		result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum)
    		if not msg then
    			result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume)
    		end
    		if not result then
    			return false, msg
    		end
    		for k, v in pairs(DESC.unidentifiedDescriptionName) do
    			result, msg = AddItemUnidentifiedDesc(ItemID, v)
    			if not result then
    				return false, msg
    			end
    		end
    		for k, v in pairs(DESC.identifiedDescriptionName) do
    			result, msg = AddItemIdentifiedDesc(ItemID, v)
    			if not result then
    				return false, msg
    			end
    		end
    		if nil ~= DESC.EffectID and nil ~= AddItemEffectInfo then
    			result, msg = AddItemEffectInfo(ItemID, DESC.EffectID)
    			if not result then
    				return false, msg
    			end
    		end
    		if nil ~= DESC.costume and nil ~= AddItemIsCostume then
    			result, msg = AddItemIsCostume(ItemID, DESC.costume)
    			if not result then
    				return false, msg
    			end
    		end
    	end
    	return true, "good"
    end
    function main_server()
    	for ItemID, DESC in pairs(tbl) do
    		result, msg = AddItem(ItemID, DESC.identifiedDisplayName, DESC.slotCount)
    		if not result then
    			return false, msg
    		end
    	end
    	return true, "good"
    end

    DESC.slotCount .... but doesn't seem to have anything to do here


  2. 1.3 - plugin

    - add respawn behavior and allow/disallow skill configuration

    - add announcement when GM use `@cell_pvp` atcommand

     

    1.3a

    - fix pk server doesn't calculate the pvp points correctly


  3. 10 hours ago, evilpuncker said:

    are players outside it, able to use buff/heal on players inside it?

    HAHAHAHA !!

    why I missed that part of the video

     

    hmm ... how to fix this ...
    priest outside the zone can cast santuary just 1 cell away of pvp zone to heal people standing at the edge of the zone ...

    hmm, maybe only the placement skill make it can only cast battle_config.area_size away from the pvp zone

    I think just disable skill casting outside the zone

     

    1.1a - plugin

    - disable any skill casting outside pvp zone except GM that has PC_PERM_SKILL_UNCONDITIONAL

    - FIX A FUCKING BUG THAT NOBODY CAN HIT ANYTHING

     

     

     

    I think I'm going to rewrite this as addToMAPD/removeFromMAPD instead of using VECTOR_ ....


  4. set .rewardCount, getmapusers(strnpcinfo(4)) - 1;

    change strnpcinfo(4) into $lastPopMap$

     

    by the way the condition down below might not work,

    we don't have *getfreecell script command to search for a free cell to drop items

     

    while(checkcell ... trick might work, but might take a lot goto_count .... though


  5. I've actually done this once when I was just started learn source coding
    of course over time I've become better, but decided use this 'cell_pvp' name because of popular search result ...

    this isn't setcell type modification, but a script/at command that can only set only in a square/rectangle shape

    this modification has some resemblance based on this patch

     

    Download: 1.7

    plugin

     

    this should work just like in this video

     

    -	script	jdhsjkfh	FAKE_NPC,{
    OnInit:
    	cell_pvp "prontera", 150, 180, 160, 190, CELL_PVP_RESPAWN_DISABLE, CELL_PVP_SKILL_ALLOW, CELL_PVP_BONEDROP_NONE;
    	end;
    }

    Create a PvP zone using script command,

     

    *cell_pvp "<mapname>", <x1>, <y1>, <x2>, <y2>, <respawn>, <skillallow>, <bonedrop>;
    <respawn> flag are:

    • CELL_PVP_RESPAWN_DISABLE
    • CELL_PVP_RESPAWN_INSTANT
    • CELL_PVP_RESPAWN_NORMAL

    <skillallow> : disallow skill usage outside pvp zone. This will disallow receiving buffs from players outside PvP Zone

    • CELL_PVP_SKILL_DISALLOW
    • CELL_PVP_SKILL_ALLOW

    <bonedrop> : drop player's name bone inside pvp zone when dead.

    -> This will always overwrite the `battle_config.bone_drop` value from conf\map\battle\player.conf

    • CELL_PVP_BONEDROP_NONE
    • CELL_PVP_BONEDROP_ALWAYS

     

    GM can also create a PvP zone on the map

    @cell_pvp 150 180 160 190 1 0 0

    create a specific pvp zone on the map, with instant respawn and disallow skill outside PvP zone

    use `@pvpoff` or script command `*pvpoff` to turn off the pvp zone

     

    after version 1.2 the weird bug has been fix, now you can let your players create a simple pvp zone in guild house or player's custom house by using `*cell_pvp` script command

    enable by using `*cell_pvp` script command, disable by `*pvpoff` ... rinse and repeat

     

    Remember as a GM you can enable the MF_PVP_NOPARTY and MF_PVP_NOGUILD mapflag by

    @mapflag pvp_noparty 1
    @mapflag pvp_noguild 1

    screen2020Hercules008.jpg

     

     

     

    Spoiler

    1.0 - plugin

    - has a weird bug caused by VECTOR_ ... ?

     

    1.1a - plugin

    - disable any skill casting outside pvp zone except GM that has PC_PERM_SKILL_UNCONDITIONAL

    - FIX A FUCKING BUG THAT NOBODY CAN HIT ANYTHING

     

    1.2 - plugin

    - rewrite this damn thing with addToMAPD/removeFromMAPD instead of using VECTOR_

    - fix can't re-enable `@cell_pvp` at the expense of overwrite `@pvpoff` atcommand and `*pvpoff` script command

     

    1.3 - plugin

    - add respawn behavior and allow/disallow skill configuration

    - add announcement when GM use `@cell_pvp` atcommand

     

    1.3a - plugin

    - fix pk server doesn't calculate the pvp points correctly

     

    1.4 - plugin

    - fix pk server doesn't calculate the pvp points correctly when set pk_mode to 2 or 3

    - add bone drop configuration

     

    1.5 - plugin

    - fix unused struct error happens on certain compiler

     

    1.6 - plugin

    - fix party/guild skill (eg: Magnificat/Gloria) not working with CELL_PVP_SKILL_ALLOW due to missing BCT_ENEMY check

     

    1.7 - plugin

    - fix the pvp circle shouldn't show up until you walk into PvP zone

     


  6. 2.0 - script

    - completely revamp the formula, now each bodystyle can have its own cloth color range

     

    and you dummy baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka baka


  7. I just noticed the latest ... songs ... are different from my memory .....WTF (20190530 client)
     

    ok so go back to 20180620 client

    		case BA_APPLEIDUN:
    #ifdef RENEWAL
    			hp = 100+2*skill_lv+5*(status_get_vit(src)/10); // HP recovery
    #else // not RENEWAL
    			hp = 30+5*skill_lv+5*(status_get_vit(src)/10); // HP recovery
    #endif // RENEWAL
    			if( sd )
    				hp += 5*pc->checkskill(sd,BA_MUSICALLESSON);
    			break;
    		case BA_APPLEIDUN:
    			val1 = 5+1000*skill_lv+st->vit/10; // MaxHP percent increase
    			if(sd)
    				val1 += pc->checkskill(sd,BA_MUSICALLESSON);
    			break;

     

    max level modification need to done both client side and server side

     

     


  8. 7 minutes ago, Daraen said:

    Nobody takes care of the Hercules emulator anymore?

    this has nothing to do with hercules =/

    in fact you post in correct location ... client support

     

    indeed, what you are asking for is client hexing

    there are only very small amount of people understand the code behind hex editor ...

    unfortunately, I'm not one of them

     

    have you tried download a hex editor and change the hex value yourself ?

    I don't even know where to start either


  9. -	script	kjhfkshdf	FAKE_NPC,{
    OnNPCKillEvent:
    	if (killedrid == PORING && strcharinfo(PC_MAP) == "prt_fild08") {
    		if (++.poringkill == 100) {
    			monster "prt_fild08", 0,0, "--ja--", MASTERING, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnMobKill";
    //			mapannounce "prt_fild08", "Mastering has been spawn", bc_map;
    		}
    	}
    	end;
    OnMobKill:
    //	mapannounce "prt_fild08", "Mastering has been killed", bc_map;
    	initnpctimer;
    	end;
    //OnTimer5000:
    OnTimer86400000:
    	.poringkill = 0;
    	end;
    }
    prt_fild08,0,0,0,0	monster	Poring	1002,1000,0,0

    tested with

    https://annieruru.blogspot.com/2019/01/mapmoblist-script-version.html


  10. script support side, ok no spoon feed

     

    Create a table with the field that store `account_id`, `start_time`, `end_time`

    the ``start_time`, `end_time` field use DATETIME field

     

    use addtimer on the `end_time` field -> because you said want to make it configurable

    the method is posted on the script above which said made by BrianL, but BrianL also made that based on my old script hahaha
    stupid eathena forum down I can't show you the proof

     

    then yeah, the only thing that changed is #VIP_expire, which this value store in SQL table

    the rest like timer method should use in-game engine, use addtimer script command

     

    PS: the promotional code script that I recently made actually has the same exact system ... but that script isn't newbie friendly to read

    https://github.com/AnnieRuru/Release/blob/master/scripts/Utility/promotion code/promotion_code_1.3.txt#L23-L24

    this script, is much easier than you think

    honestly if you want a direct answer I can write this out within 10 minutes ....


  11. no idea why that script doesn't work, it works fine in my test server

    but if you want a punching bag that can never be kill, then use setunitdata and make it crazy high hp

    -	script	Punching Bag	FAKE_NPC,{
    OnInit:
    	.mobid = monster("prontera",158,183, "Punching Bag", BARRICADE, 1, "Punching Bag::OnInit");
    	setunitdata .mobid, UDT_MAXHP, 2000000000;
    OnTimer10000:
    	setunitdata .mobid, UDT_HP, 2000000000;
    	initnpctimer;
    	end;
    }

     


  12. another server from rathena side told me his server has animated sprite overlapping on the statue

    so again its YOUR problem that having animated sprite ... but at least this one can be fix easily by resetting the UDT_HEADTOP|UDT_HEADMIDDLE|UDT_HEADBOTTOM back to 0

    statue_overlap_sprite.jpg

     

    3.5 - script

    - add .fix_custom_sprite setting to fix your server having custom animation equipment

     

    16 hours ago, gidzdlcrz said:

    Will this work to rathena?

    simple script conversion

    https://github.com/AnnieRuru/Release/blob/master/scripts/PvP %26 GvG/Dota PVP ladder/dota_sql_ladder_3.5r.txt

     

     

     

    at least I don't find anything hassle to convert this script into rathena ... unlike promotion code ... already 3 rathena members ask me to do that, and I turn down every time


  13. 17 hours ago, xJhay said:

    Hi Maam Annie! I'm trying this wonderful script right now and I'm receiving this error:

     

    image.png.87059d9689b5057ae719ca73e69f3d7c.png

     

    Is this normal? The poring changes to a players sprite but whenever I talk to the NPC, it gives me that error notif.

    HAHAHA !! my reputation is spoiled now !!

    damn, I didn't make this mistake in a very long time

     

    11 hours ago, evilpuncker said:

    hope it can support offline players soon 😁😜

    just rip from `char` table ?

    fine ...

     

    11 hours ago, evilpuncker said:

    btw wouldn't it make more sense to have this as a function instead of an npc? (just a thought 😜) 

    I used OnInit to persist the data so it survive server restart (or `@reloadscript`)

    using function means ... needs to have at least 3, better do this as duplicate npc

     

     

    1.2 - script

    - fix a bug that server throw rid2name not found error

    - add more name limitation such as npc name can't have # symbol

    - allow to add more than one statue

    - allow to search for offline player


  14. ok so I have been annoyed by some people claiming that statue doesn't work

    so I tackle this topic instead -> https://rathena.org/board/topic/125602-statue-npc-not-pvp-rankings/

     

    let GM do whatever they want with this npc,

    let it disguise as a player to reward them as a champion in an event, or just to shame a player for doing wrong things

    whatever

     

    Download: 1.4

    script

     

    Remember the color code

    screen2020Hercules003.jpg

    remember Navigation link and Item Link

    screen2020Hercules005.jpg

     

    Spoiler

    0.1 - script

    - proof of concept

     

    0.2 - script

    - expanding ideas

     

    1.0 - script

    - initial release

     

    1.1 - script

    - make the statue data survive a server restart

     

    1.2 - script

    - fix a bug that server throw rid2name not found error

    - add more name limitation such as npc name can't have # symbol

    - allow to add more than one statue

    - allow to search for offline player

     

    1.3 - script

    - fix if the server has custom animation sprite, reset the view sprite back to 0

    - allow to disguise as another NPC

    - add log to know which GM setup this statue/NPC

    - add friendly reminder tricks for how to setup the text message

     

    1.4 - script

    - fix a bug when there is no text line and insert an empty space, causes Complete Setup doesn't work

     

    Spoiler

    use Notepad++ regular expression replace

    find

    
    - `(\w+)`: (\d+)

    replace with
     

    
    .npcsprite$[\1] = "\1";

     

     


  15. 3.4 - script

    - fix the missing body style not display correctly

     

    thanks to this unknown member but AHHHHH HE REALLY BOTHER ME A LOT IN DISCORD for telling me that
    IT'S YOUR PROBLEM that YOUR SERVER HAS CUSTOM COSTUME ITEM OK ??
    this script HAS to show offline players' data, that's why can't show if the player is actually wearing 3rd job or 4th job costume

    its your custom item fault OK ???

        OnEquipScript: <" changebase roclass(eaclass()|EAJL_THIRD); ">
        OnUnequipScript: <" changebase Class; ">

     

×
×
  • Create New...

Important Information

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