Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
a Mench 24s Doing a bit of everything.
- zxq 23m
- Napoleon 2h
- Ameliorative 7m
- Bruhlicious 1m Deine Mutter stinkt nach Erbrochenem und Bier.
- notloose 8h
And 28 more hiding and/or disguised

Loanshark Scripts Needed
several scripts needed

Feel free to post in reply as many versions of each script needed. Be sure to INCLUDE the title of the script as given in this post, so we know where to best use your script. Spell/grammar check your scripts and proofread them for missing/misused words. If you prefer not to post your script for all scripters to see, email it to myself. If your script is not complete or is a draft, mark it as such.

SCRIPT #1: Loanshark Request Script
DESC: A person has asked the loanshark for some chyen. The basic job of this script is inform the person asking how much they will get and how much they will owe, and when they will owe it. The person will have to verbally confirm to the loanshark that they want the loan.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the object of the person asking for the loan)
%payout - INTEGER (how much the person will get)
%fee - INTEGER (how much the fee is)
%owes - INTEGER (how much the person will owe)
%due - STRING (in how many weeks it will be due, i.e. '4 weeks')


SCRIPT #2: Loanshark Payout Script
DESC: A person has confirmed that they do indeed want the loan. Now the loanshark needs to actually pay them. Assume that the loanshark has money available. He should also make a point of letting them know what would happen if they don't pay it back.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the object of the person asking for the loan)
%payout - INTEGER (how much the person will get)
%fee - INTEGER (how much the fee is)
%owes - INTEGER (how much the person will owe)
%due - STRING (in how many weeks it will be due, i.e. '4 weeks')


SCRIPT #3: Loanshark Paidup Script
DESC: The person has paid enough to the loanshark cover what he owes. The loanshark should tell the person as much.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the person who has paid the loanshark)
%owes - INTEGER (how much is still owed, should be 0)
%remaining - STRING (how much time they have left expressed in the best units, i.e. '4 days' or '7 minutes')


SCRIPT #4: Loanshark Still Owes Script
DESC: The person has paid some of what is owed to the loanshark but it is not yet overdue. The loanshark should remind the person how much is still owed and how much time they have left.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the person who has paid the loanshark)
%owes - INTEGER (how much is still owed)
%remaining - STRING (how much time they have left expressed in the best units, i.e. '4 days' or '7 minutes')


SCRIPT #5: Loanshark Still Owes Overdue Script
DESC: The person has paid some of what is owed to the loanshark AND its overdue. The loanshark will have marked the person for 'death'. The loanshark should tell the person that their a dead man walking. The loanshark should not initate combat itself.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the person who has paid the loanshark)
%owes - INTEGER (how much is still owed)
%remaining - STRING (the phrase 'no time')


SCRIPT #6: Loanshark Paidup Overdue Script
DESC: The person has finally paid what is owed to the loanshark but it was overdue. This person would of had a hardtime making this payment, as getting to the loanshark would mean going through its goons who should be attacking ;) The loanshark will unmark the person for 'death' at this point.
SCRIPT USES: $npc_centric_script
VARIABLES PROVIDED:
%player - OBJECT (the person who has paid the loanshark)
%owes - INTEGER (how much is still owed, should be 0)
%remaining - STRING (the phrase 'no time')


And that about does it for the scripts that are needed for him. I think should keep some people busy. Have Fun.

~ J

