• 29 Mars 2024, 15:53:51


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Ouzdi Broono

Pages: [1] 2 3
1
J'ai rien fais de plus qu'un copier collé de toutes les variables de statistiques qui concernent la connexion du joueur en dessous des RemoveBuild.
J'ai chercher toute la journée juste pour un truc tous bête...
Par contre maintenant j'ai des gros bugs de comptes, mais ça c'est un problème à part.

2
Scripting SA-MP [Pawn center] / Re : Problème removebuilding
« le: 12 Août 2013, 18:36:04 »
Je ne sais pas, mais peux importe je l'ai supprimé et ça ne résous pas mon problème. :sad:
Auriez vous une solution ?

Edit: Problème résolu, j'ai passer tous ce qui concerné la connexion du joueur en dessous des RemoveBuild.

3
Scripting SA-MP [Pawn center] / Re : Problème removebuilding
« le: 12 Août 2013, 13:50:12 »
En voila une partie
Code: (pawn) [Sélectionner]
RemoveBuildingForPlayer(playerid, 9222, -2276.5391, 2330.1484, 4.2266, 0.25);
RemoveBuildingForPlayer(playerid, 9260, -2291.6094, 2311.5313, 9.0938, 0.25);
RemoveBuildingForPlayer(playerid, 731, -2325.3125, 2350.0078, 3.1641, 0.25);
RemoveBuildingForPlayer(playerid, 9348, -2314.1484, 2408.3047, 5.9609, 0.25);
RemoveBuildingForPlayer(playerid, 9360, -2276.5391, 2330.1484, 4.2266, 0.25);
RemoveBuildingForPlayer(playerid, 9380, -2291.6094, 2311.5313, 9.0938, 0.25);
RemoveBuildingForPlayer(playerid, 9383, -2227.5391, 2326.8750, 5.7188, 0.25);
RemoveBuildingForPlayer(playerid, 9384, -2187.1172, 2414.3203, 6.5313, 0.25);
RemoveBuildingForPlayer(playerid, 9385, -2343.1641, 2431.6406, 12.6797, 0.25);
RemoveBuildingForPlayer(playerid, 9429, -2314.1484, 2408.3047, 5.9609, 0.25);
RemoveBuildingForPlayer(playerid, 1280, -2598.8203, 2275.0313, 7.7422, 0.25);
RemoveBuildingForPlayer(playerid, 1280, -2603.6094, 2275.0313, 7.7422, 0.25);
RemoveBuildingForPlayer(playerid, 715, -2595.1641, 2275.0781, 14.9688, 0.25);
Je ne vais pas poste tous mon mapping quand même...
Placé dans OnPlayerConnect, bien sur et avec #include <removebuild> en haut du GameMode.

4
Bonjour, j'utilise le streamer d'incognito "streamer" en version 2.6.1 r84.
Mon problème est que depuis 3, 4 jours tous les RemoveBuildingForPlayer du serveur ne sont plus pris en compte.
Pourtant je n'y ai pas touché, j'ai re-télécharger la dernière version du plugin, mais ça n'a aucun effet.
En plus le problème apparait que la deuxième fois que je me connecte sur le serveur, quand je le reboot les RemoveBuildingForPlayer sont bien pris en compte et quand je déco/reco ils ne sont plus pris en compte c'est trop bizarre.
Mon serveur est hébergé chez OVH VPS Classic 2 Go Debian 1 vCore (2.0 GHz+) et l'utilisation du CPU et de la RAM n’atteint jamais les 50%.
J'espère que vous pourrez m'aider à trouver une solution, je vous remercie.

5
Oui mais si lui ne s'amuse pas, alors il risque de se lasser et de rencontrer des problèmes directement en rapport avec cela.
PS: Je viens de voter.

6
Fais ce qui te plais et pas ce qui plait aux autres...
Si c'est pour créer un projet qui passera aux oubliettes c'est pas la peine.
Je te conseil de faire ton serveur avec les jeux en équipe, c'est largement plus amusant et attrayant, même si ça demande plus de boulot niveau administration en jeu.

7
A bon, comment savoir précisément quelle erreur est retourné (classe requise, être dans un véhicule, être connecté) si nous avons qu'une seule ligne de condition ?
Forcément nous aurons qu'un seul else...

8
Je vous poste mon code quand même.
Dites moi si rien ne cloche et si je peux l'optimiser, merci. :smile:

Code: (pawn) [Sélectionner]
// Commande version 2.0

