Jump to content

sader1992

Content Moderator
  • Posts

    1691
  • Joined

  • Last visited

  • Days Won

    77

Everything posted by sader1992

  1. as far as i know yes but i must say txt files was before i ever know RO lol so i don't know much else then when i see ppl use them
  2. not sure why you have the error but did you save the data.grf ? i see in the photo that isn't saved yet
  3. i think in 2012 the first client that use lua/lub files
  4. you can see my discord name on the left message me
  5. screen shot the item info where the item is and screenshot while you search for the item files in your grf
  6. [item_id] = { unidentifiedDisplayName = "item_name not identified ", unidentifiedResourceName = "item file name not identified ", unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." }, identifiedDisplayName = "item name after identified", identifiedResourceName = "item file name after identified", identifiedDescriptionName = { "Description." }, slotCount = 0, ClassNum = [view id] }, you must add the file name or else you will get it as apple if you add the file name then did you add the files in the grf ?
  7. apple in the bag = iteminfo.lua/lub (in the system folder)
  8. sader1992

    NPC

    NPC Scripting 4 Dummies credit for @Z3R0
  9. just on line 39 set .amounts, countitem(.itemcoll); if ( .amounts < .itemquan) to if ( countitem(.itemcoll) < .itemquan) or set .@amounts, countitem(.itemcoll); if ( .@amounts < .itemquan) the first one may do a problem if 2 players speak with the npc at the same time
  10. you welcome i would suggest changing .help to help .help = npc variable << so .help for you is the same .help for every player (if your .help 500 then every player have it 500) help = char variable << this are unique for each character
  11. at the first script getitem .itemrew,itemrewq; it's .itemrewq not itemrewq prontera,164,219,4 script Collector 116,{ if (getgmlevel()>60) goto admin; if (.help == 1) goto reward; mes "Welcome "+strcharinfo(0)+","; mes "I'm Collector rune midgard item"; switch(select("What item do you collect:Ok, nice to meet you")) { case 1: next; if (.itemcoll == 0) { mes "Sorry, I'm not collecting item for now."; end;} mes "please collect "+getitemname(.itemcoll)+" for "+.itemquan +" pcs."; mes "and i will reward you "+getitemname(.itemrew)+" for "+.itemrewq +" pcs."; set .help,1; end; case 2: next; mes "Okay, see you later."; end; } reward: set .amounts, countitem(.itemcoll); if ( .amounts <= .itemquan) {mes "the quantity item not enough.";} mes "Thanks for your help"; mes "here my reward for you."; delitem .itemcoll,.itemquan; getitem .itemrew,.itemrewq; set help,0; end; admin: mes "Welcome "+strcharinfo(0)+","; mes "Please input what item for player to collect."; next; input .itemcoll; //set .itemcoll,.itemcoll; next; mes "Please input how many item to collect."; next; input .itemquan; //set .itemquan,.itemquan; next; mes "Please input what the reward item."; input .itemrew; //set .itemrew,.itemrew; next; mes "Please input how many item reward."; input .itemrewq; //set .itemrewq,.itemrewq; next; mes "Are you done?"; switch(select("Yes:No.")) { case 1: mes "Item to collect "+getitemname(.itemcoll)+" for "+.itemquan +" pcs."; mes "Item reward "+getitemname(.itemrew)+" for "+.itemrewq +" pcs."; end; case 2: mes "Okay, to re entry, please start form the begining."; end; } end; OnInit: set .itemrew,0; set .itemrewq,0; set .itemcoll,0; set .itemquan,0; end; }
  12. NEMO dose not support it for this client yet
  13. Themida is a protection unpack = crack the protection
  14. update your game files or use the last
  15. i think this from the language in mes the Enicoding
  16. ".@" - A scope variable. They are unique to the instance and scope. Each instance has its own scope that ends when the script ends. Calling a function with callsub/callfunc starts a new scope, returning from the function ends it. When a scope ends, its variables are converted to values ('return .@var;' returns a value, not a reference). .@ only inside the method you are in , for that you see something like for(.@i=0 more then one time in the script (here the .@i is declared only inside for loop) and if you put .@somthing = 0; in the start of the script then it will be 0 unless the npc calling for change and it will end when the player close the npc or when the script end or when calling func/sub if npc1 == .@something && npc2 == .@something npc1 != npc2 .@something from npc1 != .@something from npc2 each npc have it's own .@something and for each player
  17. you welcome but to make sure did you intend to kick the players level 111 only in moc_fild04 and 121 only in moc_fild05 and 131 only in moc_fild06 etc ?
  18. try the script above and for the npc i did edit it above too if(select("~ Quero me Buffar!:~ Quero voltar!")) { to if(select("~ Quero me Buffar!:~ Quero voltar!")==1) {
  19. try this //================================================================================================ // // ==================================== NPC Padrao % Feats ==================================== // //================================================================================================ - script OnFeatures -1,{ OnInit: setarray .blvl,111,121,131,141,151,161; setarray .maps$,"moc_fild04","moc_fild05","moc_fild06","moc_fild08","moc_fild09","moc_fild10","moc_fild14","moc_fild15"; end; OnPCLoadMapEvent: for ( .@i = 0; .@i < getarraysize(.maps$); .@i++) { if(strcharinfo(3) == .maps$[.@i]) { percentheal 100,100; sc_start SC_FOOD_STR_CASH,36000000,7; sc_start SC_FOOD_AGI_CASH,36000000,7; sc_start SC_FOOD_INT_CASH,36000000,7; sc_start SC_FOOD_VIT_CASH,36000000,7; sc_start SC_FOOD_DEX_CASH,36000000,7; sc_start SC_FOOD_LUK_CASH,36000000,7; mes "[^ff0000Ajudante^000000]"; mes "Bom up!"; close; } } end; OnPCBaseLvUpEvent: for ( .@i = 0; .@i < getarraysize(.blvl); .@i++) { if(strcharinfo(3) == .maps$[.@i] && BaseLevel == .blvl[.@i]) { mes "[^ff0000Alerta^000000]"; mes "Voce alcançou o nivel maximo"; mes "desse mapa!"; mes " "; mes "Voce sera teleportado em 5 segundos!"; close2; warp "prontera",157,173; } } end; } - script Manager::Ajudante -1,{ mes "[^ff0000Ajudante^000000]"; mes "Em que posso ajudar?"; if(select("~ Quero me Buffar!:~ Quero voltar!") == 1) { mes "[^ff0000Ajudante^000000]"; mes "Ok... La vai!"; sc_start SC_FOOD_STR_CASH,18000000,7; sc_start SC_FOOD_AGI_CASH,18000000,7; sc_start SC_FOOD_INT_CASH,18000000,7; sc_start SC_FOOD_VIT_CASH,18000000,7; sc_start SC_FOOD_DEX_CASH,18000000,7; sc_start SC_FOOD_LUK_CASH,18000000,7; close; } else { mes "[^ff0000Ajudante^000000]"; mes "Certo, volte sempre!"; close2; warp "prontera",157,173; } end; } moc_fild04 mapflag loadevent moc_fild05 mapflag loadevent moc_fild06 mapflag loadevent moc_fild08 mapflag loadevent moc_fild09 mapflag loadevent moc_fild10 mapflag loadevent moc_fild14 mapflag loadevent moc_fild15 mapflag loadevent
  20. i just seen the second part so i don't know if the full script have some warning (and i update my reply sorry i normally type something then edit it ) x.x
  21. OnInit: setarray .blvl$[0],111,121,131,141,151,161; .blvl = getarraysize(.blvl$); for ( .@i = 0; .@i < .blvl; .@i++) { .@blvl$ = .blvl$[.@i]; } end; setarray .maps$[0],"moc_fild04","moc_fild05","moc_fild06","moc_fild08","moc_fild09","moc_fild10","moc_fild14","moc_fild15"; .maps = getarraysize(.maps$); for ( .@i = 0; .@i < .maps; .@i++) { .@map$ = .maps$[.@i]; setmapflag .@map$,mf_loadevent; } end; here you are ending before you setting the maps array OnPCBaseLvUpEvent: for ( .@i = 0; .@i < .blvl; .@i++) { if(strcharinfo(3) == .maps$[.@i] && BaseLevel == .@blvl$[.@i]) { .@blvl$ must be .blvl$ ? this will kick the players only if they are at level (element .@i) where the map is also .@i so it's the first element of the array level and map || 2nd element from level and map etc i think it's intended ?' and use close; why you use close2; ? for ( .@i = 0; .@i < .maps; .@i++) { .@map$ = .maps$[.@i]; setmapflag .@map$,mf_loadevent; } and not sure about this i would suggest you remove it and set the mapflag outside the script like that moc_fild04 mapflag loadevent moc_fild05 mapflag loadevent moc_fild06 mapflag loadevent moc_fild08 mapflag loadevent moc_fild09 mapflag loadevent moc_fild10 mapflag loadevent moc_fild14 mapflag loadevent moc_fild15 mapflag loadevent
×
×
  • Create New...