-
xGameITA.
User deleted
Ciao a tutti, questa è la mia prima guida, spero di essere il più preciso possibile.
Questa guida serve per coloro che vogliono creare un server DM e che vogliono fare la modalità Tutti contro tutti.
Premetto che spiegherò riga per riga (tranne le parentesi graffe ) e che almeno abbiate un minimo di conoscenza di pawno.
Prima di tutto creiamo un enumCODICEenum a{
KIll,
}
new Info[MAX_PLAYERS][a];// crea la variabile che controlla le kill
Successivamente andiamo nell'OnPlayerConnect e resettiamo i valoriCODICEvin[playerid] = 0;
Info[playerid][Kill] = 0;
Ok, ora dobbiamo far contare al nostro server quante kill ha fatto l'utente quindi andiamo nell'OnPlayerDeath e inseriamoCODICEInfo[killerid][Kill]++;//Facendo così somma il valore precedente e lo somma a uno
ORA, dobbiamo far fare al server un paio di cicli per controllare le persone connesse,e successivamente il vincitore(Tutto ciò deve essere messo alla fine del round)CODICEnew pconnesse;//variabile persone connesse
for(new i; i < MAX_PLAYERS; i++)//ciclo per le persone connesse
{
if(IsPlayerConnected(i))//controllo se il player è connesso
{
pconnesse++;//aggiunge al valore della variabile uno
}
}
new vin[MAX_PLAYERS];//creiamo una variabile che ci serve a capire se un utente ha fatto più kill di un altro utente
for(new i; i < pconnesse;i++)//creiamo un'altro ciclo che controlla un utente
{
for(new k; k < pconnesse;k++)//ciclo un ciclo che controlla un altro utente
{
if(Info[k][Kill] < Info[i][Kill] && k != i)//controlla se utente k ha fatto più kill di utente i e che i non è uguale a k
{
vin[i]++;//se nel caso è maggiore,aggiunge al valore della variabile vin[i] uno
}
}
}
for(new i; i < pconnesse; i++)//ciclo finale
{
if(vin[i] == pconnesse-1)//controlla all'utente i se lui ha fatto più kill di tutte le persone connesse -1(-1 perchè lui non si conta)
{
vincitore = i;//se è così lui p il vincitore
}
}
Spero di esservi stato utile alla prossima.