SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Français/French

Reply
 
Thread Tools Display Modes
Old 20/09/2012, 05:34 PM   #1
XDamienX007
High-roller
 
XDamienX007's Avatar
 
Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
Default FS course bug position

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];
public Finish(playerid)
{
    KillTimer(TimerTemps);
    PlayerTextDrawSetString(playerid, TempsJoueur[playerid], "00:00");
    PlayerTextDrawSetString(playerid, PositionJoueur[playerid], "12/12"); // PositionJoueur ne renvoi rien, il n'est pas relié à [I]position[/I]
    PlayerTextDrawHide(playerid, TempsJoueur[playerid]);
    PlayerTextDrawHide(playerid, PositionJoueur[playerid]);
    RemovePlayerAttachedObject(playerid, 1);
    JoinRace[playerid] = false;
   
    new position = floatround(rcp[rid][(race[playerid][1] - 1)][3]);

    return 1;
}
Pris d'un FS course sur pastebin:

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:
new rid = 0;
new Float:rcp[MAX_RACES + 1][MAX_CHECKPOINTS + 1][5];
Il me met que des erreurs me disant qu'il ne connait pas rid et rcp ...

(Pour l'instant je souhaite calculer sa position qu'a l'arrivé)
__________________
Si quelqu'un peux me faire deux ou trois petits mappings stunt ou dm, contactez moi par message privé!

J'accepte les demandes d'aides (que les questions, je ne donnes aucun codes!
Je décline toutes demandes non recherchés ou en rapport avec un GM RP.
(Vous êtes niquay les kikoolol)

Tutoriels:
Warnings/Errors list
XDamienX007 is offline   Reply With Quote
Old 20/09/2012, 05:43 PM   #2
decondelite
High-roller
 
decondelite's Avatar
 
Join Date: Nov 2008
Location: France
Posts: 1,173
Reputation: 34
Default Re: FS course bug position

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).
__________________
decondelite, A.K.A [BFV]Jarek[BFH]
Scripter of "Call Of Duty 5 - Battlefield": 5.39.93.178:9999
Gamemodes: Battlefield / Team Death Match / Free For All / Carmageddon
150 maps, grenade launchers, dynamite packs, mines, minigun turrets, rustler bombs, and many other features.
The server will soon expand to Capture The Flag / Assault gamemodes.

I am not looking for script helpers, nor ass kissers. You may become admin, but only if you're active and respect our server rules. If you want to submit maps for my server, please contact me by PM.
decondelite is offline   Reply With Quote
Old 20/09/2012, 05:56 PM   #3
XDamienX007
High-roller
 
XDamienX007's Avatar
 
Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
Default Re : FS course bug position

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?
__________________
Si quelqu'un peux me faire deux ou trois petits mappings stunt ou dm, contactez moi par message privé!

J'accepte les demandes d'aides (que les questions, je ne donnes aucun codes!
Je décline toutes demandes non recherchés ou en rapport avec un GM RP.
(Vous êtes niquay les kikoolol)

Tutoriels:
Warnings/Errors list
XDamienX007 is offline   Reply With Quote
Old 21/09/2012, 08:16 AM   #4
decondelite
High-roller
 
decondelite's Avatar
 
Join Date: Nov 2008
Location: France
Posts: 1,173
Reputation: 34
Default Re: FS course bug position

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.
__________________
decondelite, A.K.A [BFV]Jarek[BFH]
Scripter of "Call Of Duty 5 - Battlefield": 5.39.93.178:9999
Gamemodes: Battlefield / Team Death Match / Free For All / Carmageddon
150 maps, grenade launchers, dynamite packs, mines, minigun turrets, rustler bombs, and many other features.
The server will soon expand to Capture The Flag / Assault gamemodes.

I am not looking for script helpers, nor ass kissers. You may become admin, but only if you're active and respect our server rules. If you want to submit maps for my server, please contact me by PM.
decondelite is offline   Reply With Quote
Old 21/09/2012, 05:16 PM   #5
XDamienX007
High-roller
 
XDamienX007's Avatar
 
Join Date: Jul 2010
Location: France
Posts: 1,636
Reputation: 10
Default Re : FS course bug position

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
__________________
Si quelqu'un peux me faire deux ou trois petits mappings stunt ou dm, contactez moi par message privé!

J'accepte les demandes d'aides (que les questions, je ne donnes aucun codes!
Je décline toutes demandes non recherchés ou en rapport avec un GM RP.
(Vous êtes niquay les kikoolol)

Tutoriels:
Warnings/Errors list
XDamienX007 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


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


All times are GMT. The time now is 06:57 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.