|
|
#1 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
|
Salut all!
Tout d'abord je tiens à préciser que je vais répondre de moins en moins aux sujet car j'ai pas tellement le temps, et surtout les problèmes sont souvent déjà résolu deux trois pages plus loin.. Mon problème n'est pas déjà posté (ou alors il faut que je change de lunettes) Donc mon problème, comme le titre l'indique, c'est un bug d'un code calculant la position du joueur. Voici le code: pawn Code:
new rid = 0; new Float:rcp[MAX_RACES + 1][MAX_CHECKPOINTS + 1][5]; new position = floatround(rcp[rid][(race[playerid][1] - 1)][3]); Et je sais pas pourquoi mon Pawno crash quand je compile.. Et quand j'enlève: pawn Code:
(Pour l'instant je souhaite calculer sa position qu'a l'arrivé) |
|
|
|
|
|
#2 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Nov 2008
Location: France
Posts: 1,173
Reputation: 34
|
Il est où ton tableau "race"?
Ensuite je ne comprends pas DU TOUT comment ce script calcule ta position. Est-ce une position une fois qu'on a fini la course, ou une position PENDANT la course? Pour une position pendant la course, il faut utiliser un tableau qui mémorise le nombre de checkpoints qu'a traversé un joueur ainsi que sa distance au prochain checkpoints. Tu dois trier les joueurs par nombre de checkpoints traversés (plus il a traversé de checkpoints, plus il a avancé), puis par distance vers le prochain CP si plusieurs joueurs ont le même nombre de CPs (dans ce cas cela veut dire qu'ils ont le même CP d'affiché sur leur écran, et celui qui en est le plus proche est forcément devant). |
|
|
|
|
|
#3 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
|
Je vais faire pendant la course, car seulement à la fin ça m'a l'air plus complexe, j'ai bien une autre idée en tête (calculer le temps que les joueurs ont mis et comparer) mais je vais faire comme tu as dit.
Je voudrais finalement faire un système de checker qui va vérifier à chaque checkpoint la position du joueur par rapport aux autres. Comment comparer le nombre de checkpoint passés par rapports aux autres? Et comment comparer le temps final qu'il a fait par rapport aux autres? |
|
|
|
|
|
#4 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Nov 2008
Location: France
Posts: 1,173
Reputation: 34
|
En fait le plus simple c'est la position à la fin de la course. Au début de la course tu initialise une variable "position" à 1. Quand un joueur franchit la ligne d'arrivée, tu lui assigne "position" comme sa position finale, puis tu incrémentes "position". Ainsi le 1er sera assigné "1", le deuxième "2", etc...
D'ailleurs, au passage, fais bien attention de prendre en compte les joueurs qui ont déjà fini la course, quand tu calcule la position en course des autres. Personnellement j'ai eu beaucoup de mal à faire cohabiter les 2 systèmes. Pour calculer les temps des joueurs, tu initialise une variable serveur "starttime" lorsque le "GO!" s'affiche, en lui donnant la valeur du GetTickCount. Lorsqu'un joueur franchit la ligne d'arrivée, tu mémorise le GetTickCount actuel, et tu fais la différence entre celui-là et celui du "GO!" pour savoir quel est son temps de course. Après, pour un temps en continu affiché sur l'écran pendant la course, tu ne pourras malheureusement qu'utiliser un timer en boucle de 1s, et tu ne pourras donc pas afficher le temps avec les millisecondes (ou même les centièmes), sinon tu exploserais l'utilisation CPU et bande passante du serveur (update un textdraw toutes les millisecondes... erm...). Le temps détaillé ne sera dispo qu'à la fin de la course. |
|
|
|
|
|
#5 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
|
J'ai déjà créer le timer d'une seconde (textdraw qui ne s'affiche pas, wtf?)
Je pense que je vais faire le système de position = 1 (2, 3, ect..) à chaque checkpoint. Faire une variable CheckG_Passed = true si un joueur a déjà passé le checkpoint |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| I need help! pls! /s and /r or /l script or fs save position and load position | ProdrifterX | Scripting Help | 2 | 14/10/2011 04:02 PM |
| NPC position | marrcko | Help Archive | 4 | 17/08/2011 04:08 PM |
| Position bug | MrND | Server Support | 1 | 12/02/2011 03:51 PM |
| [FilterScript] [FS] Position Saver (dynamic position save system) | Nero_3D | Filterscripts | 13 | 20/08/2010 06:02 PM |
| How to get position? | xXiamCr4zyXx | Help Archive | 4 | 05/06/2009 04:16 PM |