GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Franky™ le 20 Novembre 2010, 15:17:51

Titre: [Topic Général] Mes questions sur le script.
Posté par: Franky™ le 20 Novembre 2010, 15:17:51
Salut à vous.

Voilà mon sujet pour divers question et aide.

Donc j'en ai déjà deux, la premiere la voici.

Quand je me deconnect de mon serveur, il ne veux pas sauvegarder. Pourtant dans le OnPlayerDisconnect J'ai bien mis se qu'il fallais, ton voici mon bout du code:

public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file,sizeof(file),"JailRP/Comptes/%s.ini",file);
    if(fexist(file))
    if(gPlayerLogged[playerid] == 1)
    {
    dini_IntSet(file, "Score", InfoJoueur[playerid][pScore]);
    dini_IntSet(file, "Argent", InfoJoueur[playerid][pArgent]);
    dini_IntSet(file, "AdminLevel",InfoJoueur[playerid][pAdminLevel]);
    dini_IntSet(file, "Faction", InfoJoueur[playerid][pFaction]);
        
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}

Donc il ne me sauvegarde rien (j'ai essayer avec la faction et avec de l'argent).
Je me suis donc donner de l'argent avec GivePlayerMoney(playerid, 9999); ça m'affiche très bien le montant de l'argent sur la HUD mais quand je quitte et que je vais voir dans mon .ini c'est toujours à 0
Pareil pour la faction, quand mon InfoJoueur[playerid][pFaction] = 0 j'ai un menu qui s'ouvre et qui nous demande de choisir la faction. Donc pour chaque choix il y a :


case 0:
{
SetPlayerSkin(playerid,71);
SetPlayerArmour(playerid, 100);
InfoJoueur[playerid][pFaction] = 1; // ICI QUI LUI DIT QU'IL EST DANS LA FACTION 1
SetPlayerPos(playerid,-2905.732,3598.980,25.346);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "[FACTION] Te voilà désormais Garde");
}
case 1:
{
SetPlayerSkin(playerid,268);
InfoJoueur[playerid][pFaction] = 2; // ICI QUI LUI DIT QU'IL EST DANS LA FACTION 2
SetPlayerPos(playerid,1102.7017,-299.0774,73.9922);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "[FACTION] Te voilà désormais Prisonnier");
}


Mais quand je quitte, dans mon fichier .ini c'est toujours a 0

Pour le deuxieme prob, j'attend que celui là soit résolut...

Voilà si vous pouviez m'aider.
Merci

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 15:27:08
peu tu te faire une commande pour regarder la valeur des variable en jeu et si elle sont ok peu etre un soucis de lecture du fichier
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 15:28:37
peu tu te faire une commande pour regarder la valeur des variable en jeu et si elle sont ok peu etre un soucis de lecture du fichier

Ok je peux la faire, mais perso j'ai pas compris lol. J'ai jamais fait se genre de commande mdr ^^

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 15:29:38
pas de soucis j'edite ce post une fois taper

if (strcmp("/p", cmdtext, true) == 0)
{
new string[128];
format(string,sizeof(string),"Scor : %d Argent : %d Adminlevel: %d Faction : %d",InfoJoueur[playerid][pScore],InfoJoueur[playerid][pArgent],InfoJoueur[playerid][pAdminLevel],InfoJoueur[playerid][pFaction]);
SendClientMessageToAll(0xFF32FFAA,string);
return 1;
}
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 15:35:54
ahhhhh mais oui ça je connais lol, tu m'aurai expliqué que c'etait pour montrer les stats je l'aurai fait mdr ^^

Je regarde si sa marche, je te tien au jus lol

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 15:36:35
desoler je m'exprime mal par moment ^^
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 15:43:03
Ok alors voilà les resultas:

Faction: quand je choisi IG ça fonctionne, ça met bien 1 ou 2.
Adminlevel: sa fonctionne

Le reste non, j'ai fait ma cmd /argent, ca me donne l'argent sur le HUD mais pas dans les stats.
Pareil quand je le met manuellement dans mon fichier .ini sa met sur le HUD mais pas les stats.
Pareil pour le score

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 15:57:57
est comme ceci

