- 6 Luglio 2013
- 69
- 0
- Miglior risposta
- 0
Ciao ragazzi, mi è apparso un problema mentre scriptavo un sistema di login nuovo, trovato su un sito.
Ho soltanto copiato i vari procedimenti che cita il sito, ovvero:
Mi compaiono sei errori, che sono:
Ho soltanto copiato i vari procedimenti che cita il sito, ovvero:
In Alto:
#include <a_samp>
#include <dini>
#include <dudb>
//Colori (( GLi ho inseriti tanto per ancora vi potrebbero servire ))
#define Giallo 0xFFFF00AA
#define Azzurro 0x33CCFFAA
#define Verde 0x00F600AA
#define Rosso 0xF60000AA
#define Arancione 0xFF9900AA
#define RossoVivace 0xF60000AA
#define Bianco 0xFFFFFFFF
#define Nero 0x000000AA
//Forward
forward CaricamentoDatiPlayer(playerid);
forward SalvataggioDatiPlayer(playerid);
forward CancellaFunzioni(playerid);
//Define dei Dialog
#define dialogo_registrazione 0
#define dialogo_login 1
//Enum (( Ho usato PlayerInfo xke è il + comune in tutte le gm e non sapevo cosa scrivere... ))
enum PlayerInfoSystem
{
Loggato,
pnome,
};
//new
new PlayerInfo[MAX_PLAYERS][PlayerInfoSystem];
In OnGameModeInit:
CancellaFunzioni(playerid);
In OnPlayerConnect:
new Nome[MAX_PLAYER_NAME], string[128];
new PlayerFile[128];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(PlayerFile, sizeof(PlayerFile), "Impostazioni/Utenti/%s.ini", Nome);
if(!dini_Exists(PlayerFile))
{
ShowPlayerDialog(playerid, dialogo_registrazione, DIALOG_STYLE_INPUT, "Registrazione", "Non sei ancora registrato.\nPerpiacere inserisci una password:", "Registrati", "Annulla");
}
else
{
ShowPlayerDialog(playerid, dialogo_login, DIALOG_STYLE_INPUT, "Identificazione", "Il tuo account è registrato\nInserisci la tua password:", "Entra", "Annulla");
}
In OnPlayerDisconnect:
if(PlayerInfo[playerid][Loggato] == 2)
{
SalvataggioDatiPlayer(playerid);
}
GetPlayerName(playerid,nome,sizeof(nome));
format(stringa,sizeof(stringa),"Impostazioni/Utenti/%s.ini",nome);
In OnPlayerSpawn:
if(PlayerInfo[playerid][Loggato] == 1)
{
CaricamentoDatiPlayer(playerid);
PlayerInfo[playerid][Loggato] = 2;
}
In OnDialogResponse:
if(dialogid == dialogo_registrazione)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dialogo_registrazione, DIALOG_STYLE_INPUT, "Registrazione", "Non sei ancora registrato.\nPerpiacere inserisci una password:", "Registrati", "Annulla");
{
new PlayerFile[128], Nome[128];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(PlayerFile, sizeof(PlayerFile), "Impostazioni/Utenti/%s.ini", Nome);
dini_Create(PlayerFile);
dini_Set(PlayerFile, "Password", inputtext);
PlayerInfo[playerid][Loggato] = 2;
SendClientMessage(playerid, 0xFFFFFFFF, "Ti sei registrato con successo, sei automaticamente loggato al server");
GivePlayerMoney(playerid, 200); // Da 200 dollari al player appena spawnato
dini_FloatSet(PlayerFile, "Pos_X", 0);//Imposta nel dini lo spawn principale cambiare 0
dini_FloatSet(PlayerFile, "Pos_Y", 0);//Imposta nel dini lo spawn principale cambiare 0
dini_FloatSet(PlayerFile, "Pos_Z", 0);//Imposta nel dini lo spawn principale cambiare 0
SalvataggioDatiPlayer(playerid);
SetPlayerPos(playerid, dini_Float(PlayerFile, "Pos_X"), dini_Float(PlayerFile, "Pos_Y"), dini_Float(PlayerFile, "Pos_Z"));
SetTimerEx("TempoSpawn",1000,false,"d",playerid); //Se il player non spawna aggiungere questo se no rimuoverlo
}
}
return 1;
}
if(dialogid == dialogo_login)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dialogo_registrazione, DIALOG_STYLE_INPUT, "Registrazione", "Non sei ancora{FF0000} registrato.\nPerpiacere inserisci una password:", "Registrati", "Annulla");
new PlayerFile[128], Nome[128], Password[256];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(PlayerFile, sizeof(PlayerFile), "Impostazioni/Utenti/%s.ini", Nome);
Password = dini_Get(PlayerFile, "Password");
if((!strcmp(Password, inputtext, true)))
{
PlayerInfo[playerid][Loggato] = 1;
SendClientMessage(playerid, 0xFFFFFFFF, "Ti sei loggato con successo");
SetPlayerPos(playerid, dini_Float(PlayerFile, "Pos_X"), dini_Float(PlayerFile, "Pos_Y"), dini_Float(PlayerFile, "Pos_Z"));
CaricamentoDatiPlayer(playerid);
SetTimerEx("TempoSpawn",1000,false,"d",playerid);//Se il player non spawna aggiungere questo se no rimuoverlo
}
else
{
ShowPlayerDialog(playerid, dialogo_login, DIALOG_STYLE_INPUT,"Identificazione", "Password non corretta.\n}Perpiacere inserisci nuovamente la passowrd:", "Entra", "Annulla");
}
}
else if(!response)
{
Kick(playerid);
}
return 1;
}
Fuori da tutto:
public CancellaFunzioni(playerid)
{
PlayerInfo[playerid][Loggato] = 0;
return 1;
}
public SalvataggioDatiPlayer(playerid)
{
new Nome[MAX_PLAYER_NAME], PlayerFile[128], Float: UltimaPos[3];
GetPlayerName(playerid, Nome,sizeof(Nome));
GetPlayerPos(playerid, UltimaPos[0], UltimaPos[1], UltimaPos[2]);
format(PlayerFile, sizeof(PlayerFile),"Impostazioni/Utenti/%s.ini", Nome);
if(!fexist(PlayerFile))
{
dini_Create(PlayerFile);
}
dini_IntSet(PlayerFile,"Soldi", GetPlayerMoney(playerid));//Salva i soldi che si posseggono in mano
dini_IntSet(PlayerFile,"Esperienza", GetPlayerScore(playerid));//Salva il lv di esperienza
dini_IntSet(PlayerFile,"Skin", GetPlayerSkin(playerid));//Salva la skin che si possiede
return 1;
}
public CaricamentoDatiPlayer(playerid)
{
new Nome[MAX_PLAYER_NAME], PlayerFile[128];
GetPlayerName(playerid, Nome,sizeof(Nome));
format(PlayerFile, sizeof(PlayerFile), "Impostazioni/Utenti/%s.ini", Nome);
if(!fexist(PlayerFile)) return 1;
SetPlayerScore(playerid, dini_Int(PlayerFile, "Esperienza"));
SetPlayerPos(playerid, dini_Float(PlayerFile, "Pos_X"), dini_Float(PlayerFile, "Pos_Y"), dini_Float(PlayerFile, "Pos_Z"));
GivePlayerMoney(playerid, dini_Int(PlayerFile, "Soldi"));//Consegna i soldi al player
SetPlayerSkin(playerid, dini_Int(PlayerFile, "Skin"));//Imposta la skin al player
return 1;
PlayerName(playerid)
{
new pNome[24];
GetPlayerName(playerid, pNome, 24);
return pNome;
}
}
Mi compaiono sei errori, che sono:
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(68) : error 004: function "CancellaFunzioni" is not implemented
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(91) : warning 219: local variable "Nome" shadows a variable at a preceding level
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(92) : warning 217: loose indentation
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(92) : warning 219: local variable "PlayerFile" shadows a variable at a preceding level
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(91) : warning 204: symbol is assigned a value that is never used: "string"
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(111) : error 004: function "SalvataggioDatiPlayer" is not implemented
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(113) : warning 217: loose indentation
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(113) : error 017: undefined symbol "nome"
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(113) : error 017: undefined symbol "nome"
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(113) : error 029: invalid expression, assumed zero
C:\Users\Frank\Desktop\samp03x_svr_R1-2_win32\gamemodes\Untitled.pwn(113) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Errors.