if (strcmp("/blindage", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
    if(PlayerInfo[playerid][pClasse] == 6)
    {
if(PlayerInfo[playerid][pBlindage] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new i = 0; i < MAX_VEHICLES; i++)
{
print("Début du blindage.");
new vehicleid = GetPlayerVehicleID(playerid);
// Infanterie
if(GetVehicleModel(vehicleid) == 470) // Patriot
{
SetVehicleHealth(vehicleid, 2000.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage du patriot effectué.");
}
else if(GetVehicleModel(vehicleid) == 528) // FBIblindé
{
SetVehicleHealth(vehicleid, 3000.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage du blindé léger effectué.");
}
else if(GetVehicleModel(vehicleid) == 433) // Barrack
{
SetVehicleHealth(vehicleid, 3000.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage du barrack effectué.");
}
// Air Force
else if(GetVehicleModel(vehicleid) == 548) // Cargobob
{
SetVehicleHealth(vehicleid, 5000.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage du cargobob effectué.");
}
else if(GetVehicleModel(vehicleid) == 425) // Hunter
{
SetVehicleHealth(vehicleid, 1500.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage de l'hunter effectué.");
}
// Blindé
else if(GetVehicleModel(vehicleid) == 432) // Tank
{
SetVehicleHealth(vehicleid, 10000.0);
SendClientMessage(playerid, COLOR_SAY, "Blindage du chars effectué.");
}
PlayerInfo[playerid][pBlindage] = 0;
SetTimerEx("TimerAutorisationBlindage", 300000, false, "i");
print("Fin du blindage.");
return 1;
}
}
else
{
    SendClientMessage(playerid, COLOR_SAY, "Vous devez être dans un véhicule pour utiliser cette commande.");
    print("Tentative de blindage échoué.");
    return 1;
}
}
else
{
    SendClientMessage(playerid, COLOR_SAY, "Tu as déjà blindé un véhicule, tu ne peux pas en blinder un autre avant 5 minutes.");
    print("Tentative de blindage échoué.");
    return 1;
}
}
else
{
    SendClientMessage(playerid, COLOR_SAY, "Vous n'êtes pas autorisé à blinder un véhicule.");
return 1;
}
}
return 1;
}

En fait je crois que la boucle for n'a plus d’utilité ? Puisque la commande s'applique uniquement au véhicule dans le quel le joueur se trouve.

9
J'ai opté pour une solution un peu plus simple que celle que j'envisagé.
Quand je tape la commande /blindage ça augmente la vie du véhicule dans le quel on se trouve.
Cette commande est autorisé qu'aux ingénieurs sur mon serveur et j'ai fais en sorte qu'ils peuvent l'utiliser qu'une seule fois toutes les 5 minutes pour éviter les abus de réparations.
Je vous remercie beaucoup pour votre aide, à très bientôt ! :bye:

Sujet résolu.

10
J'ai viré le timer en fait il sert plus à rien.
J'ai essayé de remplacer les if/else if par switch/case comme me la suggéré Syg et j'ai redéfinis MAX_VEHICULES à 500 comme tu me l'as suggéré Gilux.
Voila ce que j'ai fais:
Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/vieveh", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] == 2)
{
for (new i=0;i<MAX_VEHICULES;i++)
{
new vehicleid = GetPlayerVehicleID(playerid);
new test;
switch(test == 0)
{
case 0: // Bobcat
{
if(GetVehicleModel(vehicleid) == 422)
{
    SendClientMessage(playerid, COLOR_SAY, "Les points de vie des véhicules blindés ont été modifié.");
SetVehicleHealth(i, 1500.0);
}
}
case 1: // Patriot
{
if(GetVehicleModel(vehicleid) == 470)
{
SetVehicleHealth(i, 3000.0);
}
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_SAY, "Vous n'êtes pas autorisé à utiliser cette commande.");
return 1;
}
}
return 1;
}
Par contre je ne vois pas du tous comment faire pour qu'une case contient une condition comme "GetVehicleModel(vehicleid) == 422)" par exemple.
J'ai mis que deux type de véhicules pour une meilleure lisibilités et je pense que c'est suffisant pour faire les tests.
Dites moi si je suis dans la bonne direction s'il vous plait et expliquez moi pour les cases.
Je vous remercie. :bye:

11
Oui il reste des bouts de copier/coller car pour tester la fonction SetVehicleHealth j'avais d'abord tester de l'utiliser dans OnPlayerStateChange, quand le joueur monte dans un véhicule.
Mais j'ai remarqué qu'à chaque fois que le joueur remonte dedans les points de vie du véhicule se régénère ce qui est très embêtant.
Donc la j'ai fais une commande /vieveh avec un timer qui se déclenche au bout d'une seconde qui s'appel VehiculesBlindees.
Donc la boucle se situe dans ce timer.
J'ai du utiliser un timer car je ne peux pas utiliser les fonctions dans directement à l'initialisation du gamemode, (dans OnGameModeInit) vus qu'on ne peux pas mettre de paramètres entre les deux parenthèses.
Dites moi si vous avez compris, merci encore.

12
Bonjour à tous, je débute dans l'utilisation des opérateurs for et while, je ne sais donc pas trop comment m'y prendre.
J'essais de définir les points de vie de certains véhicules.
Voila ce que j'ai fais:
public VehiculesBlindees(carid, playerid)
{
for (new i=1;i<2000;i++)
{
new IsOk;
while(IsOk == 0)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 422){SetVehicleHealth(carid, 1500.0); return 1;} // Bobcat
else if(GetVehicleModel(vehicleid) == 470){SetVehicleHealth(carid, 3000.0); return 1;} // Patriot
else if(GetVehicleModel(vehicleid) == 528){SetVehicleHealth(carid, 6000.0); return 1;} // FBItruck
else if(GetVehicleModel(vehicleid) == 433){SetVehicleHealth(carid, 3000.0); return 1;} // Barrack
///// Air Force ////
else if(GetVehicleModel(vehicleid) == 548){SetVehicleHealth(carid, 6000.0); return 1;} // Cargobob
else if(GetVehicleModel(vehicleid) == 425){SetVehicleHealth(carid, 1500.0); return 1;} // Hunter
else if(GetVehicleModel(vehicleid) == 520){SetVehicleHealth(carid, 1500.0); return 1;} // Hydra
///// Compagnie blindée /////
else if(GetVehicleModel(vehicleid) == 432){SetVehicleHealth(carid, 10000.0); return 1;} // Tank
return 1;
}
}
return 1;
}
Ou:
public VehiculesBlindees(carid, playerid)
{
for (new i=1;i<2000;i++)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == 422){SetVehicleHealth(carid, 1500.0); return 1;} // Bobcat
else if(GetVehicleModel(vehicleid) == 470){SetVehicleHealth(carid, 3000.0); return 1;} // Patriot
else if(GetVehicleModel(vehicleid) == 528){SetVehicleHealth(carid, 6000.0); return 1;} // FBItruck
else if(GetVehicleModel(vehicleid) == 433){SetVehicleHealth(carid, 3000.0); return 1;} // Barrack
///// Air Force ////
else if(GetVehicleModel(vehicleid) == 548){SetVehicleHealth(carid, 6000.0); return 1;} // Cargobob
else if(GetVehicleModel(vehicleid) == 425){SetVehicleHealth(carid, 1500.0); return 1;} // Hunter
else if(GetVehicleModel(vehicleid) == 520){SetVehicleHealth(carid, 1500.0); return 1;} // Hydra
///// Compagnie blindée /////
else if(GetVehicleModel(vehicleid) == 432){SetVehicleHealth(carid, 10000.0); return 1;} // Tank
return 1;
}
return 1;
}
Ça n'a aucun effet alors que quand je fais ça:
public VehiculesBlindees(carid, playerid)
{
for (new i=1;i<2000;i++) SetVehicleHealth(carid, 1500.0);
return 1;
}
Ça définit les points de vie de tous les véhicules.
Je vous remercie de votre aide.

13
Scripting SA-MP [Pawn center] / Suppressions d'objets
« le: 29 Juillet 2013, 15:20:26 »
Bonjour, je voudrais supprimer un objet qu'un joueur aurait préalablement spawn à l'endroit de son choix.
Pour cela j'ai tenté sans succès d'utiliser la fonction DestroyObject:
DestroyObject(IDdeMonObjet);
et une boucle for:
for(new i=0; i<MAX_OBJECTS; i++)
{
if(IsValidObject(IDdeMonObjet)) DestroyObject(IDdeMonObjet);
}
Je ne sais pas si l'attribut "MAX_OBJECTS" est correcte.
Le problème aussi c'est que je ne peux pas définir une variable pour l'objet, ni le placer dans le public OnGameModeInit puisqu'il n'existe pas dans le GameMode, et qu'on peux uniquement le créer en jeu.
Sinon, pour un tél système est-il obligatoire de créer un système d'enregistrements des positions dans un document texte pour pouvoir créer et lire les positions dans ce même fichier ?
Corrigez moi et aidez moi à avancer s'il vous plait, je vous remerci.

14
Scripting SA-MP [Pawn center] / Re : Grille Automatique ?
« le: 28 Juillet 2013, 18:49:59 »
Je vois pas comment on pourrai t'aider plus que ça...

15
Scripting SA-MP [Pawn center] / Re : Blabla du Pawn Center
« le: 21 Juillet 2013, 20:35:48 »
Le forum officiel d'SA:MP commence vraiment à craindre, donc au lieu de péter un plomb la bas, je vous annonce donc que je déménage ici, vous avez l'air plus cool et surtout largement plus mature.
La bas maintenant ils sont juste bon à sortir des mots comme "troll" à répondre hors sujet à tous les sujets et à poster des images de mongoles.
Dernière trouvaille, pour rendre un serveur plus cool il faut mettre la musique des pokémon quand on monte sur un vélo...
Pour vous dire, ça vol très haut !

Pages: [1] 2 3