• 24 Avril 2025, 01:57:14


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 - Dark57

Pages: [1] 2 3
1
Il y a l'éditeur de map de MTA San Andreas version 1.0.2 qui peut aller dans les interiors, il me semble
 UP sur un post qui date de plus de deux ans, va lire les règles et va te présenter si ce n'est pas déjà fait !

2
Scripting SA-MP [Pawn center] / Re : ID de cadavre (objet)
« le: 26 Septembre 2010, 10:52:14 »
Non tu peu faire en sorte que quand un bot est kické(meur) il respawn :
Code: (pawn) [Sélectionner]
public OnPlayerDisconnect(playerid, reason)
{
if(IsPlayerNPC(playerid))
{
         new PlayerName[250];
         PlayerName(playerid, PlayerName, sizeof(PlayerName));
         if(strfind(PlayerName,"NOM-DU-BOT",true)==0)
{
ConnectNPC("NOM-DU-BOT","FICHIER-DU-BOT");
}
}
return 1;
}

3
Problèmes et bugs / Re : Mon serveur fais crasher les gens
« le: 13 Juin 2010, 10:34:45 »
Non c'est pas dans OnPlayerConnect, car à la connexion sa marche mais c'est au spawn que sa bug...
Je pense que sa vient du nombre de bot moi... car ils on pas mal de condition chacun
désoler  de ne pas répondre depuis un moment mais je n'avais plus internet :(

4
Problèmes et bugs / Mon serveur fais crasher les gens
« le: 12 Mai 2010, 21:49:23 »
Bonsoir,
Voila j'ai créé en l'espace de cinq jours un serveur NaziZombi qui fonctionne avec des bot,
le problème c'est que l'on crash une fois sur deux à l'entre du serveur...
voici quelques images pour voir le genre de serveur et où pourrai venir le bug :





Je vais attendre votre aide ;) merci

5
Scripting SA-MP [Pawn center] / Function inexistante
« le: 01 Mai 2010, 21:57:46 »
Bonsoir,
Voila je créer un mode Nazi Zombie avec NPCs,
tous est bien sauf que les zombi n'en on que après un joueur (le dernier arrivé),
moi j'aimerais faire une function qui fait : "Si le joueur est le plus près de..."
j'ai besoin d'aide au plus vite, merci

Double poste :
Non c'est bon j'ai trouvé tous seul....

6
je suis débutant dans ce genre de scripte donc j'évite de dire des chose quand je suis pas sur, je modifierais les tuto après plus d'entrainement  ;)

7
J'ai expliqué, pas beaucoup ok, mais le copier coller est pas conseillé car les info ne sont pas forcement celle que l'on veut.
Sinon merci  :)

8
Scripting SA-MP [Pawn center] / [TUTO]Créer un /register /login
« le: 04 Avril 2010, 12:04:43 »
Bonjour,
après avoir compris le système je me suis dit que tous les débutants aurai besoin d'aide.
Vous avez besoin des includes "dini" et "dudb" qui sont téléchargeable sur ces liens :
Dudb
Dini

1.Infos à sauvegarder :

Nous commençons par créer une variable qui dit si le joueur est loggé :
nous l'appelons "IsPlayerLogged" et sa nous donne
Code: (pawn) [Sélectionner]
new IsPlayerLogged[MAX_PLAYERS];
Maintenant il faut mettre quels chose sauvegarder (score,argent,...) :
nous mettons tous dans un "enum" qui se nommera "PlayersInfo",
un exemple avec argent, score, armes et skin :
Code: (pawn) [Sélectionner]
enum PlayersInfo
{
Score, Argent, Skin, Arme1, Arme2, Arme3, Arme4, Arme5, Arme6, Arme7, Arme8, Arme9, Arme10, Arme11, Arme12,
Munitions1, Munitions2, Munitions3, Munitions4, Munitions5, Munitions6, Munitions7, Munitions8, Munitions9, Munitions10, Munitions11, Munitions12,
}

Pour les armes placer :
Code: (pawn) [Sélectionner]
new w1[MAX_PLAYERS],w2[MAX_PLAYERS],w3[MAX_PLAYERS],w4[MAX_PLAYERS],w5[MAX_PLAYERS],w6[MAX_PLAYERS],w7[MAX_PLAYERS],w8[MAX_PLAYERS],w9[MAX_PLAYERS],w10[MAX_PLAYERS],w11[MAX_PLAYERS],w12[MAX_PLAYERS];
new a1[MAX_PLAYERS],a2[MAX_PLAYERS],a3[MAX_PLAYERS],a4[MAX_PLAYERS],a5[MAX_PLAYERS],a6[MAX_PLAYERS],a7[MAX_PLAYERS],a8[MAX_PLAYERS],a9[MAX_PLAYERS],a10[MAX_PLAYERS],a11[MAX_PLAYERS],a12[MAX_PLAYERS];

Puis dans un Timer, pour récupérer les armes du joueur, placer :
Code: (pawn) [Sélectionner]
forward NomDuTimer();
public NomDuTimer()
{
 for(new i;i<MAX_PLAYERS;i++)
 {
 GetPlayerWeaponData(i,1,w1[i],a1[i]); &nbsp; //soit w1[i] = l'arme du slot 1, et a1[i] = munitions du slot 1 (slot 1 = armes blanches)
 GetPlayerWeaponData(i,2,w2[i],a2[i]); &nbsp; //slot 2
 GetPlayerWeaponData(i,3,w3[i],a3[i]); &nbsp; //slot 3
 GetPlayerWeaponData(i,4,w4[i],a4[i]); &nbsp; //etc...
 GetPlayerWeaponData(i,5,w5[i],a5[i]);
 GetPlayerWeaponData(i,6,w6[i],a6[i]);
 GetPlayerWeaponData(i,7,w7[i],a7[i]);
 GetPlayerWeaponData(i,8,w8[i],a8[i]);
 GetPlayerWeaponData(i,9,w9[i],a9[i]);
 GetPlayerWeaponData(i,10,w10[i],a10[i]);
 GetPlayerWeaponData(i,11,w11[i],a11[i]);
 GetPlayerWeaponData(i,12,w12[i],a12[i]);
 }
}

Sans oublier de le lancer dans le callback "OnGameModeInit"
Code: (pawn) [Sélectionner]
SetTimer("NomDuTimer",1000,true); &nbsp; //Une timer de 1sec
2./register :

Tout d'abord il faut mettre dans le callback "OnPlayerCommandText" :

Code: (pawn) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
{ //ceci permet de ne pas infecter les autres commandes de votre GameMode
new cmd[256], idx, file[128], tmp[256], tmp2[256];
cmd = strtok(cmdtext, idx); &nbsp; //cmd = la commande
} //ceci permet de ne pas infecter les autres commandes de votre GameMode
return 0;
}

Passons à la commande /register <MotdePasse>, ce qui nous donne :

Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/register", true) == 0)
{
new name[MAX_PLAYER_NAME]; //name est le nom du joueur, cela va permettre de rechercher si un compte existe à ce nom
tmp = strtok(cmdtext, idx); //ici on prend ce que l'on écrit après register
GetPlayerName(playerid, name, sizeof(name)); //on prend le nom du joueur
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /register [MotdePasse]"); //si on n'écrit rien après register, changez la couleur si vous voulez, ici c'est blanc
format(file,sizeof(file),"User/%s.ini",name); //file = dans .../scriptfiles/User un fichier au nom du joueur .ini
if(!fexist(file)) //si ce fichier n'existe pas
{
dini_Create(file); &nbsp; //créer le fichier au nom du joueur en format .ini
dini_IntSet(file, "Password", udb_hash(tmp)); &nbsp; //dans le ficher .ini, ajout de la ligne "Password" (udb_hash(tmp) = le mot de passe après /register)
dini_IntSet(file,"Score", GetPlayerScore(playerid)); &nbsp; //on prend le score au moment de l'enregistrement
dini_IntSet(file,"Argent", GetPlayerMoney(playerid)); &nbsp; //pareil pour l'argent
dini_IntSet(file,"Skin", GetPlayerSkin(playerid)); &nbsp; //ici pour le skin
dini_IntSet(file,"Arme1", w1[playerid]); &nbsp; //arme et munitions slot 1
dini_IntSet(file,"Arme2", w2[playerid]); &nbsp; //slot 2
dini_IntSet(file,"Arme3", w3[playerid]); &nbsp; //slot 3
dini_IntSet(file,"Arme4", w4[playerid]); &nbsp; //etc...
dini_IntSet(file,"Arme5", w5[playerid]);
dini_IntSet(file,"Arme6", w6[playerid]);
dini_IntSet(file,"Arme7", w7[playerid]);
dini_IntSet(file,"Arme8", w8[playerid]);
dini_IntSet(file,"Arme9", w9[playerid]);
dini_IntSet(file,"Arme10", w10[playerid]);
dini_IntSet(file,"Arme11", w11[playerid]);
dini_IntSet(file,"Arme12", w12[playerid]);
dini_IntSet(file,"Munitions1", a1[playerid]);
dini_IntSet(file,"Munitions2", a2[playerid]);
dini_IntSet(file,"Munitions3", a3[playerid]);
dini_IntSet(file,"Munitions4", a4[playerid]);
dini_IntSet(file,"Munitions5", a5[playerid]);
dini_IntSet(file,"Munitions6", a6[playerid]);
dini_IntSet(file,"Munitions7", a7[playerid]);
dini_IntSet(file,"Munitions8", a8[playerid]);
dini_IntSet(file,"Munitions9", a9[playerid]);
dini_IntSet(file,"Munitions10", a10[playerid]);
dini_IntSet(file,"Munitions11", a11[playerid]);
dini_IntSet(file,"Munitions12", a12[playerid]);
SendClientMessage(playerid, 0x00FF00FF, "Le compte a bien été créé"); //changez la couleur si vous voulez, ici c'est vert
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, name, sizeof(name)); &nbsp; //on prend le nom du joueur
printf("[Compte]%s C'est enregistré", name); &nbsp; //dans la fenêtre noir (sont nom m'échappe) un message s'affiche pour dire que le joueur s'est enregistré
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Ce compte existe déjà"); //changez la couleur si vous voulez, ici c'est rouge
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
return 1;
}

3./login:

Je pense que la suite vous pouvez le faire seul, mais je vais quand même expliquer.
La commande /login <MotdePasse> :

Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/login", true) == 0)
{
new PlayerName[24];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /login [MotdePasse]"); //changez la couleur si vous voulez, ici c'est blanc
new name[MAX_PLAYER_NAME];
if(IsPlayerLogged[playerid] == 1) //si le joueur est loggé
{
SendClientMessage(playerid, 0xFF0000FF, "Tu est déjà loggé");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(file,sizeof(file),"User/%s.ini",name);
if(fexist(file))
{
tmp2 = dini_Get(file, "Password"); //on prend le mot de passe enregistré
if(udb_hash(tmp) != strval(tmp2)) //si le mot de passe écrit n'est pas celui enregistré
{
SendClientMessage(playerid, 0xFF0000FF, "Mauvais mot de passe!"); //changez la couleur si vous voulez, ici c'est rouge
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("[Compte]%s C'est trompé de mot de passe", name);
}
else
{
IsPlayerLogged[playerid] = 1; //le joueur est maintenant loggé
SetPlayerMoney(playerid, dini_Int(file, "Argent")); &nbsp; //on donne l'argent enregistré par le joueur
SetPlayerScore(playerid, dini_Int(file, "Score")); &nbsp; //pareil pour le score
SetPlayerSkin(playerid, dini_Int(file, "Skin")); &nbsp; //le skin
ResetPlayerWeapons(playerid); &nbsp; //on efface les armes que le joueur avait avant de se loggé
GivePlayerWeapon(playerid,dini_Int(file, "Arme1"),dini_Int(file, "Munitions1")); &nbsp; //on lui donne l'arme et les munitions enregistré slot 1
GivePlayerWeapon(playerid,dini_Int(file, "Arme2"),dini_Int(file, "Munitions2")); &nbsp; //slot 2
GivePlayerWeapon(playerid,dini_Int(file, "Arme3"),dini_Int(file, "Munitions3")); &nbsp; //etc...
GivePlayerWeapon(playerid,dini_Int(file, "Arme4"),dini_Int(file, "Munitions4"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme5"),dini_Int(file, "Munitions5"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme6"),dini_Int(file, "Munitions6"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme7"),dini_Int(file, "Munitions7"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme8"),dini_Int(file, "Munitions8"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme9"),dini_Int(file, "Munitions9"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme10"),dini_Int(file, "Munitions10"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme11"),dini_Int(file, "Munitions11"));
GivePlayerWeapon(playerid,dini_Int(file, "Arme12"),dini_Int(file, "Munitions12"));
SendClientMessage(playerid, 0x00FF00FF, "Tu est maintenant loggé"); //changez la couleur si vous voulez, ici c'est vert
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("[Compte]%s C'est loggé", name);
}
}
}
return 1;
}


4.Sauvegarder une parti après déconnexion:

Voila maintenant sans doute le plus important, sauvegarder.
Pour sauvegarder il faut placer dans le callback "OnPlayerDisconnect" les informations à sauvegarder,
de la met façon que dans le /register :

Code: (pawn) [Sélectionner]
public OnPlayerDisconnect(playerid)
{
if(IsPlayerLogged[playerid] == 1) //si le joueur est loggé lors de sa déconnexion
{
new file[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(file,sizeof(file),"User/%s.ini",file);
if(fexist(file))
{
dini_Set(file,"Score", GetPlayerScore(playerid));
dini_Set(file,"Argent", GetPlayerMoney(playerid));
dini_Set(file,"Skin", GetPlayerSkin(playerid));
dini_Set(file,"Arme1", w1[playerid]);
dini_Set(file,"Arme2", w2[playerid]);
dini_IntSet(file,"Arme3", w3[playerid]);
dini_IntSet(file,"Arme4", w4[playerid]);
dini_Set(file,"Arme5", w5[playerid]);
dini_Set(file,"Arme6", w6[playerid]);
dini_IntSet(file,"Arme7", w7[playerid]);
dini_Set(file,"Arme8", w8[playerid]);
dini_IntSet(file,"Arme9", w9[playerid]);
dini_Int(file,"Arme10", w10[playerid]);
dini_IntSet(file,"Arme11", w11[playerid]);
dini_Set(file,"Arme12", w12[playerid]);
dini_IntSet(file,"Munitions1", a1[playerid]);
dini_Int(file,"Munitions2", a2[playerid]);
dini_IntSet(file,"Munitions3", a3[playerid]);
dini_Set(file,"Munitions4", a4[playerid]);
dini_Set(file,"Munitions5", a5[playerid]);
dini_Int(file,"Munitions6", a6[playerid]);
dini_Int(file,"Munitions7", a7[playerid]);
dini_Set(file,"Munitions8", a8[playerid]);
dini_Set(file,"Munitions9", a9[playerid]);
dini_Set(file,"Munitions10", a10[playerid]);
dini_Set(file,"Munitions11", a11[playerid]);
dini_Set(file,"Munitions12", a12[playerid]);
}
IsPlayerLogged[playerid] = 0; //une fois déconnecté le joueur n'est plus loggé
}
return 1;
}



ATTENTION /!\ J'ai volontairement placé des erreurs dans le dernier script, pour que vous ne copiez pas bêtement!



Voila, merci d'avoir lu, désoler pour les faut d'orthographe et c'est un plaisir de vous aider ^^

9
Showroom SA:MP / Re : Re : [FS]===>VehicleSelect<===
« le: 19 Mars 2010, 22:53:12 »
j'arrive pas à le lancé en local, la petite fenetre se ferme direct :s
Des Errors?
Sinon je vois pas... moi sa fonctionne parfaitement et ça m'aide beaucoup

Edit : Ta pris le fichier RAR?
si oui il faut renommer les fichier pwn et amx : VehicleSelect_v1 (j'avais oublié le _)

10
Showroom SA:MP / Re : Re : ===>VehicleSelect<===
« le: 07 Mars 2010, 10:17:57 »
Y'a un problème là...
Quand je fais /vselect y'a le premier menu et quand je vais dans une catégorie y'a plus de menu, et quand je fais /vcolor ca n'a pas d'effet quand je prends une couleur

j'ai le même problème, j'ai trouvé pourquoi : j'avais le fs pmsys (qui m'était finalement inutile), je l'ais enlevé et tous fonctionne maintenant

PS : cherche le FS qui te fais buguer

PPS : cela vient de :
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
new string[256],clickedname[24];
if(!IsPlayerConnected(clickedplayerid)) {
SendClientMessage(playerid,0xFF444499,"* This player is not connected.");
return 1;
}
PMInit[playerid] = clickedplayerid;
GetPlayerName(clickedplayerid,clickedname,24);
format(string,256,"Please enter your message to %s and click OK",clickedname);
ShowPlayerDialog(playerid,2791,DIALOG_STYLE_INPUT,"Enter message",string,"OK","Cancel");
return 1;
}
Dès que l'on clique sur quelque chose le menu se ferme

11
Showroom SA:MP / [FS]===>VehicleSelect<===
« le: 07 Mars 2010, 00:33:01 »
Vehicle Select v1 :

Voila mon premier filterscripts qui, pour moi, est très utile.
C'est un FS qui contient deux commandes Admin :
/vselect : ouvre une liste de tous les véhicules, il suffi de cliquer sur le nom du véhicule voulut pour le faire apparaitre.
/vcolor : ouvre une liste de couleurs, en premier on choisis la couleur 1, en deuxième la couleur 2. Là encore il suffi de cliquer
sur les couleurs désiré pour changer les couleurs de votre véhicule.

Les couleurs :

en v1 les couleurs sont :
-Rouge Foncé,
-Rouge,
-Rouge Claire,

-Bleu Foncé,
-Bleu,
-Bleu Claire,

-Vert Foncé,
-Vert,
-Vert Claire,

-Jaune,
-Jaune Pâle,

-Violet,
-Rose,
-Brun Foncé,
-Brun,
-Beige,

-Gris Foncé,
-Gris,
-Gris Claire,
-Blanc,
-Noire


Vidéo :

http://www.dailymotion.com/video/xci207_vehicleselect-v1-sa-mp_videogames

Credit :

-Dark57

Telechargement :

Pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=745

Solidflies :

Problèmes :

certain scripte peuvent poser des problèmes, surtout au niveaux du callback "OnPlayerClickPlayer"
Avec le Fichier RAR il faut renommer les fichier pwn et amx (ajouter un _ entre VehicleSelect et v1)

Merci d'avoir choisis cet FS, dite-moi les problèmes à corriger svp



12
Salut,
LinkVehicleToInterior(GetPlayerVehicleID(playerid),gINT);
ceci est faux, le véhicule créé n'est pas celui dans lequel se trouve le joueur:


ok mais c'est pas sa qui me gène le problème c'est que quand je clique sur "Motos & Vélos", "Voiture & Camion (A à E)", "Voiture & Camion (F à P)", "Voiture & Camion (P à S)", Voiture & Camion (S à Z)", "Hélicoptères", "Avions", "Bateaux", "Trains", "Remorques" ou "Véhiclules RC" sa quitte le dialog et RIEN ^^

13
Scripting SA-MP [Pawn center] / Re : Gros problème avec mon FS
« le: 28 Février 2010, 21:18:11 »
Merci j'essaye,
par contre pour
#define DIALOG 1
vos mieux pas si certaine personnes ont déjà un dialog utilisant l'id 1

Edition : Toujours rien  :( je ne vois pas d'où sa vient c'est très embêtant car j'ai passé du temps sur ce FS


14
Scripting SA-MP [Pawn center] / Re : Gros problème avec mon FS
« le: 28 Février 2010, 19:02:11 »
desoler si j'ai pas répondu j'était en vancance,
merci mais sa m'aide pas j'ai continué à chercher mais toujours rien
dans mon GM j'ai déjà un dialog de ce style qui fonctionne, je pense que sa vient de la longueur du menu
quelqu'un a essayé mon FS? si chez quelqu'un sa marche dîtes le moi

15
Scripting SA-MP [Pawn center] / Gros problème avec mon FS
« le: 20 Février 2010, 18:07:00 »
Voila je me suis créé un FS Vehicles Select et les menus ne font rein, le premier apparais mais quand je clique sa ferme le dialog :...

pouvez vous m'aider ?

mon FS : http://pastebin.com/d469137e8

Pages: [1] 2 3