• 05 Juin 2026, 18:24:28


Auteur Sujet: Alarm  (Lu 5046 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Alarm
« le: 23 Novembre 2011, 17:42:59 »
Bonsoir,


J'ai besoin de votre aide pour scripter une sorte "d'alarme" mais evidement, une fois en jeux CELA NE MARCHE PAS !

J'appelle la fonction dans "OnPlayerEnterVehicle" ;)

forward AlarmON(playerid)
public AlarmON(playerid)
{
    new vehid = GetPlayerVehicleID(playerid);
    new proprio = VehicleInfo[vehid][vOwner];
    
if(IsPlayerConnected(playerid))
{
   if(!proprio)
   {
  if(IsAnOwnableCar(vehid))
{
if(VehicleInfo[vehid][vAlarm] == 1)
{
SendClientMessage(proprio, COLOR_RED, ".:[ALARM]:.Votre Voiture est en train de se faire voler !");
SendClientMessage(playerid, COLOR_RED, ".:[ALARM]:. Vous tentez de voler une voiture de niveau 1 !");
}
if(VehicleInfo[vehid][vAlarm] == 2)
{
SendClientMessage(playerid, COLOR_RED, ".:[ALARM]:.Votre Voiture est en train de se faire voler !");
SendClientMessage(playerid, COLOR_RED, ".:[ALARM]:. Vous tentez de voler une voiture de niveau 2 !");
PlayAlarmSound(vehid, 30.0, 30000);
}
}
}
}
return 1;
}

Merci d'avance

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Alarm
« Réponse #1 le: 23 Novembre 2011, 18:04:16 »
Salut,
Tu peux poster le code de PlayAlarmSound ?

++

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #2 le: 23 Novembre 2011, 18:06:29 »
C'est une fonction sur U2C, elle ne viens pas de moi  ;)


public PlayAlarmSound(vehicleid, Float:radi, time)
{
for(new i=0; i<MAX_PLAYERS;i++)
{
if(ProxDetectorV(Float:radi, i, vehicleid))
{
AlarmTime[i] = SetTimerEx("ReapitingAlarm", 1000, false, "d", i, Float:radi, vehicleid);
SetTimerEx("StopingAlarm", time, false, "d", i);
vehaS[i] = vehicleid;
roda[i] = radi;
return 1;
}
}
return 0;
}

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Alarm
« Réponse #3 le: 23 Novembre 2011, 18:12:12 »
On y est presque... Il me faut ReapitingAlarm et StopingAlarm, c'est sûrement de là que doit venir le problème :P

++

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #4 le: 23 Novembre 2011, 18:30:46 »
Y'en a pas...

Le soucis et que j'ai aucune erreur lors de la compile  :blink

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Alarm
« Réponse #5 le: 23 Novembre 2011, 18:38:27 »
Elle n'est pas dans une include ?
Elle est forcément quelque part, sinon tu aurais des erreurs étant donné que c'est un timer  ;)
Au pire cherche les "forward" pour la trouver plus vite :P

++

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #6 le: 23 Novembre 2011, 18:51:50 »
Je vais passer pour un con  :lmfao,

mais je ne l'ai pas trouver, même dans les includes..

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Alarm
« Réponse #7 le: 23 Novembre 2011, 18:56:43 »
j'ai pas l'impression que le problème viens de la fonction alarme mais plutôt de cette condition.


if(!proprio)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #8 le: 23 Novembre 2011, 20:00:18 »
Tu pense que ça viens de là ?


car sinon je test avec ça : if(strcmp(pNane, VehicleInfo[vehid][vOwner], true) == 0)

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Alarm
« Réponse #9 le: 23 Novembre 2011, 20:02:52 »
Que vaut VehicleInfo[vehid][vOwner] ?
Pour commencer, trouve son type (string, integer, float, ...) et en fonction de cela, tu utilise la fonction format avec le symbole de formatage adapté.

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #10 le: 23 Novembre 2011, 20:10:07 »
Elle vaut string, elle retourne le nom du propriétaire.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Alarm
« Réponse #11 le: 23 Novembre 2011, 20:15:27 »
Donc, le test est bon mais pas la variable qui reçoit la valeur !

new proprio[MAX_PLAYER_NAME] = VehicleInfo[vehid][vOwner];

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #12 le: 23 Novembre 2011, 20:58:25 »
Exacte, pas encore la main avec le pawn  :happy


Merci en tout cas.


EDIT : Enfaite, vous auriez du m'alarmer (c'est le cas de le dire !) SendClientMessage(); prend en parametre un ID et non un string.

Là sa devient un peu plus compliquer...
« Modifié: 23 Novembre 2011, 21:18:21 par Ashley11 »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Alarm
« Réponse #13 le: 23 Novembre 2011, 21:41:46 »
Effectivement, il faut que tu vérifie si le joueur est connecter pour commencer, et si c'est le cas, retourner son indice.

Ce qui donne ceci.


Citer
Fonction Début | _GetPlayerIndexByName | sUsername[]
        Boucle Début | i < MAX_PLAYERS
                Condition Début | Si i est connecté
                        Appel Fonction | Récupération du pseudo du joueur qui porte l'indice i
                        Appel Fonction | Comparaison de sUsername est du pseudo trouvé précédemment
                        
                        Condition Debut | Si les pseudos correspondes
                                Retour | i
                        Condition Fin
                Condition Fin
        Boucle Fin
        
        Retour | -1
Fonction Fin

Si tu n'arrives pas à former un code fonctionnel après maintes fois, je l'ai envoyé ici: codes/scripts utiles.
Mais essaye quand même de créer ton code avec ce que je t'ai donné.
« Modifié: 23 Novembre 2011, 21:45:42 par Xartrick »

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
Re : Alarm
« Réponse #14 le: 23 Novembre 2011, 22:03:41 »
GetPlayerID() en gros ?  :D