Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| archiv:opensim:downloads:scripts:pacman [2024/10/18 18:03] – Externe Bearbeitung 127.0.0.1 | archiv:opensim:downloads:scripts:pacman [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== Pacman ===== | ||
| + | |||
| + | ==== Game ==== | ||
| + | |||
| + | < | ||
| + | // open pacman game server script by kefcom belgium (kefcom@hotmail.com) | ||
| + | |||
| + | string currentplayer; | ||
| + | integer score; | ||
| + | integer maxscore; | ||
| + | integer timesplayed; | ||
| + | integer timecounter; | ||
| + | string playername1; | ||
| + | string playername2; | ||
| + | string playername3; | ||
| + | string playername4; | ||
| + | string playername5; | ||
| + | integer playerscore1; | ||
| + | integer playerscore2; | ||
| + | integer playerscore3; | ||
| + | integer playerscore4; | ||
| + | integer playerscore5; | ||
| + | integer maxtime; | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | |||
| + | ////////////////////////////////////////////////////////////////////////////////////// | ||
| + | maxscore = 137; //change this value to the number of balls you have on the field | ||
| + | maxtime = 500; | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | |||
| + | playername1 = " | ||
| + | playername2 = " | ||
| + | playername3 = " | ||
| + | playername4 = " | ||
| + | playername5 = " | ||
| + | playerscore1 = 300; | ||
| + | playerscore2 = 300; | ||
| + | playerscore3 = 300; | ||
| + | playerscore4 = 300; | ||
| + | playerscore5 = 300; | ||
| + | timesplayed = 0; | ||
| + | score = 0; | ||
| + | llSetText(" | ||
| + | llListen(1966, | ||
| + | } | ||
| + | |||
| + | listen( integer channel, string name, key id, string msg) | ||
| + | { | ||
| + | if(msg==" | ||
| + | { | ||
| + | llSetTimerEvent(0); | ||
| + | llSay(0, "Game stopped!" | ||
| + | timecounter = 0; | ||
| + | score = 0; | ||
| + | currentplayer = " | ||
| + | llSetText(" | ||
| + | } | ||
| + | if(msg==" | ||
| + | { | ||
| + | score = 0; | ||
| + | llSetText(" | ||
| + | currentplayer = name; | ||
| + | timecounter = 0; | ||
| + | timesplayed = timesplayed + 1; | ||
| + | llSetTimerEvent(1); | ||
| + | } | ||
| + | if(msg==" | ||
| + | { | ||
| + | score = score + 1; | ||
| + | llSetText(" | ||
| + | if(score >= maxscore) | ||
| + | { | ||
| + | //GAME OVER! | ||
| + | llShout(0, "Game over" | ||
| + | llSetTimerEvent(0); | ||
| + | llShout(0, "You needed " + (string) timecounter + " Seconds to complete the game!" | ||
| + | llSetText(" | ||
| + | |||
| + | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| + | //////////////////////////////////////////////////////////////////////////////////////////// | ||
| + | |||
| + | if(timecounter < playerscore5) | ||
| + | { | ||
| + | if(timecounter < playerscore4) | ||
| + | { | ||
| + | if(timecounter < playerscore3) | ||
| + | { | ||
| + | if(timecounter < playerscore2) | ||
| + | { | ||
| + | if(timecounter < playerscore1) | ||
| + | { | ||
| + | //first place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = playerscore2; | ||
| + | playerscore2 = playerscore1; | ||
| + | playerscore1 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = playername2; | ||
| + | playername2 = playername1; | ||
| + | playername1 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in first place on the scoreboard!" | ||
| + | }else{ | ||
| + | //second place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = playerscore2; | ||
| + | playerscore2 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = playername2; | ||
| + | playername2 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in second place on the scoreboard!" | ||
| + | }else{ | ||
| + | //third place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in third place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | //fourth place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in fourth place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | //fifth place | ||
| + | playerscore5 = timecounter; | ||
| + | |||
| + | playername5 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in fifth place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | llSay(0, "You were not fast enough to get on the scoreboard" | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | touch_start(integer numdetected) | ||
| + | { | ||
| + | //TYPE SCORE LIST!!! | ||
| + | llSay(0, "SCORE LIST:" | ||
| + | llSay(0, "1. " + playername1 + " - " + (string) playerscore1 + " seconds." | ||
| + | llSay(0, "2. " + playername2 + " - " + (string) playerscore2 + " seconds." | ||
| + | llSay(0, "3. " + playername3 + " - " + (string) playerscore3 + " seconds." | ||
| + | llSay(0, "4. " + playername4 + " - " + (string) playerscore4 + " seconds." | ||
| + | llSay(0, "5. " + playername5 + " - " + (string) playerscore5 + " seconds." | ||
| + | llSay(0, "Game has been played " + (string) timesplayed + " times since reset" | ||
| + | } | ||
| + | |||
| + | timer() | ||
| + | { | ||
| + | timecounter = timecounter + 1; | ||
| + | if(timecounter >= maxtime) | ||
| + | { | ||
| + | llShout(1966, | ||
| + | llSay (0, "Game over due to timeout..." | ||
| + | llSetTimerEvent(0); | ||
| + | llSetText(" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Yellow Balls ==== | ||
| + | |||
| + | < | ||
| + | // open pacman game server script by kefcom belgium (kefcom@hotmail.com) | ||
| + | |||
| + | string currentplayer; | ||
| + | integer score; | ||
| + | integer maxscore; | ||
| + | integer timesplayed; | ||
| + | integer timecounter; | ||
| + | string playername1; | ||
| + | string playername2; | ||
| + | string playername3; | ||
| + | string playername4; | ||
| + | string playername5; | ||
| + | integer playerscore1; | ||
| + | integer playerscore2; | ||
| + | integer playerscore3; | ||
| + | integer playerscore4; | ||
| + | integer playerscore5; | ||
| + | integer maxtime; | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | |||
| + | ////////////////////////////////////////////////////////////////////////////////////// | ||
| + | maxscore = 137; //change this value to the number of balls you have on the field | ||
| + | maxtime = 500; | ||
| + | ///////////////////////////////////////////////////////////////////////////////////// | ||
| + | |||
| + | playername1 = " | ||
| + | playername2 = " | ||
| + | playername3 = " | ||
| + | playername4 = " | ||
| + | playername5 = " | ||
| + | playerscore1 = 300; | ||
| + | playerscore2 = 300; | ||
| + | playerscore3 = 300; | ||
| + | playerscore4 = 300; | ||
| + | playerscore5 = 300; | ||
| + | timesplayed = 0; | ||
| + | score = 0; | ||
| + | llSetText(" | ||
| + | llListen(1966, | ||
| + | } | ||
| + | |||
| + | listen( integer channel, string name, key id, string msg) | ||
| + | { | ||
| + | if(msg==" | ||
| + | { | ||
| + | llSetTimerEvent(0); | ||
| + | llSay(0, "Game stopped!" | ||
| + | timecounter = 0; | ||
| + | score = 0; | ||
| + | currentplayer = " | ||
| + | llSetText(" | ||
| + | } | ||
| + | if(msg==" | ||
| + | { | ||
| + | score = 0; | ||
| + | llSetText(" | ||
| + | currentplayer = name; | ||
| + | timecounter = 0; | ||
| + | timesplayed = timesplayed + 1; | ||
| + | llSetTimerEvent(1); | ||
| + | } | ||
| + | if(msg==" | ||
| + | { | ||
| + | score = score + 1; | ||
| + | llSetText(" | ||
| + | if(score >= maxscore) | ||
| + | { | ||
| + | //GAME OVER! | ||
| + | llShout(0, "Game over" | ||
| + | llSetTimerEvent(0); | ||
| + | llShout(0, "You needed " + (string) timecounter + " Seconds to complete the game!" | ||
| + | llSetText(" | ||
| + | |||
| + | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| + | //////////////////////////////////////////////////////////////////////////////////////////// | ||
| + | |||
| + | if(timecounter < playerscore5) | ||
| + | { | ||
| + | if(timecounter < playerscore4) | ||
| + | { | ||
| + | if(timecounter < playerscore3) | ||
| + | { | ||
| + | if(timecounter < playerscore2) | ||
| + | { | ||
| + | if(timecounter < playerscore1) | ||
| + | { | ||
| + | //first place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = playerscore2; | ||
| + | playerscore2 = playerscore1; | ||
| + | playerscore1 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = playername2; | ||
| + | playername2 = playername1; | ||
| + | playername1 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in first place on the scoreboard!" | ||
| + | }else{ | ||
| + | //second place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = playerscore2; | ||
| + | playerscore2 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = playername2; | ||
| + | playername2 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in second place on the scoreboard!" | ||
| + | }else{ | ||
| + | //third place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = playerscore3; | ||
| + | playerscore3 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = playername3; | ||
| + | playername3 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in third place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | //fourth place | ||
| + | playerscore5 = playerscore4; | ||
| + | playerscore4 = timecounter; | ||
| + | |||
| + | playername5 = playername4; | ||
| + | playername4 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in fourth place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | //fifth place | ||
| + | playerscore5 = timecounter; | ||
| + | |||
| + | playername5 = currentplayer; | ||
| + | |||
| + | llSay(0, "You are in fifth place on the scoreboard!" | ||
| + | } | ||
| + | }else{ | ||
| + | llSay(0, "You were not fast enough to get on the scoreboard" | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | touch_start(integer numdetected) | ||
| + | { | ||
| + | //TYPE SCORE LIST!!! | ||
| + | llSay(0, "SCORE LIST:" | ||
| + | llSay(0, "1. " + playername1 + " - " + (string) playerscore1 + " seconds." | ||
| + | llSay(0, "2. " + playername2 + " - " + (string) playerscore2 + " seconds." | ||
| + | llSay(0, "3. " + playername3 + " - " + (string) playerscore3 + " seconds." | ||
| + | llSay(0, "4. " + playername4 + " - " + (string) playerscore4 + " seconds." | ||
| + | llSay(0, "5. " + playername5 + " - " + (string) playerscore5 + " seconds." | ||
| + | llSay(0, "Game has been played " + (string) timesplayed + " times since reset" | ||
| + | } | ||
| + | |||
| + | timer() | ||
| + | { | ||
| + | timecounter = timecounter + 1; | ||
| + | if(timecounter >= maxtime) | ||
| + | { | ||
| + | llShout(1966, | ||
| + | llSay (0, "Game over due to timeout..." | ||
| + | llSetTimerEvent(0); | ||
| + | llSetText(" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Start Button ==== | ||
| + | |||
| + | < | ||
| + | // open pacman game by kefcom belgium (kefcom@hotmail.com) | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSetText(" | ||
| + | } | ||
| + | touch_start(integer num_detected) | ||
| + | { | ||
| + | llDialog(llDetectedKey(0), | ||
| + | } | ||
| + | } | ||
| + | </ | ||