Telliamed on 29/8/2009 at 20:24
Depends on how you interpret the legalese. The last time I read it, the license for MSVC had a clause that seemed to me to forbid using it with GPL software. But I've seen some GPL software use it it anyway, though probably just deliberately ignoring MS's (possibly invalid?) license restriction.
Also, I think that version will link against msvcr80.dll which you have to distribute yourself. DarkLoader won't unpack DLLs so everyone would have to install it manually which is a pain. OSMs will work better if you link against msvcrt.dll (version 6).
BTW, don't even look at the OSM Tutorial from thiefmissions.com. Only use PublicScripts 2.1 as a guide. Anything else is full of nasty bugs.
LarryG on 29/8/2009 at 21:55
I didn't see anything that implied to me that I could not use it with GPL software ... I wonder what clause you are thinking about ...
I also don't see msvcr80.dll anywhere on my computer after installing, so I don't think it could be compliing against it ... I did find msvcrt.dll ... Are you sure?
LarryG on 30/8/2009 at 01:06
Well, I have spent most of the day purusing the Source files for PublicScripts, and while I am begining to make some sense of them, I am 20 years out of practice with C, and never had any C++, so I am swimming in very deep waters without water wings, much deeper than I feel comfortable. I think I could get to understand this in a month or two of extensive effort, but it would not be pleasant and I would rather work on my mission.
So to the plea:Is there any way I can sweet talk a competent script developer into writing one script for me? I have the program logic in pseudocode if that helps. All I need is something that looks at a qvar and determines if the least significant four digits present a four of a kind, a three of a kind, a pair, or no matching digits (determining two pair would be nice, but I did not write the pseudocode for that). The output could be a Qvar flag (0, 1, 2, 3) or it could be a series of Messages (possibly, "NoMatch", "Pair", "Triple", "Quadruple", or "NoWin", "WinSmall", WinMedium", "WinBig" or some other set of your choice). I really don't care, so long as I can then trigger some actions based on the outcome.
Pretty please. With sugar on top. And sprinkles.
orphan puppy dog eyes
Inline Image:
http://kecute.files.wordpress.com/2007/11/sad-dog.jpgInline Image:
http://www.andymatthews.net/code/css_pres/images/puppy_01.jpg
Nameless Voice on 30/8/2009 at 02:06
I might recreate the QVar gate functionality that I had written once into (a never released version of) the NVTrigger scripts but lost in a hard disk crash.
Basically, you could set the trigger to use a qvar mode, and it would scan the ScriptParams links on the object and interpret their data as qvar tests that would need to be satisfied for the message to be sent.
The problem is, of course, the 15-character length limit in ScriptParams link data.
LarryG on 30/8/2009 at 02:47
I'll take what I can get. A special purpose script would be ideal, but your more general purpose one would do too. I can cut down the QVar names and fit inside the 15 char limit, on each operation. There are 20 operations to perform to get my answer, does that mean 20 ScriptParms links to nowhere?
Note there are no QVar "Tests" as such. Just QVar manipulations. Would that matter in your scheme?
Code:
' Set WinBig from the Spin
=SM_Spin:SM_WinBig
'
' Set Test1 from the Spin
=SM_Spin:SM_Test1
' 1234 >> 0123
=/10:SM_Test1
'
' Set WinMed from the Spin
=SM_Spin:SM_WinMed
' 1234 >> 0234
=%1000:SM_WinMed
'
' Set Test2 from the Spin
=SM_Spin:SM_Test2
' 1234 >> 0012
=/100:SM_Test2
'
' Set Test3 from the Spin
=SM_Spin:SM_Test3
' 1234 > 0034
=%100:SM_Test3
'
' Set WinSml from Test1: WinSml = 0123
=SM_Test1:SM_WinSml
' 0123 >> 0023
=%100:SM_WinSml
'
' Get the remainder after dividing by 111: 0 => three of a kind
%111:SM_Test1
' Get the remainder after dividing by 111: 0 => three of a kind
%111:SM_WinMed
' Get the remainder after dividing by 11: 0 => pair
%11:SM_Test2
' Get the remainder after dividing by 11: 0 => pair
%11:SM_Test3
' Get the remainder after dividing by 11: 0 => pair
%11:SM_WinSml
'
' Set SM_WinBig flag: 0 => four of a kind
%1111:SM_WinBig
' Set SM_WinMed flag: 0 => consecutive three of a kind
*SMTest1:SM_WinMed
' Set SM_WinSml flag: 0 => consecutive pair
*SMTest2:SM_WinSml
*SMTest3:SM_WinSml
'
' Note:
' if SM_WinBig = 0, then SM_WinMed = SM_WinSml = 0
' if SM_WinMed = 0, then SM_WinSml = 0
LarryG on 30/8/2009 at 02:59
What about putting the "program" in a book text? Could that work?
... but I bet you already thought of that and discarded it for some good reasons.
Telliamed on 5/9/2009 at 19:35
You realise that the cost of such realism probably isn't worth it? Does it matter if the machine has 9999 combinations, or just 12, as long as the win-loss probability is the same. 1213 is the same as 1123, 1132, 1312, 1321, etc.
Instead of making every combination, just use one of those to represent all and make it appear 12/1000 times. Or more, really. I would guess that a dozen codes is sufficient. One jackpot, three or four smaller prizes, and the rest are busts. That many you can manage with just qvar traps.
LarryG on 6/9/2009 at 00:39
The pictures have to match the payoff. Or ar you saying that you want me to not use a random number, but cook the spins? I think the work to do that would be extensive. Or are you saying that the work to do this without a custom script is not worth the effort. On that I agree. That's why I am very happy that NV said he would do a script. If I could code C++ I would do the specific script I need. But I don't speak C++. I could code the algorithm in minutes in VB or Fortran (it would take longer to brush up on BAL). I have the pseudocode. I'm sure it would work. I just need someone familiar with C++ and the API to code it in C++ and compile it. But NV wants to do a more elegant and general solution so that it would be of greater use. I'm cool with that.
But without the script, there is no way I'm going to implement a bunch of slot machines in a gambling joint. It would just be impossible. One machine could be done, sure, but not upwards of 10 or 20. So without, I'll just s-can the bloody things and do somthing else. A shame. I think they would be a fun mini-game to have in a mission, but I can do without. I learned building them, and I learned more about what can and can't be done with qvars (they are really limited in functionality. I am less than impressed. QVars could be so much more with a few supporting scripts. IMHO)
Telliamed on 8/9/2009 at 20:29
(
http://whoopdedo.org/bandit.7z) This.
A simplified five-minute tech demo with two outcomes: jackpot (4 in a row) or bust. It may be possible to reduce the number of traps used. Only eight different combinations will be shown, but the random relay is weighted so the probability of hitting a jackpot is 0.001, the same as a random spin of all four numbers. It isn't necessary to have all 10000 different combinations be possible outcomes. If you spin it a dozen times the repetition would be noticable, so it's less than realistic. But the point is, realism is overrated.
LarryG on 9/9/2009 at 00:25
Getting a jackpot or bust was never an issue. Determining four of a kind is easy. Just one test (%1111) does it. The trick is three of a kind and two of a kind. I want the slot to pay off enough to make it fun to play for a while, but not so much that it is too easy. I plan to regulate that by the amount of the payoff. And now that I have NV's new enhanced scripts (thank you, thank you, NV) I think it will be possible. I appreciate your thoughts and advice, Telliamed, and will try to remember this approach for other situations. Thank you.