options: gameName: kikAi on script load: kGame_registerGame("{@gameName}", 4, (1 of snowball named "&6Kolko i krzyzyk" with lore "&7Tradycyjne kolko i krzyzyk.%nl%%nl%&7Gra toczy sie z komputerem.")) kGame_stats_registerGame("{@gameName}", 3, snowball named "§6Kolko i Krzyzyk") kGame_stats_setLore("{@gameName}", "&fRozegrane gry: &e{played}%nl%*top5:{played}*") set {kGame::{@gameName}::mainInventory::emptySlots::*} to 3, 4, 5, 12, 13, 14, 21, 22 and 23 on script unload: kGame_unregisterGame("{@gameName}") function kGame_kikAi_getInventory(p: player) :: inventory: set {_x} to chest with 4 rows named "&9Kółko i Krzyżyk" if {kGame::{@gameName}::%{_p}%::pktP} is not set: set {kGame::{@gameName}::%{_p}%::pktP} to 0 set {kGame::{@gameName}::%{_p}%::pktC} to 0 kGame_stats_playGame("{@gameName}", {_p}) set {kGame::{@gameName}::%{_p}%::move} to true or false #true-Gracz; false-Komputer set {_1} to snowball named "&6O" if {kGame::{@gameName}::%{_p}%::move} is true else cobweb named "&6X" set {_7} to cobweb named "&6X" if {kGame::{@gameName}::%{_p}%::move} is true else snowball named "&6O" set slot 1 of {_x} to {_1} set slot 7 of {_x} to {_7} set slot 0 of {_x} to {_p}'s skull named "&6Ty" set slot 8 of {_x} to player head named "&6Komputer" set {_ruch} to "&cTwoj" if {kGame::{@gameName}::%{_p}%::move} is true else "&cKomputera" set slot 31 of {_x} to paper named "&6Przebieg gry" with lore "&fWynik: &c%{kGame::{@gameName}::%{_p}%::pktP}%:%{kGame::{@gameName}::%{_p}%::pktC}%%nl%&fRuch: %{_ruch}%" set slot 35 of {_x} to iron door named "&6Powrot" loop 36 times: if slot (loop-number)-1 of {_x} is air: if {kGame::{@gameName}::mainInventory::emptySlots::*} doesn't contain (loop-number)-1: set slot (loop-number)-1 of {_x} to kGame_getItemFromText({kGame::mainInventory::inventory::item::empty}) if {kGame::{@gameName}::%{_p}%::move} is false: set slot random integer out of {kGame::{@gameName}::mainInventory::emptySlots::*} of {_x} to slot 7 of {_x} set {kGame::{@gameName}::%{_p}%::move} to true return {_x} function kGame_kikAi_checkWin(p: player) :: object: set {_shortCutEmptySlots::*} to {kGame::{@gameName}::mainInventory::emptySlots::*} set {_pci} to {_p}'s current inventory set {_f.1::*} to 1, 4 and 7 #+1 set {_f.2::*} to 3 #+2 set {_f.3::*} to 1, 2 and 3 #+3 set {_f.4::*} to 1 #+4 loop 4 times: loop {_f.%loop-number%::*}: set {_1} to slot {_shortCutEmptySlots::%(loop-value-2)%} of {_pci} if {_1} is not air: set {_2} to slot {_shortCutEmptySlots::%(loop-value-2)+loop-number%} of {_pci} set {_3} to slot {_shortCutEmptySlots::%(loop-value-2)+loop-number+loop-number%} of {_pci} if {_1} is {_2} and {_3}: if slot 1 of {_pci} is {_1}: add 1 to {kGame::{@gameName}::%{_p}%::pktP} else: add 1 to {kGame::{@gameName}::%{_p}%::pktC} return true loop {_shortCutEmptySlots::*}: if slot loop-value of {_pci} is air: return false wait 10 ticks open kGame_kikAi_getInventory({_p}) to {_p} function kGame_kiKAi_setRandomSlot(p: player): set {_pci} to {_p}'s current inventory loop {kGame::{@gameName}::mainInventory::emptySlots::*}: if slot loop-value of {_pci} is air: add loop-value to {_temp::*} set {_timeSpan} to "%random integer between 7 and 30% ticks" parsed as time span wait {_timeSpan} set slot random integer out of {_temp::*} of {_p}'s current inventory to slot 7 of {_pci} set {kGame::{@gameName}::%{_p}%::move} to true set {_ruch} to "&cTwoj" if {kGame::{@gameName}::%{_p}%::move} is true else "&cKomputera" set slot 31 of {_p}'s current inventory to paper named "&6Przebieg gry" with lore "&fWynik: &c%{kGame::{@gameName}::%{_p}%::pktP}%:%{kGame::{@gameName}::%{_p}%::pktC}%%nl%&fRuch: %{_ruch}%" if kGame_kikAi_checkWin({_p}) is true: wait 10 ticks open kGame_kikAi_getInventory({_p}) to {_p} on inventory click: if name of player's current inventory is "&9Kółko i Krzyżyk": cancel event if clicked slot is 35: clear {kGame::{@gameName}::%player%::*} close player's inventory wait 2 tick open kGame_getInventory(player) to player stop if {kGame::{@gameName}::%player%::move} is true: set {_pci} to player's current inventory if slot index of clicked slot of {_pci} is air: if {kGame::{@gameName}::mainInventory::emptySlots::*} contains clicked slot: set {kGame::{@gameName}::%player%::move} to false set slot index of clicked slot of {_pci} to slot 1 of {_pci} set {_ruch} to "&cTwoj" if {kGame::{@gameName}::%player%::move} is true else "&cKomputera" set slot 31 of player's current inventory to paper named "&6Przebieg gry" with lore "&fWynik: &c%{kGame::{@gameName}::%player%::pktP}%:%{kGame::{@gameName}::%player%::pktC}%%nl%&fRuch: %{_ruch}%" if kGame_kikAi_checkWin(player) is true: wait 10 ticks open kGame_kikAi_getInventory(player) to player stop kGame_kiKAi_setRandomSlot(player)