Als ich letzens diesen Thread gesehen habe:
Fand ich die Idee witzig...
Also habe ich auch einen geschrieben...
Sphinx hatte die idee eine art Algoryhtmus, habs mal versucht, sollte hinhauen ;D in etwa..
Zusätzlich zu den Prozenten kann man auch einen Text ausgeben lassen per Zufall
Hab so einfach und ordentlich geschrieben das es auch wirklich jeder versteht
mfg Risan
Code:
PHP Code:
when 9010.chat."Liebesvorhersage" begin
say_npc()
say("Liebes vorhersage")
say("")
say("Gebe einen Namen ein:")
local name1 = input()
say_npc()
say("Liebes vorhersage")
say("")
say("Gebe den Namen des Partners ein:")
local name2 = input()
if LIB_SQL_exits_player_by_name(name1) == false or LIB_SQL_exits_player_by_name(name2) == false then
say_npc()
say("Liebes vorhersage")
say("")
say("Eines der Partner/in exestiert nicht.")
return
end
local char = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z","0","1","2","3","4","5","6","7","8","9"}
local name1_c= 0
local name2_c= 0
for i = 1, table.getn(char), 1 do
if string.find(name1,string.upper(char[i])) and string.upper(char[i]) then
name1_c= name1_c +1
elseif string.find(name1,string.lower(char[i])) and string.lower(char[i]) then
name1_c= name1_c +1
end
if string.find(name2,string.upper(char[i])) and string.upper(char[i]) then
name2_c= name2_c +1
elseif string.find(name2,string.lower(char[i])) and string.lower(char[i]) then
name2_c= name2_c +1
end
end
local love = name1_c *3.1 + name2_c * 3.1
local love2 = number(math.floor(string.len(name1) + string.len(name1) /2),string.len(name2) + string.len(name2) *3) * 3.2
local love3 = math.floor(string.len(name1) + string.len(name2))
local love4 = math.floor(love + love2 + love3 / string.len(name1) - string.len(name2) * 1.7)
local spruche = {
--PCT, text text1 text2 usw.
{10, "PCT 10 ", "PCT2 10", "PCT3 10"},
{20, "PCT 20 ", "PCT2 20"},
{30, "PCT 30 ", "PCT2 20"},
{40, "PCT 40 ", "PCT2 20"},
{50, "PCT 50 ", "PCT2 20"},
{60, "PCT 60 ", "PCT2 20"},
{70, "PCT 70 ", "PCT2 20"},
{80, "PCT 80 ", "PCT2 20"},
{90, "PCT 90 ", "PCT2 20"},
{100, "PCT 100 ", "PCT2 20"},
}
local text = ""
for t = 1, table.getn(spruche), 1 do
--say(""..t.." "..spruche[t][2].."")
if tonumber(love4) <= tonumber(spruche[t][1]) then
local ws = number(2,table.getn(spruche[t]))
text = spruche[t][ws]
break
end
end
say_npc()
say("Liebes vorhersage")
say("")
say("[DELAY value;100]Reib Reib* An die Kristallkugel...")
say("reib...")
say("")
wait()
say_npc()
say("Liebes vorhersage")
say("")
say("Meine Kristallkugel sagt folgendes heraus:")
say("")
say_reward(""..name1.."")
say("und")
say_reward(""..name2.."")
say("passen zu "..love4.."% zusammen.")
say("")
say_title(""..text.."")
say("")
end