19.05.2010, 20:12
Hello. I seem to be having an issue with using Dini. I think its simple, I just don't know enough about it.
My script:
Yes, its a very simple game-mode.
The errors:
My script:
pawn Код:
// <censored>
// Written By: <censored>
// Includes
#include <a_samp>
#include <colors>
#include <streamer>
#include <sscanf2>
#include <dini>
#include <zcmd>
new IsLogged[MAX_PLAYERS];
new file[128];
// Leave This Alone...
main(){}
// On-Game-Mode-Init
public OnGameModeInit()
{
SetGameModeText("FG-RP");
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid, 5);
SetPlayerPos(playerid, 323.4,305.6,999.1);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid, 323.4-1.5-1.0,305.6,999.1+0.7);
SetPlayerCameraLookAt(playerid, 323.4-1.0,305.6,999.1+0.7);
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid, 0);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
CMD:gmx(playerid, params[])// Server Restart Command
{
SendRconCommand("gmx");
return 1;
}
CMD:cgoto(playerid, params[])// Go-To-Cord Command
{
new Float:x, Float:y, Float:z;
if (sscanf(params, "fff", x, y, z)) SendClientMessage(playerid, 0xFF0000AA, "Usage: /gotocoord <X Float> <Y Float> <Z Float>");
else
{
new string[64];
SetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "New Position: %f, %f, %f", x, y, z);
SendClientMessage(playerid, COLOR_ORANGE, string);
}
return 0;
}
CMD:register(playerid, params[])
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
if(IsLogged[playerid] == 0)
{
if(sscanf(params, "s", password)) return SendClientMessage(playerid, 0xFF0000AA, "SERVER USAGE: /register <Password>");
else
{
format(file, sizeof(file), "%s.ini", PlayerName);
if(!dini_Exists(file))
{
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(password));
dini_IntSet(file, "AdminLevel", 0);
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
dini_IntSet(file, "Score", GetPlayerScore(playerid));
dini_IntSet(file, "Skin", GetPlayerSkin(playerid));
SendClientMessage(playerid, 0xFF00FF00, "SERVER: You have succesfully registered the name, you can now /login");
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "SERVER: That name is already registered, reconnect with another name if it isnt your account!");
}
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "SERVER: You are already logged in!");
}
return 1;
}
CMD:login(playerid, params[])// Login Command
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
if(IsLogged[playerid] == 0)
{
if(sscanf(params, "s", password)) return SendClientMessage(playerid, 0xFF0000AA, "SERVER USAGE: /login <Password>");
else
{
format(file, sizeof(file), "%s.ini", PlayerName);
if(dini_Exists(file))
{
if(strval(dini_Int(file, "Password")) == udb_hash(password))
{
GivePlayerMoney(playerid, dini_Int(file, "Money"));
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerSkin(playerid, dini_Int(file, "Skin"));
IsLogged[playerid] = 1;
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "SERVER: Wrong password!");
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "SERVER: That user isnt registered, please use /register");
}
}
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "SERVER: You are already logged in!");
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
SavePlayer(playerid)
{
if(IsLogged[playerid] == 1)
{
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
dini_IntSet(file, "Score", GetPlayerScore(playerid));
dini_IntSet(file, "Skin", GetPlayerSkin(playerid));
IsLogged[playerid] = 0;
}
return 1;
}
The errors:
Код:
C:\Other Servers\Future Gaming Testing Server\gamemodes\FG-RP2.pwn(103) : error 017: undefined symbol "password" C:\Other Servers\Future Gaming Testing Server\gamemodes\FG-RP2.pwn(110) : error 017: undefined symbol "udb_hash" C:\Other Servers\Future Gaming Testing Server\gamemodes\FG-RP2.pwn(136) : error 017: undefined symbol "password" C:\Other Servers\Future Gaming Testing Server\gamemodes\FG-RP2.pwn(142) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.