16
Autre / Re : IV:MP en Open Source + 0.1 T4
« le: 04 Octobre 2011, 23:39:51 »
J'ai vu qu'on pouvait aussi créer des sons et tout, c'est fun !
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.
Le jour où tu saura faire aussi mieux que leur boulot du pourra dire que c'est moisie ^^
addEvent("string", x);
function x () { }
addEvent("login", function(playerid, username, password) {
if(!ini.keyExists("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Tu n'es pas enregistré!", COLOR_RED, false);
kickPlayer(playerid, false);
if (password != ini.getKey("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Mot de passe incorrect!", COLOR_RED, false);
sendPlayerMessage(playerid, "Tu as été logué avec succès!", COLOR_GRAYBLUE, false);
setPlayerModel(playerid, ini.getKey("PlayerInfo", "skin").tointeger());
setPlayerMoney(playerid, ini.getKey("PlayerInfo", "money").tointeger());
Admin[playerid] = ini.getKey("PlayerInfo", "level").tointeger();
Logged[playerid] = 1;
togglePlayerControls(playerid, true)
ini.setKey("PlayerInfo", "ip", md5(getPlayerIp(playerid).tostring()));
ini.saveData();
if (Admin[playerid] == 0)
return log("[C'ADMIN]"+getPlayerName(playerid)+" was auto logged in!");
sendPlayerMessage(playerid, "Admin level: " + Admin[playerid] + "!", COLOR_GRAYBLUE, false);
log("[C'ADMIN]" + getPlayerName(playerid)+" was auto logged in with Admin level "+Admin[playerid]+"!");
return 1;
});
addEvent("login", function(playerid) {
function loginHandler(playerid, username, password)
{
if(!ini.keyExists("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Tu n'es pas enregistré!", COLOR_RED, false);
kickPlayer(playerid, false);
if (password != ini.getKey("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Mot de passe incorrect!", COLOR_RED, false);
sendPlayerMessage(playerid, "Tu as été logué avec succès!", COLOR_GRAYBLUE, false);
setPlayerModel(playerid, ini.getKey("PlayerInfo", "skin").tointeger());
setPlayerMoney(playerid, ini.getKey("PlayerInfo", "money").tointeger());
Admin[playerid] = ini.getKey("PlayerInfo", "level").tointeger();
Logged[playerid] = 1;
togglePlayerControls(playerid, true)
ini.setKey("PlayerInfo", "ip", md5(getPlayerIp(playerid).tostring()));
ini.saveData();
if (Admin[playerid] == 0)
return log("[C'ADMIN]"+getPlayerName(playerid)+" was auto logged in!");
sendPlayerMessage(playerid, "Admin level: " + Admin[playerid] + "!", COLOR_GRAYBLUE, false);
log("[C'ADMIN]" + getPlayerName(playerid)+" was auto logged in with Admin level "+Admin[playerid]+"!");
return 1;
}
addEvent("login", loginHandler);
});
local username = GUIEditBox();
local password = GUIEditBox();
function onButtonClick(btnName, bState)
{
if(btnName == GUI2.button2.getName())
{
triggerServerEvent("login", username.getText(), password.getText());
}
}
addEvent("buttonClick", onButtonClick);
[2011-09-12 21:56:12] AN ERROR HAS OCCURED [wrong number of parameters]
[2011-09-12 21:56:12] CALLSTACK
[2011-09-12 21:56:12] LOCALS
Je te recommande de récupérer l'ID de la voiture quand le joueur monte dans sa voiture, définir une variable pour la velocity que tu réutilisera & définir une variable pour vérifier si il est dans un véhicule.
Il faut vraiment optimiser au maximum son code pour les scripts client, et se dire que le joueur a un monocore à 100mhz...
if (md5(cmd[1]) != ini.getKey("PlayerInfo", "password"))
local Speed1 = GUIImage("Bck.png");
Speed1.setVisible(false); // On défini l'image Bck, et on la rend invisible au démarrage du serveur
local Speed2 = GUIImage("Pin.png");
Speed2.setVisible(false);// On défini l'image Pin, et on la rend invisible au démarrage du serveur
local ply = getLocalPlayer();
if(isVehicleValid(getPlayerVehicleId(ply))) // Si le joueur entre dans un vehicule valide
{
local
midScreenX = screen[0] / 2, // On défini la moitié de la longueur de l'écran pour que l'imaged s'adapte à toutes les définitions des ordis.
midScreenY = screen[1] / 2; // Même chose pour la largeur
Speed1.setPosition(midScreenX - 630, midScreenY + 127, false); // On règle la position de l'image par rapport à l'axe X et Y
Speed1.setSize(256.0, 256.0, false);
Speed1.setVisible(true); // On fait apparaître l'image.
Speed2.setPosition(midScreenX - 630, midScreenY + 127, false); // Même principe que pour Speed1
Speed2.setSize(242.0, 238.0, false);
local KM = sqrt(pow(getVehicleVelocity(getPlayerVehicleId(ply))[0], 2) + pow(getVehicleVelocity(getPlayerVehicleId(ply))[1], 2) + pow(getVehicleVelocity(getPlayerVehicleId(ply))[2], 2))*3.6;
Speed2.setRotation(0.0, 0.0, KM);
Speed2.setVisible(true);
} else {
Speed1.setVisible(false);
Speed2.setVisible(false);
}
}
addEvent("frameRender", onFrameRender);
<clientresource>Bck.png</clientresource>
<clientresource>Pin.png</clientresource>
Speed1.setPosition(midScreenX - 630, midScreenY + 127, false);
Et ici :Speed2.setPosition(midScreenX - 630, midScreenY + 127, false);
// get user and password from some GUI login box
triggerServerEvent("login", username, password);
// ...
A mettre dans le client.function loginHandler(playerid, username, password)
{
// Check if username and password are valid
// ...
}
addEvent("login", loginHandler);
A mettre dans le script.function loginHandler(playerid, username, password)
{
if(!ini.keyExists("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Tu n'es pas enregistré!", COLOR_RED, false);
kickPlayer(playerid, false);
if (md5(cmd[1]) != ini.getKey("PlayerInfo", "password"))
return sendPlayerMessage(playerid, "Mot de passe incorrect!", COLOR_RED, false);
sendPlayerMessage(playerid, "Tu as été logué avec succès!", COLOR_GRAYBLUE, false);
setPlayerModel(playerid, ini.getKey("PlayerInfo", "skin").tointeger());
setPlayerMoney(playerid, ini.getKey("PlayerInfo", "money").tointeger());
Admin[playerid] = ini.getKey("PlayerInfo", "level").tointeger();
Logged[playerid] = 1;
togglePlayerControls(playerid, true)
ini.setKey("PlayerInfo", "ip", md5(getPlayerIp(playerid).tostring()));
ini.saveData();
if (Admin[playerid] == 0)
return log("[C'ADMIN]"+getPlayerName(playerid)+" was auto logged in!");
sendPlayerMessage(playerid, "Admin level: " + Admin[playerid] + "!", COLOR_GRAYBLUE, false);
log("[C'ADMIN]" + getPlayerName(playerid)+" was auto logged in with Admin level "+Admin[playerid]+"!");
return 1;
}
addEvent("login", loginHandler);
function onButtonClick(btnName, bState)
{
if(btnName == GUI1.button.getName())
{
addChatMessage("Tu ne peux pas t'enregistrer directement, il te faudra passer par notre forum : *******.net. BONNE CHANCE!", 0xFF0000AA);
GUI1.window.setVisible(false);
GUI1.windowshown = false;
guiToggleCursor(false);
}
etc...