// SCRIPT #1: Loanshark Request Script
// This assumes the $npc is in an already created $room
// and that the $player has moved in and done
// something to trigger a response from the $npc
// Note the $player is free to leave at any time
set "%payout" to 5000
set "%fee" to 1000
set "%owes" to 6000
set "%due" to 1 week
create $npc as "%shark"
rename %shark as "Andolini"
create $npc as "%goon1"
rename %goon1 as "Vinnie"
create $npc as "%goon2"
Rename %goon2 as "Guido"
describe %shark as "A short fat man, sweating profusely. �His shirt at the chest and under the arms are heavily sweat stained. �The cigar hanging from his mouth seems on the verge of going out at any minute and is smoking heavily."
describe %goon1 as "A tall muscular male with a jaw that looks like it could have been cut from a block of granite. �His pinstriped suit makes you want to laugh, but the double barreled shoutgun he cradles lovingly in his arms makes you think twice."
describe %goon2 as "A tall muscular male with a jaw that looks like it could have been cut from a block of granite. �His pinstriped suit makes you want to laugh, but the double barreled shoutgun he cradles lovingly in his arms makes you think twice."
force %shark "to $player So you want to take out a little loan eh? Well, you come to Mr. Andolini, you come to the right place"
tell $player "Smoke from his cheap cigar begins to fill the room, swirling everywhere. The smell of the cheap stogie burns deep into your lungs and makes your eyes begin to water. �But through the smoke and your watering eyes, you look at the fat slob and somehow see him clearly for the first time."
pause 3
force $player "l %shark"
pause 5
force %shark "To player, alright, lemme get Vinnie and Guido in here with some chyen for you"
pause 3
force %shark ".turn my head to the side and watch $player from the corner of my eye"
pause 3
force %shark "shout Guido! �Vinnie! �Get your asses in here and bring me a bag!"
pause 5
tell $player "Suddenly a door opens behind %shark and 2 massive men, both holding double barelled shotguns, one holding a money bag walk in and close the door behind them. �One of them, hands the bag to %shark."
move %goon1 into $room
move %goon2 into $room
tell $player "Vinnie and Guido move into position as Vinnie guards the door they just came through, and Guido guards the door behind you"
force %goon1 "Guard n"
force %goon2 "Guard s"
pause 5
force $player "think What are they, twins?"
pause 3
tell $player "Andolini takes the bag and dumps the contents out onto the desk."
pause 3
tell $player "Andolini counts the small bundles and looks at you."
pause 2
force %shark "to $player There is 5k here, that's all you're gonna get because I don't fuckin know you from Asong."
pause 1
tell $player "Vinnie and Guido shift a bit, gripping their weapons a bit tighter"
pause 3
force $player ".gulp loudly"
pause 2
force %shark ".look at player and .chuckle softly while picking up the bundles of chyen"
pause 2
force %shark "to $player Yeah, you should be nervous. �Here's the deal punk. �I'm giving you 5k, in 1 week, you're going to bring me back 6k. If you don't ..."
pause 3
force %shark ".grin"
pause 1
force %shark "to $player Then it's open season on $player, for Vinnie and Guido. �Capice'?"
pause 2
force %goon1 ".chuckle Yeah, I loves huntin' season, don't you Guido?"
pause 1
force %goon2 ".chuckle Yeah, nuthin better than huntin down some asshole stiff and leavin him and his innards splattered all over the front of the Drome."
pause 2
force %shark "to $player Nothin personal you understand right? �It's just business. �So do you want the loan now that you know the deal? Yes or no, and hurry it the fuck up, I got things to do."
.
Hey, I like the script work there... however... I don't like forcing players to do things in the scripts. For instance, if you had someone like Moss walking up to the loan shark, he wouldn't gulp. Its not his player. (You all would know that.)

