Gladius

Members
  • Content Count

    74
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

11 Good

1 Follower

About Gladius

  • Rank
    Santa Poring

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Gladius

    Item Trader

    Fix //====================================== // _____ _ _ _ // / ____| | | (_) // | | __| | __ _ __| |_ _ _ ___ // | | |_ | |/ _` |/ _` | | | | / __| // | |__| | | (_| | (_| | | |_| \__ \ // \_____|_|\__,_|\__,_|_|\__,_|___/ // //===== rAthena Script ===================== //= Exchange Poring Card for Faber Card //===== Créditos: ========================= //= Gladius //===== NPC Version: ======================= //== 1.0 //====================================== prontera,155,178,5 script Item Changer 61,{ set .ns$,"^00B2EE[Item Changer]^000000"; set [email protected], 4001; set [email protected], 30; mes .ns$; mes "Do you want to exchange a poring card for a faber card? Has 25% success."; switch(select("^3CB371[»]^000000 Exchange Poring Card","^ff0000[»]^000000 No")){ case 1: next; if(countitem([email protected]) < 1){ mes .ns$; mes "You don't have "+getitemname([email protected])+" for exchange."; close; } delitem [email protected],1; if([email protected] >= rand(100)){ getitem 4002,1; mes .ns$; mes "The exchange conversion was a success!"; close; } mes .ns$; mes "I'm sorry but I failed to exchange conversion."; close; case 2: close; } } enjoy
  2. Fix here: https://rathena.org/board/topic/63029-need-help-about-emperium-breaker-script/?do=findComment&comment=99297 You need a guild with the official authorization skill
  3. I don't think this is possible... you better access https://raw.githubusercontent.com/rathena/rathena/master/db/re/item_db.txt and add manually
  4. I had this same problem lol The error is because of sleep2 and mapwarp why? do not know prontera,173,176,4 script Emperium Breaker 743,{ // What Map will be used set .Map$,"job3_arch01"; // How many Top Breaker will be Recorded set .TopRank,10; // Message to Inform Players while inside the Room setarray .Instruction$[0], "Please Listen here carefully.", "This is Emperium Breaker Test Room , which is use to test your Breaking Time.", "Prepare youself...and do your best to Break it...", "Okay that's All i want to say , get Ready yourself and it will Start Soon."; while( 1 ){ mes "This is Emperium Breaker test Room. "; mes "You are able to calculate your Emperium Breaking Speed in this Room."; next; switch( select( ( getmapusers( .Map$ ) )?"^FF0000NOT Available":"^0000FFAvailable^000000", "Top ^FF0000"+.TopRank+"^000000 Breaker Ladder", ( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Room", ( getgmlevel() < 90 )?"":"^FF0000[GM]^000000 Reset Ladder" )){ Case 1: if( getmapusers( .Map$ ) ){ mes "There is another player inside it now."; next; break; } warp .Map$,0,0; killmonster .Map$,"All"; // removemapflag .Map$,mf_noskill; donpcevent strnpcinfo(0)+"::OnReady"; end; Case 2: mes "^ED1ADCLatest Record^000000 : "+LatestRecord/1000+"."+LatestRecord%1000+" Seconds."; for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){ if( !$TopRankTime[[email protected]] ) break; mes "^FF0000Top "+( [email protected] + 1 )+" : ^0000FF"+$TopName$[[email protected]]+" "; mes "^FF0000Time Taken : ^ED1ADC[ "+$TopRankTime[[email protected]]/1000+"."+$TopRankTime[[email protected]]%1000+" Sec. ]^000000 "; } next; break; Case 3: mapannounce .Map$,"A GM has RESET the Breaker Test Room.",0,0x00FF00; killmonster .Map$,"All"; sleep 3000; mapwarp .map$,"SavePoint",0,0; mes "Done Reset. and Player who are inside are warped out."; next; break; Case 4: switch( select( "^0000FFAll Player^000000:^FF0000One Player^000000" ) ){ Case 1: deletearray $TopRankTime[0],getarraysize( $TopRankTime ); deletearray $TopName$[0],getarraysize( $TopName$ ); mes "RESETED WHOLE LADDER."; break; Case 2: mes "Please input the ^FF0000EXACT NAME^000000 of player you want to delete."; input .Name$; for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){ if( .Name$ == $TopName$[[email protected]] ){ deletearray $TopName$[[email protected]],1; deletearray $TopRankTime[[email protected]],1; mes "Removed ^FF0000"+.Name$+"^000000 from the List."; } } } next; break; } } OnReady: sleep 3000; for( set [email protected],0; [email protected] < getarraysize( .Instruction$ ); set [email protected],[email protected] + 1 ){ mapannounce .Map$,.Instruction$[[email protected]],0,0x00FF00; sleep 2500; } for( set [email protected],5; [email protected] > 0; set [email protected],[email protected] - 1 ){ mapannounce .Map$,"Count Down : "[email protected]+" Seconds.",0,0x00FF00; sleep 1000; } //mapannounce .Map$,"Hit the Emperium Now and Skills Disabled.",0,0x00FF00; setmapflag .Map$,mf_noskill; monster .Map$,29,27,"Breaker Test",1288,1,strnpcinfo(0)+"::OnBreaked"; set .Record,0; sleep 500; initnpctimer; end; OnTimer600000: if( !mobcount( .Map$,strnpcinfo(0)+"::OnBreaked" ) ) end; mapannounce .Map$,"You spent too much time. i think you are AFK , so you are out.",0,0xED1ADC; sleep 3000; mapwarp .map$,"SavePoint",0,0; stopnpctimer; end; OnBreaked: set .Time,getnpctimer(0); copyarray [email protected]$[0],$TopName$[0],getarraysize( $TopName$ ); copyarray [email protected][0],$TopRankTime[0],getarraysize( $TopRankTime[0] ); set LatestRecord,.Time; for( set [email protected],0; [email protected] < .TopRank; set [email protected],[email protected] + 1 ){ if( .Time < $TopRankTime[[email protected]] || !$TopRankTime[[email protected]] ){ set $TopRankTime[[email protected]],.Time; set $TopName$[[email protected]],strcharinfo(0); copyarray $TopRankTime[[email protected] + 1],[email protected][0],getarraysize( [email protected] ); copyarray $TopName$[[email protected] + 1],[email protected]$[0],getarraysize( [email protected]$ ); announce "[ "+strcharinfo(0)+" ] Achieved Top "+( [email protected] + 1 )+" in Emperium Breaking with "+.Time/1000+"."+.Time%1000+" Seconds !!!",bc_all,0xED1ADC; break; } } stopnpctimer; announce "Current Time Taken : "+.Time/1000+"."+.Time%1000+" Seconds. ",bc_self,0xED1ADC; // removemapflag .Map$,mf_noskill; sleep 5000; mapwarp .map$,"SavePoint",0,0; end; } job3_arch01 mapflag nocommand 50 job3_arch01 mapflag gvg on job3_arch01 mapflag gvg_castle job3_arch01 mapflag monster_noteleport job3_arch01 mapflag nosave SavePoint I solved mine like this... test and tell me if it worked
  5. Hello guys, I need help with my script. Basically I need NPC usage data to be stored in SQL. (It's already being done, but I want to improve the information.) I am using this script that removes refinement as an example: case 3: if (getequipisequiped(EQI_HEAD_LOW)) goto baixo_remove; next; mes @np$; mes "Você deve equipar o equipamento antes de tentar remover o refinamento."; close; baixo_remove: if(getequiprefinerycnt(EQI_HEAD_LOW) <= 0) { next; mes @np$; mes "Eu não posso remover o refinamento deste item!"; close; } if(countitem(7619) < 10){ next; mes @np$; mes "Desculpe, mas você não possui os ^FFA500^FFA500"+getitemname(7619)+"^000000^000000 necessários para remover o refinamento do seu equipamento"; close; } next; mes @np$; mes "Ok, vamos começar!"; delitem 7619,10; progressbar "ffff00",.progress_time; atcommand "@refine 1-10"; query_sql "INSERT INTO `refinador_especial` (`account_id`, `char_id`, `Equipamento`, `ID`, `Refinamento`, `Data`) VALUES ('"+ getcharid(3) +"', '"+ getcharid(0) +"', 'Cabeça - Baixo','????' '-10', '"+gettimestr("%d/%m/%Y - %H:%M:%S", 25)+"')"; close; What I need: How do I get the equipment ID the player is using? I want to add this information to SQL
  6. Gladius

    Item Trader

    I made a simple and practical version. If you search there are better ways to do this. //================================================== // _____ _ _ _ // / ____| | | (_) // | | __| | __ _ __| |_ _ _ ___ // | | |_ | |/ _` |/ _` | | | | / __| // | |__| | | (_| | (_| | | |_| \__ \ // \_____|_|\__,_|\__,_|_|\__,_|___/ // //===== rAthena Script =============================== //= Exchange Poring Card for Faber Card //===== Créditos: ==================================== //= Gladius //===== NPC Version: ================================= //== 1.0 //==================================================== prontera,155,178,5 script Item Changer 61,{ set .ns$,"^00B2EE[Item Changer]^000000"; // Nome do NPC set [email protected], 4001; // Poring Card mes .ns$; mes "Do you want to exchange a poring card for a faber card? Has 25% success."; switch(select("^3CB371[»]^000000 Exchange Poring Card","^ff0000[»]^000000 No")){ case 1: next; if(countitem([email protected]) < 1){ mes .ns$; mes "You don't have "+getitemname([email protected])+" for exchange."; close; } delitem [email protected],1; switch( rand(1,4) ){ case 1: getitem 4002,1; mes .ns$; mes "The exchange conversion was a success!"; close; case 2: getitem 4002,1; mes .ns$; mes "The exchange conversion was a success!"; close; case 3: getitem 4002,1; mes .ns$; mes "The exchange conversion was a success!"; close; case 4: mes .ns$; mes "I'm sorry but I failed to exchange conversion."; close; } } } I hope it helped you.
  7. Gladius

    Diff bNoComa

    Hi guys! I'm trying to install a coma immunity bonus diff unfortunately the version I found available are out of date - https://github.com/carloshenrq/brAScript/blob/master/brAthena/src/brA_bComaImunity_20180802.diff Can anyone update these scripts? Or have a different one that works? @edit i'am using the diff https://pastebin.com/H6MBB9dN and solved this problem if this dif /root/emulador/src/map/script_constants.hpp line 740 ~ 743 + export_constant2("bNoComa", SP_NO_COMA);
  8. Você deve usar uma versão mais antiga do notepad c++, a atual buga os acentos toda hora :x
  9. OMG It was extamanete that! It worked!
  10. new_1-1,53,114,4 script Starter Pack 567,{ set [email protected]$, "^00B2EE[Starter Pack]^000000"; if( !#Freebies ){ set #Freebies,1; mes [email protected]$; mes "Welcome to the server. ^00B2EE"+strcharinfo(0)+"^000000!"; getitem 501,1; //Itens (Id/Qt) next; mes [email protected]$; mes "I'll take you to prontera!"; next; savepoint "prontera",156,193; warp "prontera",156,193; close2; }else{ mes [email protected]$; mes "Sorry, ^00B2EE"+strcharinfo(0)+"^000000. Starter Pack is for new players only!"; next; mes [email protected]$; mes "I'll take you to prontera!"; next; savepoint "prontera",156,193; warp "prontera",156,193; close2; } OnInit: disablenpc "Shion#nv1"; waitingroom "Starter Pack!",0; end; } This is the traditional version of npc. If you have gepard you can make a safer version.
  11. I tried like this again // If the target is a valid pet, we have a few exceptions if( pet ){ //catch_target_class == PET_CATCH_UNIVERSAL is used for universal lures (except bosses for now). [Skotlex] if (sd->catch_target_class == PET_CATCH_UNIVERSAL){ sd->catch_target_class = md->mob_id; //catch_target_class == PET_CATCH_UNIVERSAL_ITEM is used for catching any monster required the lure item used }else if (sd->catch_target_class == PET_CATCH_UNIVERSAL_ITEM && sd->itemid == pet->itemID){ sd->catch_target_class = md->mob_id; } } and item_db now 40074,essencia_monstro,Essência de Monstro,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 1; },{},{} The error animation no longer occurs, but boss still does not capture. No console failure occurs during retries. I also tested with the default setting, but it didn't work.
  12. item_db 40074,essencia_monstro,Essência de Monstro,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ pet 0; },{},{} 40058,Apple_Bomb_,Maçã de Monstro,10,100,,1,0,,,,0x00040000,8,2,32768,,99,,9,{},{},{} 9145,Ovo_de_Memoria-de-Thanatos,Ovo_de_Memória-de-Thanatos,7,20,,0,,,,,,,,,,,,,{},{},{} pet_db.yml - Mob: THANATOS TameItem: essencia_monstro EggItem: Ovo_de_Memoria-de-Thanatos FoodItem: Apple_Bomb_ Fullness: 3 IntimacyFed: 15 CaptureRate: 1500 SpecialPerformance: false Script: > [email protected] = getpetinfo(PETINFO_INTIMATE); if( [email protected] >= PET_INTIMATE_LOYAL ){ bonus bMaxHPRate,3; } I believe that if the problem were in these files some error would appear in the console. But no error occurs, only the source failure animation. The problem can really be in Source, I will test what you suggested now.
  13. I tried like this if( pet ){ //catch_target_class == PET_CATCH_UNIVERSAL is used for universal lures (except bosses for now). [Skotlex] if (sd->catch_target_class == PET_CATCH_UNIVERSAL){ sd->catch_target_class = md->mob_id; //catch_target_class == PET_CATCH_UNIVERSAL_ITEM is used for catching any monster required the lure item used }else if (sd->catch_target_class == PET_CATCH_UNIVERSAL_ITEM && sd->itemid == pet->itemID){ sd->catch_target_class = md->mob_id; } } It didn't give an error, but it didn't work either :/ he keeps crashing and showing cloud animation lol