stock CompteJoueur(playerid)
{
   new name[MAX_PLAYER_NAME], file[256];
   GetPlayerName(playerid, name, sizeof(name));
   format(file,sizeof(file),"JailRP/Comptes/%s.ini",file);
   return file;
}
public OnPlayerDisconnect(playerid, reason)
{
if (dini_Exists(CompteJoueur(playerid)))
{
    dini_Set(CompteJoueur(playerid), "AdminLevel",InfoJoueur[playerid][pAdminLevel]);
    dini_Set(CompteJoueur(playerid), "Faction", InfoJoueur[playerid][pFaction]);
}
return 1;
}

j'ai pas tester mais il me semble que c'est Dini_Set et pas Dini_InSet mais sa fait longtemps que j'ai plus coder je ne suis pas tres sur
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 16:03:20
Non toujours pas lol ^^

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 16:06:07
tente de ne pas mettre les compte joueur dans des dossier pour voir juste voir si tout est ok
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 16:11:42
tente de ne pas mettre les compte joueur dans des dossier pour voir juste voir si tout est ok

Le fichier se crée bien, mais ne sauve rien lors de ma deconnexion. Donc en gros, toujours pas de changement ^^
Et j'ai même mis ton code.

Je sais pas d'ou sa viens ça.

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 16:20:06
etrange tout de meme ce serais sur un serveur autre qu'en local j'aurais bien dit que c'est le CHMOD mais la c'est pas le cas franchement je planche complet sur ton soucis la :s pour cela dans un sens moi je save chaque chose en temps reel c'est bien plus sur que le onplayerdisconnect
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 16:20:29
salut,

c'est pas dini_Set mais dini_IntSet

++
Beno

Salut,

Non même en mettant dini_IntSet
ça ne sauvegarde pas :s

++ Franky

Double post
etrange tout de meme ce serais sur un serveur autre qu'en local j'aurais bien dit que c'est le CHMOD mais la c'est pas le cas franchement je planche complet sur ton soucis la :s pour cela dans un sens moi je save chaque chose en temps reel c'est bien plus sur que le onplayerdisconnect

Ok mais comment on save en temps réel ?

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 20 Novembre 2010, 16:23:59
nop pas de timer

enfaite si un gars passe admin dans la commande je sauvegarde son nouveau level si il meurt je save a sa mort ect ect


ah oui par hazard tu ne passe pas tout les var a 0 dans le OnPlayerdisconnect ???
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 16:32:54
nop pas de timer

enfaite si un gars passe admin dans la commande je sauvegarde son nouveau level si il meurt je save a sa mort ect ect

Hum je voit, ça a l'air compliqué quand même lol.

Citation de: cristab
ah oui par hazard tu ne passe pas tout les var a 0 dans le OnPlayerdisconnect ???

Bah le seul truc qui est à zero quand je deco c'est gPlayerLogged[playerid] = 0;

++ Franky

Titre: Re : [Divers Question] Aide Scripts
Posté par: Brian Turner le 20 Novembre 2010, 18:50:22
Moi perso j'utilise pas dini, j'ai eu trop de probleme avec sa. Maintenant j'utilise celui intergrer et il me va tres bien.
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 18:56:19
celui intergrer et il me va tres bien.

Tu veux dire quoi par celui intergrer ?

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: Eloctro le 20 Novembre 2010, 19:06:25
Je pense qu'il parle des fonctions d"origine de sa-mp .A savoir que dini marche très il faut juste savoir l'utiliser mais après je te le déconseille si ta plus de 20 joueurs
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 20 Novembre 2010, 19:08:48
Je pense qu'il parle des fonctions d"origine de sa-mp .A savoir que dini marche très il faut juste savoir l'utiliser mais après je te le déconseille si ta plus de 20 joueurs

Se script n'est qu'un hobby pour moi, dès que j'ai lai terminé, je pense le partagé ^^ Mais bon, faut quand même que je puisse faire marché la sauvegarde du compte, mais malheureusement j'y arrive pas.. Enfin ca devrai marché, mais c'est pas le cas..

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: Ssk le 21 Novembre 2010, 12:41:37
Enfaite c'est tout simple tu as fait une erreur d'inattention ici

format(file,sizeof(file),"JailRP/Comptes/%s.ini",file);

le devrait être

format(file,sizeof(file),"JailRP/Comptes/%s.ini",name);
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 12:48:12
Salut,

Non désolé mais ça ne fonctionne toujours pas :s

grrrrrr me soul se truc qui marche pas ^^

++ Franky

