Von Siedler-Glücksspiel und anderen Dingen

» Siedler Map Source Forum » Siedler DEdK Script Forum » Von Siedler-Glücksspiel und anderen Dingen

Seiten: 1

Wergat
#1
19.07.2010 16:41
Beiträge: 215

Von Siedler-Glücksspiel und anderen Dingen

Hallo Leute,
ich habe einen Skreenshot hochgeladen und bin dann auf die idee gekommen ein Siedler-Roulett zu basteln. Das Skript ist fertig nur:Kann mir jemand weiterhelfen?

function FirstMapAction()
    StartSimpleJob("Roulett")
    math.randomseed(XGUIEng.GetSystemTime())
    random = math.random()
end
function Roulett()
    if IsNear( "Dario", "Typ", 1000) then
    Move("Dario","Typ")
    StartSimpleJob("BriefingRoulett") 
    EndSimpleJob("Roulett")--Weil sonst der Briefing so  langeeee aufgerufen wird bis der Computer kaputt ist :(
    else
    end
end
function BriefingRoulett()
    local briefing = {}
    local AP = function( _page ) table.insert( briefing, _page ); return _page; end
    local choicePage = AP{    
        mc   = {     
            title   = "",
            text    = "Wollt ihr Roulett spielen?",
            firstText   = "JA",
            secondText  = "NE",
            firstSelected  = 2,   
            secondSelected = 4,   
        },
        dialogCamera    =   true,
    }
    AP{ 
        text = "Ok dann her mit eurem Geld",
    }
    AP()    
    AP{ 
        text = "Tschuess",
    }
    briefing.finished =
        function()
            if GetSelectedBriefingMCButton( choicePage ) == 1 then 
               GoldAmount = GetGold(1)
               Einsatz = GetGold(1)
               StartSimpleJob("Roulettgewinn")
            else 
            end
        end

    StartBriefing( briefing)
end
function Roulettgewinn()
     if random == 0 then
          AddGold(1, Einsatz*2)
          Message("GEWONNEN")
        
     else
          Message("VERLOREN")
          AddGold(1, -GetGold(1))
     end
end


L.G. & Danke vorweg
Wergat

____________________
Vielen dank an alle, die etwas wissen und es mit anderen teilen.
LG Wergat

Dieser Beitrag wurde von Wergat am 19.07.2010 um 16:48 editiert.

Mordred
#2
19.07.2010 19:09
Beiträge: 939

Zitat von Wergat:
Hallo Leute,
ich habe einen Skreenshot hochgeladen und bin dann auf die idee gekommen ein Siedler-Roulett zu basteln. Das Skript ist fertig nur:Kann mir jemand weiterhelfen?
L.G. & Danke vorweg
Wergat


Oha, der Code sieht recht Professionel aus, ist jedoch ziemlich Fehlerbehaftet. Editieren...
-Edit

function FirstMapAction()
 StartSimpleJob("Roulett")
 Move("Dario","Typ")
end
function Roulett()
 if IsNear("Dario","Typ",1000)then
  Move("Dario",{GetPosition("Typ").X - 150,GetPosition("Typ").Y})
  BriefingRoulett() 
  return true
 end
end
function BriefingRoulett()
 local briefing = {}
 local AP = function(_page) table.insert(briefing,_page) return _page end
 local choicePage = AP{    
  mc  = {     
     title   = "",
     text    = "Wollt ihr Roulett spielen?",
     firstText   = "JA",
     secondText  = "NE",
     firstSelected  = 2,   
     secondSelected = 4,   
    },
     dialogCamera    =   true,
    }
    AP{ 
        text = "Ok dann her mit eurem Geld",
    }
    AP()    
    AP{text = "Tschuess"}
    briefing.finished =
        function()
         if (GetSelectedBriefingMCButton(choicePage) == 1)then 
          Roulettgewinn()
         end
        end
   StartBriefing(briefing)
end
function Roulettgewinn()
  local EinsZu = 2 -- oder 1 zu 3, oder 1 zu 4, usw...
 if (math.random(1,EinsZu) == 1)then
  AddGold(1,GetGold(1) * 2)
  Message("GEWONNEN!")
 else
  Message("VERLOREN!")
  AddGold(1,-GetGold(1))
 end
end


soweit, so gut. Sollte eigentlich klappen.

Dieser Beitrag wurde von Mordred am 19.07.2010 um 19:18 editiert.

warrior1024
#3
19.07.2010 19:40
Beiträge: 345

Da geht noch viel mehr! Z.B. übernimmst du die echten Rouletteregeln oder auch ein hübsches Glücksspiel:
Jeder Mitspieler zahlt den gleichen Einsatz und setzt auf eine Zahl. Dann würfelt die Bank und wenn die gesetzte Zahl einmal vorkommt, wird das doppelte des Einsatzes gezahlt, wenn sie 2x vorkommt das dreifache und wenn sie 3x vorkommt das vierfache. Wenn ich mich richtig erinnere, leigen die Gewinnchancen bei 93/216.

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

Mordred
#4
19.07.2010 19:48
Beiträge: 939

Bank hacken

Wergat
#5
19.07.2010 20:41
Beiträge: 215

Erst mal vielen Dank Mordred
ich werd´s morgen testen
mein problem war das wenn Dario in der Nähe war startete der briefing und startete und...

Zitat von warrior1024:
Da geht noch viel mehr! Z.B. übernimmst du die echten Rouletteregeln oder auch ein hübsches Glücksspiel:
Jeder Mitspieler zahlt den gleichen Einsatz und setzt auf eine Zahl. Dann würfelt die Bank und wenn die gesetzte Zahl einmal vorkommt, wird das doppelte des Einsatzes gezahlt, wenn sie 2x vorkommt das dreifache und wenn sie 3x vorkommt das vierfache. Wenn ich mich richtig erinnere, leigen die Gewinnchancen bei 93/216.


viel spaß beim editieren
wenn man das jedoch etwaas einfacher machen würde wirds:

function Roulettgewinn()
  local EinsZu = 2,3225806451612903225806451612903 
...




Zitat von Mordred:
Bank hacken


function Roulettgewinn()
  local EinsZu = 1 
...




Wergat

____________________
Vielen dank an alle, die etwas wissen und es mit anderen teilen.
LG Wergat

Mordred
#6
20.07.2010 14:49
Beiträge: 939

Das da meinte ich mit Bank hacken
Leider ist der Code noch ungetestet
Wird mit

 Allow_RouletteInBanken()


in der FirstMapAction() aufgerufen und das da muss unten im Skript stehen:
Dann kannst du (hoffentlich ) Roulette in Banken spielen, und zwar jede Minute

function Allow_RouletteInBanken()
 RouletteOK = true
 StartSimpleJob("Roulette_Ticker")
 XGUIEng.ShowWidget("Research_Debenture",1)
 GUITooltip_ConstructBuilding_Roulette = GUITooltip_ConstructBuilding
  function GUITooltip_ConstructBuilding(_upgradecategory,_menunormal,_menu disabled,_tech,_keybind)
   if (_menunormal == "MenuSerf/bank_normal")then
    _keybind = ""
	XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText,"@color:190,190,190 Bank @cr @color:255,255,255 Baut eine Bank. @cr Hier k\195\182nnt Ihr mit Euren Staatsfinanzen auch Roulette spielen.")
   else
    GUITooltip_ConstructBuilding_Roulette(_upgradecategory,_menunormal,_menu disabled,_tech,_keybind)
   end
  end
 GUITooltip_ResearchTechnologies_Roulette = GUITooltip_ResearchTechnologies
  function GUITooltip_ResearchTechnologies(_tech,_menu)
   if (_tech == Technologies.T_Debenture)then
    if RouletteOK then
     XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText,"@color:190,190,190 Roulette @cr @color:255,255,255 Spielt Roulette. @cr Einsatz: "..GetGold(1).." Taler @cr Chancen:  1 zu 2 @cr Gewinn: "..math.floor(GetGold(1)*2.75).." Taler!")
    else
	 XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText,"@color:190,190,190 Roulette @cr @color:255,255,255 Spielt Roulette. @cr @color:255,10,0 Noch nicht bereit!")
	end
   else
    GUITooltip_ResearchTechnologies(_tech,_menu)
   end
  end
 GUIAction_ReserachTechnology_Roulette = GUIAction_ReserachTechnology
  function GUIAction_ReserachTechnology(_tech)
   if (_tech == Technologies.T_Debenture)then
    if RouletteOK then
     RouletteOK = false
     Roulette()
	end
   else
    GUIAction_ReserachTechnology_Roulette(_tech)
   end
  end
