Jump to content

[INCLUDE] Vote script


Crusher!!

Recommended Posts

Vote

Include

Info:

  • Hoi,
    Ik heb een Vote include gemaakt. omdat ik nog wel vaak vragen krijg over hoe maak je zoiets.
    Dus heb ik maar een makkelijke include gemaakt waar iedereen z'n eigen votes mee kan maken.
    Er zit een voorbeeld script bij in de download.
    Het werkt heel simpel, Je hebt de volgende functies
CreateVote(Votetext[], Votetime)
ShowVote(Voteid)
PlayerVoteYes(playerid)
PlayerVoteNo(playerid)


En je hebt deze callback

OnVoteFinish(id,Yes,No)


De functies:

CreateVote(Votetext[], Votetime)

  • Hiermee maak je de vote, je kan er maximaal 25 maken
  • Votetext - Een tekst waar de vote voor is. Bijv nextmap.
  • Votetime - Het aantal seconden dat de vote duurd.
    return: id van de vote

ShowVote(Voteid)

  • Start de vote
  • Voteid - id van een gemaakte vote
    return: id van de vote

PlayerVoteYes(playerid)

  • Dit moet je doen wanneer een player 'Yes' heeft gekozen
  • playerid - spelers id van de persoon die gekozen heeft.

PlayerVoteNo(playerid)

  • Dit moet je doen wanneer een player 'No' heeft gekozen
  • playerid - spelers id van de persoon die gekozen heeft.

De callback:

public OnVoteFinish(id,Yes,No)
{

return 1;
}

  • Deze callback moet je plaatsen in het script waarin je de include gebruikt.
    Zodra een vote is afgelopen word deze callback aangeroepen.
  • id - id van de vote
  • Yes - Aantal mensen die op 'Yes' gestemd hebben
  • No - Aantal mensen die op 'No' gestemd hebben

Info:

  • Hier 2 screenshots
    screen.png
    screen2.png

Download:


.RAR
.ZIP

Als ik nog wat mis moet je het maar posten

Bewerkt: door Crusher!!
Link to comment
Delen op andere websites

Misschien een optionele playerid bij showvote, zodat bv maar 1 team hem kan zien ?
Uitleg?
En bij createvote voteid erbij ? Anders kan je bij showvote geen id geven, of zie ik dit nu fout :bonk: ?
Jij zit fout, CreateVote returnd een id. je geberuikt dit als
New MyVote;
MyVote = CreateVote("kick 'ShotYouDie'",30);

en dan doe je ergens anders

ShowVote(MyVote);

Link to comment
Delen op andere websites

Misschien een optionele playerid bij showvote, zodat bv maar 1 team hem kan zien ?
Uitleg?
En bij createvote voteid erbij ? Anders kan je bij showvote geen id geven, of zie ik dit nu fout :bonk: ?
Jij zit fout, CreateVote returnd een id. je geberuikt dit als
New MyVote;
MyVote = CreateVote("kick 'ShotYouDie'",30);

en dan doe je ergens anders

ShowVote(MyVote);

bv showvote(voteid, playerid) zo kan je met for each functie de vote alleen zichtbaar maken voor een bepaalde groep. Nu kan je hem alleen zichtbaar maken voor iedereen.

Link to comment
Delen op andere websites

bv showvote(voteid, playerid) zo kan je met for each functie de vote alleen zichtbaar maken voor een bepaalde groep. Nu kan je hem alleen zichtbaar maken voor iedereen.

nee dan start je de vote voor maar 1 speler, als je de include opent en kijkt naar de ShowVote
public ShowVote(Voteid)
{
if(!CurrentVote[init]) vote_Init();
if(CurrentVote[going]) return print("Error: There's already a vote going.");
if(!Vote[Voteid][loop]) return printf("Error: There is no vote with id %d",Voteid);

for(new i; i<MAX_PLAYERS; i++)
{
    Voted[i] = false;
}

CurrentVote[goingid] = Voteid;
new string[128];

format(string,128,"~g~Vote~w~: %s ~g~(~w~%d~g~)",Vote[Voteid][text], Vote[Voteid][time]);
tdVote = TextDrawCreate(18.000000,149.000000,string);
TextDrawAlignment(tdVote,1);
TextDrawBackgroundColor(tdVote,0x000000ff);
TextDrawFont(tdVote,1);
TextDrawLetterSize(tdVote,0.399999,1.800001);
TextDrawColor(tdVote,0xffffffff);
TextDrawSetOutline(tdVote,1);
TextDrawSetProportional(tdVote,1);
TextDrawSetShadow(tdVote,1);

TextDrawSetString(tdYesCnt,"0");
TextDrawSetString(tdNoCnt,"0");

TextDrawShowForAll(tdVote);
TextDrawShowForAll(tdYes);
TextDrawShowForAll(tdNo);
TextDrawShowForAll(tdYesCnt);
TextDrawShowForAll(tdNoCnt);

SetTimerEx("vote_Timer",1000,0,"i",Voteid);
CurrentVote[going] = true;
CurrentVote[voteable] = true;

printf("Vote[%d] started with text: %s", Voteid, Vote[Voteid][text]);
return Voteid;
}

dan zou ik de hele code moeten aanpassen om het voor een bepaald aantal spelers te doen. misch voor v2. maar ik ga dit niet meer aanpassen. Like it or leave it

Edit: Wat je zegt klopt niet eens. wat ik wel zou kunnendoen is Team erin plaatsen, wat al standaard bij samp inzit

Bewerkt: door Crusher!!
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...