Jump to content

Magnetix

Members
  • Posts

    439
  • Joined

  • Last visited

  • Days Won

    2

Magnetix last won the day on June 15 2023

Magnetix had the most liked content!

2 Followers

About Magnetix

  • Birthday September 28

Profile Information

  • Gender
    Male
  • Location
    Asia's Latin City

Contact Methods

Recent Profile Visitors

7248 profile views

Magnetix's Achievements

Santa Poring

Santa Poring (3/15)

  • Reacting Well
  • Conversation Starter
  • First Post
  • Collaborator
  • Week One Done

Recent Badges

29

Reputation

5

Community Answers

  1. They won't be able to see it if they haven't joined the channel. autojoin: false Set to true. They will join the channel by default.
  2. Test this first. prontera,162,193,5 script Entrada PvP 943,{ set .@n$, "[ ^cc0000Porteiro PvP^000000 ]"; INICIO: mes .@n$; mes "Arena 01 : ^0000FFPVP Arena^000000"; mes "Arena 02 : ^FF0000PVP Izlude^000000"; mes "O que você gostaria de fazer ?"; next; switch(select("^3366FFEscolher Arena^000000:^800080Visualizar Ranking^000000:^00FF00Ver Minha Posição^000000:Sair")) { case 1: mes .@n$; mes "Escolha a Arena que gostaria de entrar"; mes "Arena 01 : ^0000FFPVP Arena^000000"; mes "Arena 02 : ^FF0000PVP Izlude^000000"; next; switch(select("- ^0000FFArena Fechada^000000 [ "+getmapusers($@map$[1])+" ]:- ^FF0000Arena Izlude^000000 [ "+getmapusers($@map$[2])+" ]:- Nenhuma")) { case 1: announce ""+strcharinfo(0)+" Entrou no PvP 1!!",bc,0xBAB9B9; warp $@map$[1],0,0; end; case 2: announce ""+strcharinfo(0)+" Entrou no PvP for All Room !!",bc,0xBAB9B9; warp $@map$[2],0,0; end; case 3: close; } case 2: mes .@n$; mes "Escolha a Arena do Rank:"; next; switch(select("- Rank ^0000FFArena 01^000000:- Rank ^FF0000Arena 02^000000:- Voltar")) { case 1: callfunc("PvPS_Func","Ranking_Arena",1);close; case 2: callfunc("PvPS_Func","Ranking_Arena",2);close; case 3: goto INICIO;end; } case 3: mes .@n$; mes "Escolha o Tipo de PVP:"; next; switch(select("- ^0000FFArena 01^000000:- ^FF0000Arena 02^000000:- Voltar")) { case 1: callfunc("PvPS_Func","MeuRanking",1);close; case 2: callfunc("PvPS_Func","MeuRanking",2);close; case 3: goto INICIO;end; } case 4: close; } end; // fallback } These are leftovers. close; } } } warp $@map$[4],0,0; end; case 5: if(Class < 4023 || Class > 4045){ mes .@n$; mes "Só babys podem entrar nesse PvP !"; close; } warp $@map$[5],128,114; end; case 6: close;
  3. if (sd->equip_index[EQI_HEAD_TOP] >= 0 && sd->inventory_data[sd->equip_index[EQI_HEAD_TOP]]->nameid == 19001) skillratio += 500 + 40 * skill_lv; else skillratio += 300 + 40 * skill_lv; break; Make sure to recompile.
  4. What client are you using?
  5. - script Healer -1,{ OnTouch: if((getgroupid() < 1)) goto normal_player; if((getgroupid() >= 2)) goto vip_player_ouro; if((getgroupid() >= 1)) goto vip_player_prata; end; for this to work, add range or how far from the npc to trigger. example, change alberta,25,240,6 duplicate(Healer) Curandeira#alb 936 to alberta,25,240,6 duplicate(Healer) Curandeira#alb 936,3,3
  6. If you're using rAthena rev 2020+, you may want to apply the patch manually. Checking the diff file, castle.txt no longer exist.
  7. 1. We advise you to merge the pre-renewal files with the renewal. Doing this will save you the time of fixing the item/skill descriptions, maps and other client changes in renewal. 2 & 3. You have to match the filenames of the files inside System folder with the Lub files when you patched your client. (See steps 11~14 under [ The kRO Client: Updating, Diffing, Hexing, Translating, and Customizing ])
  8. 1. For entrance if ( agitcheck() || agitcheck2() || agitcheck3() ) { mes "[Entrance Guard]"; mes "Woe is currently active can't enter right now"; // NPC message when woe is active close; } else { /* // your code when woe is off */ } 2. Kick everyone when woe starts (I'm not sure if 'SavePoint' works but if it throws an error, you can change it to specific map/area) OnAgitStart: OnAgitStart2: OnAgitStart3: mapwarp .map$, "SavePoint",0,0; end;
  9. Find //Check to see if the items is already +10 if(getequiprefinerycnt(.@part) >= 10) { getitem 542,1; dispbottom "I can't refine this any more. This is as refined as it gets!"; close; } replace with //Check refinement if ( getequiprefinerycnt(.@part) < 8 || getequiprefinerycnt(.@part) >= 10 ) { getitem 542,1; dispbottom "I can only refine +8 and +9 items!"; close; }
  10. Please refer to my reply and ignore my suggestion at the bottom. I already mentioned that the script already offers a uid check, you just have to reuse it. veil,81,134,6 script Quistis Trepe 10414,{ .gui = get_unique_id (); .@nb = query_sql("SELECT `dailybbq` FROM `bloody_branch_uid` WHERE `unique_id` = "+.gui+" LIMIT 1", .@bbq); mes "[Quistis Trepe]"; mes "Say... do you want to play the MvP Ladder game? It cost 15 Vote Coins Per person, total of 30 Vote Coins now to get in."; next; switch(select("Yes, let's get it on!:Information.:Show me the best record.:No.")) { case 1: if (.@bbq == 0) { break; } else if (.@bbq >= 1) { mes "You have already completed the Bloody Branch Quest for today. Come back tomorrow after 12:00am server time."; close; } Here's the line of codes that verify party members' IP //Check party member UniqueID and see if they have completed for the day. if(.@cip == 0 && .@cuid == 1) { set .@done, 1; } // If same IP is on party else if(.@cip == 1 && .@cuid == 0) { set .@dupli, 1; } else if(.@cip == 0 && .@cuid == 0) { // Add IP to party list for checking .@party_list$ += "|" + .@ipd$ + "|"; // Add Unique_ID to party list for checking .@party_list$ += "|" + .@pmbbq$ + "|"; } After this, all you have to do was to reuse/insert the uid check. ...and you already did the first few lines .@pmu = query_sql("SELECT last_unique_id FROM `login` WHERE account_id ="+$@partymemberaid[.@i]+"", .@party_mem_uid$); .@gpmu = query_sql("SELECT `dailybbq` FROM `bloody_branch_uid` WHERE `unique_id` = "+.@party_mem_uid$+" LIMIT 1", .@pmbbq$);
  11. input .@input; delitem 501, .@input; // delete/remove ticket getitem 502, .@input;
  12. You can just re-use the check since you're already attaching the party members .gui = get_unique_id(); .@nb = query_sql("SELECT `bloodybranch` FROM `bloody_branch` WHERE `unique_id` = "+.gui+" LIMIT 1", .@bbq); if (.@nb) .@dupli = 1; There's a simpler way, instead of the checking the IPs and unique ID, you can also save their account ids.
  13. You can use SQL query to look for the mvp cards in a player's inventory, an account's storage, vendor's shop, if you have mail enabled include mail attachments and guild storages. SELECT SUM(amount) FROM `inventory` WHERE `nameid` = <card_id>" The above will only count the specified mvp card id from all of the player's inventory, you have to include other tables (storage, vendings, etc.), and you have to do it for ALL mvp cards (loop), and at the end sum everything for the grand total. To hasten searches and avoid lagging the server, you may want to alter the table and index columns with `nameid` (this will also increase storage) and also instead of pulling the data each time you speak to the npc, better to pull the data at certain time of the day and just include 'As of <datetime>'... something like that
×
×
  • Create New...