end
function Roulette()
 if (math.random(1,3) == 2)then
  Message("@color:0,200,0 Ihr habt eine Runde Roulette gespielt und @color:0,255,0 "..math.floor(GetGold(1)*2.75).." Taler @color:0,200,0 gewonnen!")
  AddGold(1,math.floor(GetGold(1)*2.75))
 else
  Message("@color:0,200,0 Ihr habt all Euer Geld verloren!")
  AddGold(1,-GetGold(1))
 end
end
function Roulette_Ticker()
 if Counter.Tick2("Roulette_Counter",60)then
  RouletteOK = true
 end
end


LG Mordred

Wergat
#7
20.07.2010 15:11
Beiträge: 215

D A N K E

WOW Das ist gut in der Gebauten Bank Roulett spielen

Zitat von Mordred:
Comfortfunktionen auf Bestellung


Stimmt

ich teste ihn sobald es geht

____________________
Vielen dank an alle, die etwas wissen und es mit anderen teilen.
LG Wergat

Mordred
#8
20.07.2010 16:49
Beiträge: 939

Fehler!
Wird gerade gesucht...

Wergat
#9
20.07.2010 16:54
Beiträge: 215

viel Glück

____________________
Vielen dank an alle, die etwas wissen und es mit anderen teilen.
LG Wergat

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum