Jump to content

Zell

Members
  • Posts

    411
  • Joined

  • Last visited

  • Days Won

    28

Zell last won the day on January 2

Zell had the most liked content!

Profile Information

  • Gender
    Male
  • Location
    Brasil

Recent Profile Visitors

12368 profile views

Zell's Achievements

Santa Poring

Santa Poring (3/15)

  • Reacting Well
  • Collaborator
  • First Post
  • Dedicated
  • Very Popular Rare

Recent Badges

259

Reputation

8

Community Answers

  1. mes "Hit 'Cancel' Buton"; switch(prompt("Bla bla", "blu blu", "Cancel")) { case 1: mes "Blabla"; close; case 2: mes "BluBlu"; close; case 255: mes "Cancel button clicked!"; case 3: mes "Cancel"; close; } *select("<option>"{,"<option>",...}) *prompt("<option>"{,"<option>",...}) This function is a handy replacement for 'menu' for some specific cases where you don't want a complex label structure - like, for example, asking simple yes- no questions. It will return the number of menu option picked, starting with 1. Like 'menu', it will also set the variable @menu to contain the option the user picked. if (select("Yes:No" ) == 1) mes "You said yes, I know."; And like 'menu', the selected option is consistent with grouped options and empty options. 'prompt' works almost the same as select, except that when a character clicks the Cancel button, this function will return 255 instead.
  2. Bards and dancers can use the "Compose" skill to play melody for everyone around them, and in addition a donation box is placed next to them, where other passing players can give zeny's to encourage the street musician to continue his work and feed your family! Musicians cannot open a songwriting area in the same view as each other, so it's your chance to grab the best spot to perform your musics!
  3. Amazing, I'm a big fan of your maps design style. I have one of yours wich is my main city
  4. Concept idea its nice if emulator had an script engine encryption... I don't see how this is secure if is just print the script to get it or put a breakpoint to get all script code when it loads. And as Neffletics pointed, could be so dangerous for bigger server where you could add malicious code without knowledge of the admin.
  5. If you wont do it in src its better to not do. When I had one of my first servers I went with the idea of doing this on a production server. The script was not that complex and lagged the entire server when players with a lot of aspd attacked the mob.
  6. Just change mes "Er hat bestimmt weitere Missionen, wo du ihm helfen kannst.";next;if(PoringKills < 10) goto l_nokills;set PoringKills,PoringKills - 10; getitem 569,400; getexp 500,300; close;l_nokills:mes "Du hast noch keine 10 Poringe besiegt.!"; to mes "Er hat bestimmt weitere Missionen, wo du ihm helfen kannst."; if(PoringKills < 10) goto l_nokills; set PoringKills,PoringKills - 10; getitem 569,400; getexp 500,300; close; l_nokills: next; mes "Du hast noch keine 10 Poringe besiegt.!"; And here is your script refactored for learning purpose: chry_fld,62,73,4 script Uppe 894,{ mes "Hallo ich bin Uppe."; mes "Ich brauche deine Hilfe!"; mes "Kannst du bitte 10 Poringe besiegen."; mes "Ich gebe dir auch eine kleine Belohnung."; next; mes "Danke das du 10 Poringe besiegt hast."; mes "Hier ist deine Belohnung."; mes "Kannst du mir noch einen Gefallen tun?"; mes "Solltest du nach Prontera reisen, kannst du meinen Bruder Ornn besuchen"; mes "Er hat bestimmt weitere Missionen, wo du ihm helfen kannst."; if( PoringKills == 10 ) { PoringKills = 0; getitem 569,400; getexp 500,300; } else { next; mes "Du hast noch keine 10 Poringe besiegt.!"; mes "Komm wieder wenn du sie besiegt hast.!"; } close; OnNPCKillEvent: if( killedrid == 1002 && PoringKills < 10 ) PoringKills++; end; OnInit: waitingroom "Novice Mission",0; end; }
  7. I never used Gepard so I don't know, but Functor sayed to me once that prob it works.
  8. View File Inject - Allows running dynamic scripts in running time This script commands allow you to "Inject" scripts inside other scripts. But Zell, why I want this? Well, you can use a script code from a SQL table! Imagine that now you can change scripts code blocks without reloading scripts direct from your database or you can even do like me where I'm building scripts from a API! Sample Script: prontera,150,150,5 Script Inject Test 91,{ .@test = rand(1, 100); mes "Let's test Inject"; mes "I will declare variable .@test as " + .@test + "."; mes "My npc id is " + getnpcid(0), " "; mes "[Inject Code Start]", " "; // This script text coud be loaded from a SQL table! Inject( "mes \"Running NPC is \" + getnpcid(0); " + "mes \"Value of .@test is \" + .@test; " + "next; " + ".@test = rand(200, 500); " + "mes \"Now value of .@test will be \" + .@test;" + "close2; " ); mes "[Inject Code End]", " "; mes "Inject was ok and .@test is now " + .@test; close; } Submitter Zell Submitted 10/31/2020 Category Source Modifications Video Content Author Zell  
  9. Version 1.0.0

    80 downloads

    This script commands allow you to "Inject" scripts inside other scripts. But Zell, why I want this? Well, you can use a script code from a SQL table! Imagine that now you can change scripts code blocks without reloading scripts direct from your database or you can even do like me where I'm building scripts from a API! Sample Script: prontera,150,150,5 Script Inject Test 91,{ .@test = rand(1, 100); mes "Let's test Inject"; mes "I will declare variable .@test as " + .@test + "."; mes "My npc id is " + getnpcid(0), " "; mes "[Inject Code Start]", " "; // This script text coud be loaded from a SQL table! Inject( "mes \"Running NPC is \" + getnpcid(0); " + "mes \"Value of .@test is \" + .@test; " + "next; " + ".@test = rand(200, 500); " + "mes \"Now value of .@test will be \" + .@test;" + "close2; " ); mes "[Inject Code End]", " "; mes "Inject was ok and .@test is now " + .@test; close; }
    Free
  10. Updates with new video: https://streamable.com/hmg2m2
  11. If you help to get "compliments" back, you are not helping, you are just needy. How many times did you thanks the dev team in 7 years?
×
×
  • Create New...