- Aiden
- Messages : 37
Date d'inscription : 24/04/2018
Age : 25
Adresse : 8th Bluberry Acres, Bluberry.
(DEV) (TERMINE) Système des Permis
Dim 4 Nov - 17:03
Liste des Permis
- Code:
/* ============================ PERMIS DE CONDUIRE ============================== */
CMD:permis(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2604.1863, 1350.6260, 78.4964)) return TD_SendMessage(playerid, "~h~~w~Vous devez être dans l'auto-école.", "~h~~r~INFO", -1, 0x00000088, 20, 110.000000, 230);
if(playerInfo[playerid][pDrivingLicense]) return 1;
if(GetLicense(playerid, LICENSE_TYPE_DRIVING) > 0) return TD_SendMessage(playerid, "~h~~w~Vous avez déjà le permis.", "~h~~r~INFO", -1, 0x00000088, 20, 110.000000, 230);
playerInfo[playerid][pDrivingLicense] = 1;
DrivingLicense(playerid, 1);
return 1;
}
public DrivingLicense(playerid, step)
{
if(step == 1)
{
if(playerInfo[playerid][pSex] == PLAYER_SEX_GIRL)
{ SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Bonjour madame. Je suis monsieur Wendel, votre examinateur."); }
else
{ SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Bonjour monsieur. Je suis monsieur Wendel, votre examinateur."); }
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Etes vous prêt à commencer votre examen du permis ?");
}
else if(step == 2)
{
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Très bien ! Dans ce cas, allons-y ! Dès que vous êtes prêt, sortez du parking et tournez à droite.");
SetPlayerCheckpoint(playerid, 1147.0398,-1676.3751,13.4861, 7.0);
}
else if(step == 3)
{
SetPlayerCheckpoint(playerid, 1147.8049,-1699.5928,13.4866, 7.0);
}
else if(step == 4)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Avant de continuer et afin d'être clair.");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Ceci est pour rappel un stop, vous devez vous y arrêter complètement !");
SetPlayerCheckpoint(playerid, 1285.5000,-1713.9856,13.0876, 7.0);
SetTimerEx("DrivingLicense_Unfreeze", 3000, false, "i", playerid);
}
else if(step == 5)
{
SetPlayerCheckpoint(playerid, 1295.1840,-1838.6084,13.0879, 7.0);
DrivingLicense_CheckStop(playerid);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Tournez à droite et au bout de la route prenez à nouveau à droite.");
}
else if(step == 6)
{
SetPlayerCheckpoint(playerid, 1074.0302,-1849.7145,13.0959, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Droite ...");
}
else if(step == 7)
{
SetPlayerCheckpoint(playerid, 996.3195,-1786.6940,13.7638, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Longez la grand route ...");
DrivingLicense_CheckStop(playerid);
}
else if(step ==
{
SetPlayerCheckpoint(playerid, 670.5067,-1737.2963,13.1669, 7.0);
}
else if(step == 9)
{
SetPlayerCheckpoint(playerid, 637.1550,-1713.5377,13.8892, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Prenez ici à droite.");
}
else if(step == 10)
{
SetPlayerCheckpoint(playerid, 612.0133,-1673.7081,15.6444, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Ici à gauche.");
}
else if(step == 11)
{
TogglePlayerControllable(playerid, 0);
SetPlayerCheckpoint(playerid, 584.3348,-1670.0983,16.3543, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Stop ! Ici vous allez un petit peu avancer et me faire un demi-tour en respectant le code de la route.");
SetTimerEx("DrivingLicense_Unfreeze", 3000, false, "i", playerid);
}
else if(step == 12)
{
SetPlayerCheckpoint(playerid, 615.9780,-1679.1667,15.7078, 7.0);
}
else if(step == 13)
{
SetPlayerCheckpoint(playerid, 640.6395,-1613.0811,15.0806, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Et vous prenez à gauche.");
DrivingLicense_CheckStop(playerid);
}
else if(step == 14)
{
SetPlayerCheckpoint(playerid, 639.8729,-1417.8976,13.1791, 7.0);
}
else if(step == 15)
{
SetPlayerCheckpoint(playerid, 634.9028,-1226.0719,17.7076, 7.0);
}
else if(step == 16)
{
SetPlayerCheckpoint(playerid, 722.3419,-1102.9677,19.1743, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: A droite à ce carrefour puis vous continuez tout droit jusque quand je vous le dis.");
DrivingLicense_CheckStop(playerid);
}
else if(step == 17)
{
SetPlayerCheckpoint(playerid, 902.2167,-988.9134,37.0675, 7.0);
}
else if(step == 18)
{
SetPlayerCheckpoint(playerid, 1137.9930,-956.7791,42.2077, 7.0);
}
else if(step == 19)
{
SetPlayerCheckpoint(playerid, 1231.2028,-944.0530,42.2456, 7.0);
}
else if(step == 20)
{
SetPlayerCheckpoint(playerid, 1354.6986,-989.6793,28.7760, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Deuxième rue à droite.");
}
else if(step == 21)
{
SetPlayerCheckpoint(playerid, 1350.6199,-1023.7516,26.2044, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Et vous continuez tout droit.");
}
else if(step == 22)
{
SetPlayerCheckpoint(playerid, 1340.6221,-1206.4064,17.3106, 7.0);
}
else if(step == 23)
{
SetPlayerCheckpoint(playerid, 1335.4554,-1456.8547,13.0875, 7.0);
}
else if(step == 24)
{
SetPlayerCheckpoint(playerid, 1268.3328,-1570.4133,13.0883, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Prenez la prochaine rue à droite.");
}
else if(step == 25)
{
SetPlayerCheckpoint(playerid, 1148.0408,-1592.9896,13.2720, 7.0);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: La prochaine à gauche ...");
}
else if(step == 26)
{
SetPlayerCheckpoint(playerid, 1147.0398,-1676.3751,13.4861, 7.0);
}
else if(step == 27)
{
DrivingLicense_Pass(playerid);
DisablePlayerCheckpoint(playerid);
}
}
public DrivingLicense_Unfreeze(playerid)
{
TogglePlayerControllable(playerid, 1);
if(playerInfo[playerid][pDrivingLicense] == 5) SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Continuez maintenant, tournez à gauche.");
return 1;
}
public DrivingLicense_Pass(playerid)
{
format(sQuery, sizeof(sQuery), "INSERT INTO samp_licenses (pCharacterID, licenseType, licenseSuspended) VALUES (%d, 1, 0)", playerInfo[playerid][pCharacterID]);
mysql_query(sQuery);
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Toutes mes félicitations, votre conduite est très adaptée à ce qui est attendu de vous !");
playerInfo[playerid][pDrivingLicense] = 0;
playerInfo[playerid][pDrivingCheckStop] = 0;
new vehid = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(vehid);
SafeSetPlayerPos(playerid, 1138.4099, -1700.2220, 13.8882);
SetPlayerFacingAngle(playerid, 26.1179);
TD_SendMessage(playerid, "~h~~g~Vous avez obtenu votre permis de conduire.", "~h~~r~INFO", -1, 0x00000088, 20, 110.000000, 230);
return 1;
}
public DrivingLicense_Fail(playerid, reason)
{
playerInfo[playerid][pDrivingLicense] = 0;
playerInfo[playerid][pDrivingCheckStop] = 0;
new vehid = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(vehid);
SafeSetPlayerPos(playerid, 1138.4099, -1700.2220, 13.8882);
SetPlayerFacingAngle(playerid, 26.1179);
DisablePlayerCheckpoint(playerid);
if(reason == 1) // Pas de ceinture
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Si vous commencez déjà par oublier votre ceinture, qu'est ce que ça va donner plus tard ?");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Retentez votre chance une prochaine fois.");
}
else if(reason == 2) // Non respect d'un stop
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Les stops c'est pas pour les chiens d'aveugles ... Vous avez pas oublié vos lunettes ?");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Retentez votre chance une prochaine fois.");
}
else if(reason == 3) // Vitesse
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Le Dakar c'est pas ici, apprenez à limiter votre vitesse.");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Retentez votre chance une prochaine fois.");
}
else if(reason == 4) // Demi-tour raté
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Mais quel demi-tour catastrophique ...Retentez votre chance une prochaine fois.");
}
else if(reason == 5) // Etat du véhicule
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Vous m'avez pété mon véhicule ! Partez d'ici je veux plus vous voir !");
}
else if(reason == 6) // Quitte le véhicule
{
SendClientMessage(playerid, COLOR_FADE1, "");
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Il vaut mieux être DANS le véhicule pour passer son permis ...");
}
TD_SendMessage(playerid, "~h~~r~Vous avez échoué votre permis de conduire.", "~h~~r~INFO", -1, 0x00000088, 20, 110.000000, 230);
return 1;
}
public DrivingLicense_CheckStop(playerid)
{
playerInfo[playerid][pDrivingCheckStop] = 1;
SetTimerEx("DrivingLicense_CheckStopEnd", 3000, false, "i", playerid);
return 1;
}
public DrivingLicense_CheckStopEnd(playerid)
{
if(playerInfo[playerid][pDrivingCheckStop] == 1) { playerInfo[playerid][pDrivingCheckStop] = 0; DrivingLicense_Fail(playerid, 2); return 1; }
playerInfo[playerid][pDrivingCheckStop] = 0;
return 1;
}
- Code:
// Permis de conduire: Etes vous prêt ?
if(playerInfo[playerid][pDrivingLicense] == 1)
{
if(strfind(text, "oui", true) != -1 || strfind(text, "ouai", true) != -1 || strfind(text, "ouais", true) != -1)
{
if(!IsPlayerInAnyVehicle(playerid) || !vehicleInfo[GetPlayerVehicleID(playerid)][vEcole])
{
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Veuillez d'abord entrer dans un véhicule école.");
return 0;
}
playerInfo[playerid][pDrivingLicense] = 2;
DrivingLicense(playerid, 2);
}
else
{
SendClientMessage(playerid, COLOR_FADE1, "Donar Wendel dit: Je n'ai pas bien compris, vous êtes prêt ou pas ?");
SendClientMessage(playerid, COLOR_FADE5, "(( Dites ici 'Oui' ou 'Non' pour répondre à l'examinateur ))");
}
}
- Aiden
- Messages : 37
Date d'inscription : 24/04/2018
Age : 25
Adresse : 8th Bluberry Acres, Bluberry.
Re: (DEV) (TERMINE) Système des Permis
Dim 4 Nov - 17:03
Script à Faire
- Pour les trois permis ci dessous, aucune ligne de code dans le 'GM' pour pouvoir les passer en tant que simple joueur.
- Par contre si nous les donnons par la commande '/adonner' , ils sont bien sauvegardés dans la 'BDD'.
- Aiden
- Messages : 37
Date d'inscription : 24/04/2018
Age : 25
Adresse : 8th Bluberry Acres, Bluberry.
Re: (DEV) (TERMINE) Système des Permis
Dim 4 Nov - 17:04
Permis d'armes
- Le permis est délivré par la faction Justice via la commande '/dpa' pour 15.000$.
- ADMIN: /adonner permis ID arme - Cependant quand on tape /adonner, il nous demande de mettre un S à arme mais c'est pas le bon préfixe.
- #define LICENSE_TYPE_WEAPON 5
- Aiden
- Messages : 37
Date d'inscription : 24/04/2018
Age : 25
Adresse : 8th Bluberry Acres, Bluberry.
Re: (DEV) (TERMINE) Système des Permis
Dim 4 Nov - 17:04
Permis de conduite
- Pas de théorique directement la pratique.
- Vitesse max 100 km/h pour le passer sinon recaler.
- Le moindre dégât recaler.
- Gratuit complet
- Pas de point
- Pas de ceinture recaler, mais pas pris en compte là car pas de script ceinture.
- On /permis tout le temps même si on la déjà.
- On peut le passer avec n'importe quelle véhicule tant que celui ci est /v ecole (une mote, un vélo)
- #define LICENSE_TYPE_DRIVING 1
- Aiden
- Messages : 37
Date d'inscription : 24/04/2018
Age : 25
Adresse : 8th Bluberry Acres, Bluberry.
Re: (DEV) (TERMINE) Système des Permis
Dim 4 Nov - 17:04
Je n'ai pas mis de questionnaire pratique ( Parce que c'est déjà bien assez chiant comme ça à passer... )
Peut être que j'en ferais un pour une version ultérieure.
Globalement:
- Emplacement et implémentation permis Aviation et Navigation
- Gestion des prix de chaque permis
- Test pratique pour le permis moto, sur le même schéma que le permis de conduire
- Fonction /v motoecole et /v autoecole
- Implémentation de la ceinture
- Correction du préfixe dans le /a donner pour le permis d'arme.
Système achevé en V1.
Lock.
Peut être que j'en ferais un pour une version ultérieure.
Globalement:
- Emplacement et implémentation permis Aviation et Navigation
- Gestion des prix de chaque permis
- Test pratique pour le permis moto, sur le même schéma que le permis de conduire
- Fonction /v motoecole et /v autoecole
- Implémentation de la ceinture
- Correction du préfixe dans le /a donner pour le permis d'arme.
Système achevé en V1.
Lock.
- Contenu sponsorisé
Re: (DEV) (TERMINE) Système des Permis
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|