Persistant Voting I

De DigiWiki.

// Persistant Voting I v0.2 by djphil (CC-BY-NC-SA)
 
string  vr = "(1 Vote / 1 Avatar)";
string  ty = "Merci pour ton vote";
string  vo = "Tu as déjà voté";
string  cv = "[Cliquez pour Voter]";
string  na;
key     id;
integer votes;
list    names;
string  regname;
string  objname;
integer newdata;
integer olddata;
 
floattext()
{
    llSetText("I ♥ " + regname + " ™ ©" + "\n" + objname + "\n" + vr + "\n \n"
        + "Nombre total de votes: " + (string)newdata + "\n"
        + (string)votes + " (new) " + (string)olddata + " (old) " + (string)newdata + " (all)"
        + "\n \n" + "Dernier Votant: " + na
        + "\n \n" + cv, <1.0, 1.0, 1.0>, 1.0);
}
 
integer added_vote(key id)
{
    na = llKey2Name(id);
    if (llGetFreeMemory() < 5000)
        names = llList2List(names, -50, -1);
    if (~llListFindList(names, [na]))
    {
        llInstantMessage(id, vo + " " + na);
        return FALSE;
    }
    names += [na];
    votes = llGetListLength(names);
    newdata = (integer)olddata + (integer)votes;
    llSetObjectDesc((string)newdata);
    floattext();
    return TRUE;
}
 
default
{
    state_entry() 
    {
        regname = llGetRegionName();
        objname = llGetScriptName();
        olddata = (integer)llGetObjectDesc();
        newdata = olddata;
        na      = "N/A";
        llSetObjectName(objname);
        floattext();
    }
 
    touch_start(integer num_detected)
    {
        id = llDetectedKey(0);
        na = llDetectedName(0);
        if(added_vote(id) && ty != "") {llInstantMessage(id, ty + " " + na);}
    }
 
    on_rez(integer start_param) {llResetScript();}
    changed(integer change) {if (change & 256) {llResetScript();}}
}
Outils personnels
  • Cette page a été consultée 868 fois.
donate
Google Ads