Scripts need to be generic so much as ANY player can be a part of it... forcing players to do things takes away from that uniqueness. So take those things out. The players should be allowed their own responses to them. (In fact, I'd love to see scripts that take what players say/do, look for key phrases... and then spit out a reply... but I dunno if its possible... yet...)

On another note... as a general rule, whenever ya mention names or things like that, unless its SPECIFICALLY that name... you may want to consider a dummy variable that you set at the beginning. (Or a random name from a set... that kind of usage would be easy to code. Something like: random STRING LIST

Hrm... I'm going off on tangents here... lol. But yea, as an example of why you'd want to do that... what if Asong were to walk up to them? Or, what if through dome events, Asong became allied with them? Then we'd have to go in and find all instances of that name and change it... (especially in large scripts... that could be a problem.) Its best to use variables for that kind of thing.

Otherwise, rocking good work man.

(Edited by Wren at 6:39 pm on Oct. 14, 2002)

Wren,

Good point about forcing players and adding existing names .. I'll change it. �I'm working on the re-write using the uses npc_centric_script line.

Can you post the syntax for that random command? �That might come in handy.

Johnny/Kev .. I'm still getting the error:
'The variable %npc was expected and not found.' when I try to test the script in the parser, and %npc is -not- explicitly called anywhere in the script, although 2 npc$s are. �Dunno if that matters or not.

Current script is ..

// SCRIPT #1: Loanshark Request Script
uses $npc_centric_script
set "%payout" to 5000
set "%fee" to 1000
set "%owes" to 6000
set "%due" to 1 week
create $npc as "%goon1"
rename %goon1 as "Vinnie"
create $npc as "%goon2"
Rename %goon2 as "Guido"
describe %goon1 as "A tall muscular male with a jaw that looks like it could have been cut from a block of granite. �His pinstriped suit makes you want to laugh, but the double barreled shoutgun he cradles lovingly in his arms makes you think twice."
describe %goon2 as "A tall muscular male with a jaw that looks like it could have been cut from a block of granite. �His pinstriped suit makes you want to laugh, but the double barreled shoutgun he cradles lovingly in his arms makes you think twice."
do "to $player So you want to take out a little loan eh? Well, you come to Mr. Andolini, you come to the right place"
tell $player "Smoke from his cheap cigar begins to fill the room, swirling everywhere. The smell of the cheap stogie burns deep into your lungs and makes your eyes begin to water. �But through the smoke and your watering eyes, you look at the fat slob and somehow see him clearly for the first time."
pause 3
do "To $player Alright, lemme get Vinnie and Guido in here with some chyen for you"
pause 3
do ".turn my head to the side and watch $player from the corner of my eye"
pause 2
do "shout Guido! �Vinnie! �Get your asses in here and bring me a bag!"
move %goon1 into $room
move %goon2 into $room
tell $player "Vinnie and Guido move into position as Vinnie guards the door they just came through, and Guido guards the door behind you"
force %goon1 "Guard n"
force %goon2 "Guard s"
pause 5
force $player "think What are they, twins?"
pause 3
tell $player "Andolini takes the bag and dumps the contents out onto the desk."
pause 3
tell $player "Andolini counts the small bundles and looks at you."
pause 2
do "to $player There is 5k here, that's all you're gonna get because I don't fuckin know you."
pause 1
tell $player "Vinnie and Guido shift a bit, gripping their weapons a bit tighter"
do ".look at player and .chuckle softly while picking up the bundles of chyen"
pause 2
do "to $player Yeah, you should be nervous. �Here's the deal punk. �I'm giving you 5k, in 1 week, you're going to bring me back 6k. If you don't ..."
pause 3
do ".grin"
pause 1
do "to $player Then it's open season on $player, for Vinnie and Guido. �Capice'?"
pause 2
force %goon1 ".chuckle Yeah, I loves huntin' season, don't you Guido?"
pause 1
force %goon2 ".chuckle Yeah, nuthin better than huntin down some asshole stiff and leavin him and his innards splattered all over the front of the Drome."
pause 2
do "to $player Nothin personal you understand right? �It's just business. �So do you want the loan now that you know the deal? Yes or no, and hurry it the fuck up, I got things to do."
.

I guess this didn't get across before.

But, do not create or change ANY npc at all ever in these loanshark scripts. The NPCs already exist, and your scripts should be generic enough to work with ANY loanshark.

The random command hasn't been coded... just saying it could be interesting.
Well what he's saying is the following lines:

create $npc as "%goon1"
rename %goon1 as "Vinnie"
describe %goon1 as "A tall muscular male with a jaw that looks like it could have been cut from a block of granite. �His pinstriped suit makes you want to laugh, but the double barreled shoutgun he cradles lovingly in his arms makes you think twice."

...are completely unnecessary. The point of $npc_centric_scripts is your running against an existing NPC, not creating one. See Part 2 for more details.

-Kevlar

(Edited by Kevlar at 11:34 pm on Oct. 17, 2002)

I get the point of the $npc_centric_script.

I just wanted to add some ambience ..

Well, you have two options: You can spoof the thugs reactions, or you can 'find' them, and force them that way.

But really it should be more generic than that.

-Kevlar

Exactly, you can't know who the goons are. They could change. These scripts need to be able to work for different loansharks.

I hate being an anal bastard sometimes.

~ J

I thought you weren't supposed to use Pauses with a NPC-Centric script? Possibly just my new-ness to this scripting language. *Shrugs*

Also, when you say these variables are provided, do you still want us to define the values? Or just use the variables to substitute them?

(Edited by Hunter at 2:43 pm on Oct. 20, 2002)

Well, sometimes it's usefull to 'pause' for a little bit before doing the next part of the script.

The problem is that you CAN'T know how long the previously queued commands will take, so the worse case senario is that you don't wait long enough, and the queue is not empty when you do enqueue your next command, it takes longer than expected.

Let me give you an example.

do "thing 1"
do "thing 2"
do "thing 3"

// These three things combined will take X seconds. For simplicity's sake, let's say they will take 20 seconds, but the fact of the matter is, you really don't know how long they'll take.

pause 10

// Now we just paused for 10, but the commands will still be going for another 10 seconds after that, so anything you do after the pause will be enqueued, making the pause pointless.

do "thing 4"


So in effect that script is identical without the pause, assuming that the commands take longer than the pause. But you can't know. So don't even try and guess. Just do your best to keep your scripts either flowing, or if you do pause, make sure you have a good idea of how long your REALLY pausing for, because it may not be as long as you think.

This of course REALLY causes problems when it comes to 'force's after pauses, because 'force's happen right away, while queued 'do's get enqueued.

Confused yet? I am too. So just steer clear of pauses in NPC centric scripts unless it can't be avoided.

-Kevlar

Ok, cool. I'm pretty sure I get it. I have more questions, but i'll post them in another forum.