Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254687 Messages dans 14036 Fils de discussion- par 6619 Membres - Dernier membre: djalal

23 Mai 2012 à 04:47:33
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center] (Modérateurs: S!m, Xartrick)Alarm
Pages: [1] 2 3   Bas de page
Imprimer
Auteur Fil de discussion: Alarm  (Lu 462 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« 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" Clin d'oeil

Code:
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
Journalisée
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #1 le: 23 Novembre 2011 à 18:04:16 »

Salut,
Tu peux poster le code de PlayAlarmSound ?

++
Journalisée


Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #2 le: 23 Novembre 2011 à 18:06:29 »

C'est une fonction sur U2C, elle ne viens pas de moi  Clin d'oeil


Code:
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;
}
Journalisée
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #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 Tire la langue

++
Journalisée


Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #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
Journalisée
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #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  Clin d'oeil
Au pire cherche les "forward" pour la trouver plus vite Tire la langue

++
Journalisée


Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #6 le: 23 Novembre 2011 à 18:51:50 »

Je vais passer pour un con  LMAO,

mais je ne l'ai pas trouver, même dans les includes..
Journalisée
Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3727


WWW



sasuke78200

« Répondre #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.


Code:
if(!proprio)
Journalisée






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


Tueur en série
*

Messages: 192


« Répondre #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)
Journalisée
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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é.
Journalisée

Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #10 le: 23 Novembre 2011 à 20:10:07 »

Elle vaut string, elle retourne le nom du propriétaire.
Journalisée
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #11 le: 23 Novembre 2011 à 20:15:27 »

Donc, le test est bon mais pas la variable qui reçoit la valeur !

Code:
new proprio[MAX_PLAYER_NAME] = VehicleInfo[vehid][vOwner];
Journalisée

Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #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...
« Dernière édition: 23 Novembre 2011 à 21:18:21 par Ashley11 » Journalisée
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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.


Citation
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é.
« Dernière édition: 23 Novembre 2011 à 21:45:42 par Xartrick » Journalisée

Ashley11
Hors ligne Hors ligne


Tueur en série
*

Messages: 192


« Répondre #14 le: 23 Novembre 2011 à 22:03:41 »

GetPlayerID() en gros ?  Tr&egrave;s souriant
Journalisée
Pages: [1] 2 3   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.219 secondes avec 25 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact