One Vote by Day
De DigiWiki.
(Différences entre les versions)
(Page créée avec « <lsl> // One Vote by Day v0.2 by dj phil (Fixed for OpenSim) (BY-NC-SA) // One Vote by Day v0.1 by Cardinia & Senior Helper string g_THANKS_MSG = "Merci pour ton vote"; stri… ») |
|||
Ligne 20 : | Ligne 20 : | ||
if (llList2Integer(gTimes,i) < too_old) | if (llList2Integer(gTimes,i) < too_old) | ||
{ | { | ||
- | g_VOTERS = llDeleteSubList(g_VOTERS,i,i); | + | g_VOTERS = llDeleteSubList(g_VOTERS, i, i); |
- | gTimes = llDeleteSubList(gTimes,i,i); | + | gTimes = llDeleteSubList(gTimes, i, i); |
} | } | ||
else llSay(PUBLIC_CHANNEL, g_ALERT_MSG); | else llSay(PUBLIC_CHANNEL, g_ALERT_MSG); |
Version du 5 janvier 2014 à 09:39
// One Vote by Day v0.2 by dj phil (Fixed for OpenSim) (BY-NC-SA) // One Vote by Day v0.1 by Cardinia & Senior Helper string g_THANKS_MSG = "Merci pour ton vote"; string g_ALERT_MSG = "Un vote par jour"; string g_HOVER_TEXT = "[Cliquez pour Voter]"; string g_VOTES_TEXT = "votes"; integer g_VOTES = 0; list g_VOTERS; list gTimes; update() { integer too_old = llGetUnixTime() - 86400; integer i; for(i = llGetListLength(gTimes); i >= 0; --i) { if (llList2Integer(gTimes,i) < too_old) { g_VOTERS = llDeleteSubList(g_VOTERS, i, i); gTimes = llDeleteSubList(gTimes, i, i); } else llSay(PUBLIC_CHANNEL, g_ALERT_MSG); } } integer addVote(key id) { if (llGetFreeMemory() < 1000) { g_VOTERS = []; } update(); if (llListFindList(g_VOTERS, [id]) == -1) { g_VOTES++; g_VOTERS = []; g_VOTERS += [id]; gTimes += [llGetUnixTime()]; llSetText(g_HOVER_TEXT + "\n" + (string)g_VOTES + " " + g_VOTES_TEXT, <1.0, 1.0, 1.0>, 1.0); return TRUE; } return FALSE; } default { state_entry() { llSetText(g_HOVER_TEXT, <1.0, 1.0, 1.0>, 1.0); update(); } touch_start(integer total_number) { integer i; for( i = 0; i < total_number; i++ ) { if( addVote( llDetectedKey(i))) { if( g_THANKS_MSG != "" ) { // llInstantMessage(llDetectedKey(i), g_THANKS_MSG); llSay(PUBLIC_CHANNEL, g_THANKS_MSG); } } } } }