GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 02 Juillet 2011, 15:45:40

Titre: Détecter un joueur qui tombe d'une moto
Posté par: LePtitClown le 02 Juillet 2011, 15:45:40
Slt

Existe il une fonction pour détecter si un joueur est tomber d'une moto
Merci d'avance

A+ ;)
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: cristab le 02 Juillet 2011, 15:52:22
salut plus cout on meurt ^^

Malheureusement non mais tu peu creer une fonction avec un timer qui te permet de verifier si le joueur est sur une moto et si entre deux timer il est toujours dessus et meme si c'est toujour la meme moto
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: Xolokos le 02 Juillet 2011, 16:05:22
Cristab a pas tord tu vérifies toute les 1 seconde avec un Timer et tu prend l'ID du véhicule tu vois la suite ?
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: LePtitClown le 02 Juillet 2011, 16:52:35
J'avais pensé au timer mais j'espérais qu'il y avait une vraie technique car les timer, c'est un peu la solution à tout :lmfao et je pense que ça fait ramer :dry
Je vais devoir m'y résoudre

Merci pour les réponses

A+ ;)
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: Xartrick le 02 Juillet 2011, 22:10:51
C'est bien de vérifier s'il est toujours sur le véhicule, mais il est descendu, ou tombé, tel est la question !
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: cristab le 02 Juillet 2011, 22:22:07
ben c'est simple si il est tomber la callback OnPlayerExitVehicle n'est pas appeler si il est descendut cette callback est appeler rien de plus simple le soucis avec les nofall sont juste du au timer trop long par rapport au execution des callback
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: cristab le 02 Juillet 2011, 22:36:43
perso j'ai pas tester et je pense que je vais tester et je met le test ici mais par la logique meme non elle n'est pas prise en compte l'ors de la chute

test concluant

public OnPlayerExitVehicle(playerid, vehicleid)
{
    
SendClientMessage(playerid,0xAFAFAFAA,"tu es descendu de la moto");
return 1;
}


Citer
[22:39:55] {FFFFFF}SA-MP {EE5555}0.3c-R3 {FFFFFF}Started

[22:39:58] Connecting to 127.0.0.1:7777...

[22:39:58] Connected. Joining the game...

[22:39:58] [LZR]rambo rejoind le serveur.

[22:39:58] Bienvenue sur le serveur Conquette ville nouvelle v.1.1

[22:39:58] Visitez notre site www*****.fr

[22:39:58] Si vous arrivez a 6 kills sans mourir alors votre vie et armure sera restituée à 100 pour 100

[22:40:00] Connected to {EE5555}SA-MP 0.3 Server

[22:40:02] Pour avoir de l'aide tape /aide

[22:40:11] [SUCCESS]: Spawned a "NRG-500" (MODELID: 522, VEHICLEID: 30)//je spawn la moto
je monte dessus
[22:40:14] tu es descendu de la moto//je descend
//je remonte dessus
//j'accelere
//je tombe
//rien ne se passe ;)
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: S!m le 03 Juillet 2011, 19:02:34
Salut,

OnPlayerExitVehicle / OnPlayerEnterVehicle sont des callback qui sont appelées seulement lorsque le joueur appuie sur la touche pour entrer/sortir du véhicule.
La valeur de retour valide d’ailleurs l'action à effectuer (sortir ou entrer).

Par contre, OnPlayerStateChange est appelée quand le joueur sort vraiment du véhicule, lorsque son statut passe de conducteur à piéton (ou autre statut).

++Sim++

Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: cristab le 03 Juillet 2011, 19:08:02
je peu vous creer un petit script qui vous montre comment agissent les callback si vous trouver cela utile
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: Xolokos le 03 Juillet 2011, 19:55:47
Ca serais marrent Cristab et utile.
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: cristab le 03 Juillet 2011, 20:46:21
ben marrant je sais pas mais sa peu etre prix comme educatif enfaite il y aurais des Info etant IG est plus d'info dans le log
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: LePtitClown le 04 Juillet 2011, 17:50:59
Il faudrait peut être que je creuse l'idée de Sim alors :
Citer
OnPlayerStateChange
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: Xolokos le 05 Juillet 2011, 18:35:41
Tu fait une bool tu lui donne 1 quand il monte dans un véhicule dans une moto en bref et dans.

Code: (pawn) [Sélectionner]
OnPlayerStateChange
Si il change de Driver a Ped tu fait ce que tu veut...
Et quand il sort tu lui met la valeur a 0.
Je pense que ça devrais être bon ?
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: Xolokos le 05 Juillet 2011, 19:53:05
Pour la valeur c'est dans la callback OnPlayerEnterVehicle.
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: herq le 08 Juillet 2011, 13:41:13
Je dis peut-être une bêtise mais.. je me lance :p

Déjà avec le "OnPlayerStateChange" avec en plus un timer qui vérifie sa vie. Et si il est passé de véhicule à pied et qu'il a perdu de la vie.. :)


Après je ne sais pas trop sinon :p
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: herq le 08 Juillet 2011, 14:22:53
Bon bah il y a aucune solution :p
Titre: Re : Détecter un joueur qui tombe d'une moto
Posté par: scott1 le 10 Juillet 2011, 11:01:53
Salut, alors s'est codé sur le forum, excusez moi

new oldveh[MAX_PLAYERS];

forward EstUneMoto(carid);

public EstUneMoto(carid)
{
new veh = GetVehicleModel(carid);
if(veh == 448 || veh == 461 || veh == 462 || veh == 463 || veh == 468 || veh == 471 || veh == 521 || veh == 522 || veh == 523 || veh == 581 || veh == 586) { return 1; }
return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER)
{
            oldveh[playerid]=GetPlayerVehicleID(playerid);
        }
        else if(newstate == PLAYER_STATE_ONFOOT)
        {
            if(EstUneMoto(oldveh[playerid])
            {
                 tu met ce que tu veux la
            }
        }
        return 1;
}


++ Max ++