GTAOnline.net

IV : Multiplayer (iv:mp) => Scripting IV:MP [Squirrel center] => Discussion démarrée par: Orlenzz le 24 Novembre 2012, 09:52:41

Titre: [Résolu] Problème 0.1 RC2 "easyini"
Posté par: Orlenzz le 24 Novembre 2012, 09:52:41
Bonjour a tous, j'ai voulus continué mon script sur la version 0.1 RC2 mais il se trouve que j'ai un problème que je n’arrive toujours pas à résoudre avec "easyini".

Voici l'erreur que j'ai à la connection en prenant mon script de la T3 sur la RC2:
[09:39:21] [Connect] Authorizing connection from IP 127.0.0.1 (ID 0, Serial 00000000000000000000000000000000)...
[09:39:21] AN ERROR HAS OCCURED [wrong number of parameters]
[09:39:21] CALLSTACK
[09:39:21] LOCALS
[09:39:21] [Connect] Authorization for 127.0.0.1:62866 (PlayerO) complete.
[09:39:21] [Join] PlayerO (0) has joined the game.
[09:39:23] [Spawn] PlayerO spawned.
[09:39:23] AN ERROR HAS OCCURED [cannot open file]
[09:39:23] CALLSTACK
[09:39:23] *FUNCTION [fileCreate()] C:\Users\******\Desktop\IVMP Serveur Windows RC2\cadmin/easyini.nut line [252]
[09:39:23] *FUNCTION [constructor()] C:\Users\******\Desktop\IVMP Serveur Windows RC2\cadmin/easyini.nut line [31]
[09:39:23] *FUNCTION [onPlayerSpawn()] C:\Users\******\Desktop\IVMP Serveur Windows RC2\scripts/cadmin.nut line [2827]
[09:39:23] LOCALS
[09:39:23] [filename] "cadmin/bannedaccs/PlayerO.ban"
[09:39:23] [this] INSTANCE
[09:39:23] [fname] "cadmin/bannedaccs/PlayerO.ban"

easyini ligne 252 et 31:
function fileCreate(filename) // ligne 249
{
local tf = file(filename, "a+"); // ligne 251
tf = null; // ligne 252
return true; // ligne 253
}
//////////////////////////////////////
constructor(fname)
{
filename = fname;
fileCreate(fname); // ligne 31
local
tf = eFile(fname, "r");
sections.clear();
lastsec = null;
while(!tf.eos())

Script ligne 2826:
function onPlayerSpawn(playerid)
{
togglePlayerFrozen(playerid, true);
togglePlayerControls(playerid,false);
//setPlayerSpawnLocation(playerid, -1076.477539, -464.480957, 3.300139, 17.562088);
local ban = EasyINI("cadmin/bannedaccs/"+getPlayerName(playerid)+".ban");
local ini = EasyINI("cadmin/playerfiles/"+getPlayerName(playerid)+".cadmin");////////////////// LIGNE 2827
if (playerFileExists("cadmin/bannedaccs/"+getPlayerName(playerid)+".ban") && ban.getKey("PlayerBan", "banned") == "true")
{
sendPlayerMessage(playerid, "Vous etes banni de ce serveur!", Rouge, false);
sendMessageToAll(getPlayerName(playerid) + " à été auto banni.", Orange, false);
banPlayer(playerid, 0);
}
if(!ini.keyExists("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Ce compte n'est pas enregistré");
//setPlayerSpawnLocation(playerid, -1076.477539, -464.480957, 3.300139, 17.562088);

if (ini.keyExists("PlayerInfo", "password") && md5(getPlayerIp(playerid)) != ini.getKey("PlayerInfo", "ip"))
{
triggerClientEvent(playerid, "showlogin");
}
Titre: Re : Problème 0.1 RC2
Posté par: Orlenzz le 25 Novembre 2012, 17:59:26
Effectivement j'ai pensé me retourné sur Mysql, mais le problème c'est  que tous mes système véhicules compte et tous les autre sont fait avec easyini, sa embête de tous refaire avec Mysql. Je pense que je vais essayer  de le mettre à jour tous seul, sa va être dur je pense.

Merci pour ta réponse. Bye. ;)
Titre: Re : Problème 0.1 RC2
Posté par: Orlenzz le 27 Décembre 2012, 12:12:58
Problème résolu:

Si vous utilisez le fichier "easyini", il faut le placé dans le dossier "scripts" ensuite vos dossier de destination il vous faudra les placé dans le dossier "files".

Exemple:

Dans le dossier "files" créer un dossier pour les comptes par exemple "Joueurs", et dans votre script sa se passe comme ceci.

local ini = EasyINI("Joueurs/"+getPlayerName(playerid)+".ini");
ini.setKey("PlayerInfo", "password", md5(password).tostring());
ini.setKey("PlayerInfo", "level", Admin[playerid].tostring());
ini.setKey("PlayerInfo", "model", getPlayerModel(playerid).tostring());
ini.setKey("PlayerInfo", "money", getPlayerMoney(playerid).tostring());

Easyini iras chercher dans le dossier "files" tous seul comme un grand.  :biggrin:

Tous simplement  :)