Jump to content

Teamscore


Recommended Posts

Geplaatst: (bewerkt)

Ik ben bezig met een TDM GM en nu wil ik dat er een team score komt. Bij elke kill wordt er 1 bij op ge telt en bij elke death wordt er 1 af getrokken. Hoe maak je dat?(heb ik nu) En dan wil ik ook als het kan dat de score links boven in de hoek staat.(rechts onder.. ook goed)

Ik heb nog geen idee hoe ik dit moet maken.

Nu nog met 4 teams en dat als Team 1 kill en Team 2 dood gaat dat er dan niks met de score van Team 3 en 4 moet gebeuren. Hoe?

Bewerkt: door Remcconen
Geplaatst: (bewerkt)

Ik heb dat een keer gemaakt voor een gamemode die we gebruikten voor een wedstrijd tussen de (destijds) 3 corporations:

Ik heb het nu even veranderd naar 2 teams en als je wilt, kan je meer toevoegen ;)

//Bovenaan je script:

new ScoreTeam1, ScoreTeam2;
new Text:TextdrawTeam1, Text:TextdrawTeam2;
new StringTeam1[32], StringTeam2[32];

//OnGameModeInit:

format(StringTeam1, sizeof(StringTeam1), " ");
format(StringTeam2, sizeof(StringTeam2), " ");

TextdrawTeam1= TextDrawCreate(620, 387, StringTeam1);
TextdrawTeam2= TextDrawCreate(620, 413, StringTeam2);
TextDrawAlignment(TextdrawTeam1, 3); 
TextDrawAlignment(TextdrawTeam2, 3); 
TextDrawLetterSize(TextdrawTeam1, 0.50, 1.20); 
TextDrawLetterSize(TextdrawTeam2, 0.50, 1.20); 
TextDrawColor(TextdrawTeam1, 0x3b91c3AA);  //Lichtblauwe tekstkleur
TextDrawColor(TextdrawTeam2, 0xFFFF66AA); //Lichtgele tekstkleur
SetTimer("UpdateTextdraw", 1000, 1);

//OnPlayerDeath:

Let op: als je geen 'gTeam' gebruikt, verander de 'gTeam' die ik hieronder gebruik naar je eigen variabelen!

if(gTeam(playerid) == TEAM1)
{
ScoreTeam1--;
ScoreTeam2++;
}
else if(gTeam(playerid) == TEAM2)
{
ScoreTeam1++;
ScoreTeam2--;
};

En ergens onderaan je script:

forward UpdateTextdraw();
public UpdateTextdraw()
{
format(StringTeam2, sizeof(StringTeam2), "Scores: ~n~Team 1: %d", ScoreTeam1);
format(StringTeam2, sizeof(StringTeam2), "Team 2: %d", ScoreTeam2);
TextDrawHideForAll(TextdrawTeam1);
TextDrawHideForAll(TextdrawTeam2);
TextDrawSetString(TextdrawTeam1, StringTeam1);
TextDrawSetString(TextdrawTeam2, StringTeam2);
TextDrawShowForAll(TextdrawTeam1);
TextDrawShowForAll(TextdrawTeam2);
};

Dit was het.

Ohja, de textdraw staat nu wel rechts-onderin de hoek in plaat van links bovenin.

Om dit te veranderen moet je de coordinaten bij de TextdrawCreate-regels veranderen ;)

Succes ermee

=>Sandra<=

Edit:

Zo ziet het er dan ongeveer uit:

textdrawvoorbeeldyx0.th.jpg

Bewerkt: door =>Sandra<=
Geplaatst: (bewerkt)

Bedankt, hier kan ik wel wat mee. Maar als ik nu 4 teams wil en Team1 killt er 1 van Team2 dan meot er bij Team3 en Team 4 niks gebeuren. Hoe maak ik dat?

Ook nog ene paar errors er bij: (Regel 11 bij mij stukje op Plaatcode.be)

TDM.pwn(206) : error 012: invalid function call, not a valid address
TDM.pwn(206) : warning 215: expression has no effect
TDM.pwn(206) : error 001: expected token: ";", but found ")"
TDM.pwn(206) : error 029: invalid expression, assumed zero
TDM.pwn(206) : fatal error 107: too many error messages on one line

OnPlayerDeath (Mijn script het de errors)

EDIT: Mijn eerste post ook even aangepast.

Bewerkt: door Remcconen
Geplaatst:

Ik heb nog 1 vraag. Hoe kom jij een die co-ordinaten op het beeldscherm? De plek wara de tekst dus komt?

Geplaatst:

Je gebruikt de verkeerde haakjes (Bij de playerid):

if(gTeam(playerid) == TEAM_GROVE)

moet zijn:

if(gTeam[playerid] == TEAM_GROVE)

\

Verander dit ook bij regel 18, 25 en 32.

Over je laatste vraag:

Het scherm is verdeeld in 640x480 coordinaten (ongeacht de resolutie waarop je speelt).

0x0 is linksbovenin.

0x480 is linksonderin

640x0 is rechtsbovenin

640x480 is rechtsonderin

Geplaatst:
Je gebruikt de verkeerde haakjes (Bij de playerid):

if(gTeam(playerid) == TEAM_GROVE)

moet zijn:

if(gTeam[playerid] == TEAM_GROVE)

\

Verander dit ook bij regel 18, 25 en 32.

Over je laatste vraag:

Het scherm is verdeeld in 640x480 coordinaten (ongeacht de resolutie waarop je speelt).

0x0 is linksbovenin.

0x480 is linksonderin

640x0 is rechtsbovenin

640x480 is rechtsonderin

Bedankt, nu kan ik eindeljik meer errors oplossen. Door die fatal error zocht hij niet verder en kom ik dus geen errors zien. Nogmaals Dank

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...