Double post
Ok, donc c'est résolut partiellement.

Avec le changement en "name" ca fonctionne. Enfaite j'avais oublié d'elever deux "" sur un truc.
Donc ca fonctionne seulement avec La Faction, et non l'argent...

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 21 Novembre 2010, 13:01:56
pour l'argent

InfoJoueur[playerid][pArgent] = GetPlayerMoney(playerid);
dini_IntSet(file, "Argent", InfoJoueur[playerid][pArgent]);
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 13:10:57
Cool merci ca fonctionne...

___________________________

Ensuite mon deuxieme problème alors.

J'ai fait un truc que quand on se connect avec l'id d'une faction, donc soit la 1 soit la 2
On spawn au QG Donc voilà se que j'ai fait:

public SetPlayerSpawn(playerid)
{
if(IsPlayerConnected(playerid))
{
  if (InfoJoueur[playerid][pFaction] == 1)//Police spawn
{
    SetPlayerSkin(playerid,71);
SetPlayerArmour(playerid, 100);
InfoJoueur[playerid][pFaction] = 1;
SetPlayerPos(playerid,-2905.732,3598.980,25.346);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "[FACTION] Te voilà Garde");
return 1;
}
else if (InfoJoueur[playerid][pFaction] == 2)//Prisonnier Spawn
{
    SetPlayerSkin(playerid,268);
InfoJoueur[playerid][pFaction] = 2;
SetPlayerPos(playerid,1102.7017,-299.0774,73.9922);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "[FACTION] Te voilà Prisonnier");
return 1;
}
}
return  1;
}

Mais ceci ne fonctionne pas.
Je tombe sur cette fonction: AddPlayerClass(0,2846.7517,-1984.5951,10.9375,62.9433, 0, 0, 0, 0, 0, 0);

pourquoi ? lol

Merci

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: cristab le 21 Novembre 2010, 14:13:41
deplace le code dans le onplayerspawn
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 14:37:20
Oui après avoir bien regarder mon code j'ai vu que je m'etait gouré. lol
Donc je l'ai déplacé dans le public OnPlayerSpawn(playerid) ça fonctionne nikel.

Je peux donc, continué à scripté enfin lol.

Merci encore
Titre: Re : [Divers Question] Aide Scripts
Posté par: Djellali_Ibrahim le 21 Novembre 2010, 15:01:36
Hs: tu fait un serveur type ba_jail css ?
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 15:05:35
Hs: tu fait un serveur type ba_jail css ?

Je connais pas de ba_jail sur CSS vu que j'y joue pas.

Ensuite je fait un Gm Rp dans la vie d'une prison. Ca se passera seulement dans la prison et nul part ailleur.
J'éspère que c'est que de l'inédit mdr ^^  Car j'ai pas encore vu de GM prison quelque part. Ben a vrai dire j'ai pas bcp chercher ^^

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: Djellali_Ibrahim le 21 Novembre 2010, 15:08:04
ba_jail c'est un mod de jeu css ou aussi ont est dans une prison et il y a les Gardien et les détenu etc :)
Titre: Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 15:17:50
Sauf que dans CSS il se tue, alors que là sa sera un RP ^^  ;)

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: chneubeul le 21 Novembre 2010, 18:19:50
Salut :)
Il existe déjà des serveurs qui se passe dans une prison, et le but c'est de t'échapper..
Titre: Re : Re : [Divers Question] Aide Scripts
Posté par: Franky™ le 21 Novembre 2010, 19:09:47
Salut :)
Il existe déjà des serveurs qui se passe dans une prison, et le but c'est de t'échapper..

Lol ok, ben alors ca va, car le mien personne ne s'echappe, c'est a vie que tu reste là dedant... Je trouvais que tout les RP c'etait la même chose, alors j'ai voulu changé... Mais bon, je suis encore loin d'être arrivé au bout ^^

++ Franky
Titre: Re : [Divers Question] Aide Scripts
Posté par: S!m le 21 Novembre 2010, 19:19:53
Salut,

Franky je te demanderais de changer le nom de ton topic, simplement indiquer clairement que ce topic est pour TES questions, c'est un peu trop général là.

sinon bonne chance avec ton RP de prison, ça fait différent j'aimerais bien voir ça^^, mais essayez de revenir au script maintenant.

EDIT: merci d'avoir faire le changement si vite.

++Sim++