Radexs
Wiek: 32 Na forum: 5232 dni Posty: 33
Piwa : 180
Hej, jako i? nie mam nic do roboty, chcia?em pobawi? si? w pawn.
Przy pom//ocy kilku poradnik?w, skleci?em system vipa i rejestracje.
Wszystko ?adnie;
rejestracja dzia?a
nadawanie komendy vipa dzia?a.
Gorzej z zapisem, pr?bowa?em go zrobi?, lecz niestety z marnym skutkiem.
Wyskakuj? mi takie o to b??dy;
Kod: C:\Ferro\gamemodes\ferro.pwn(164) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Ferro\gamemodes\ferro.pwn(164) : error 029: invalid expression, assumed zero
C:\Ferro\gamemodes\ferro.pwn(164) : error 029: invalid expression, assumed zero
C:\Ferro\gamemodes\ferro.pwn(164) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Linijka;
Kod:
Kod;
Pawn #include <a_samp>// G??wna biblioteka SA:MP`a
#include <YSI\y_ini>// Zapis danych do pliku, by Y_Less
#include <zcmd>
#include <sscanf>
#define LOGOWANIE 1 // ID dialogu Logowania
#define REJESTRACJA 2 // ID dialogu Rejestracji
#define KONTA "/Konta/%s.ini" // ?cie?ka zapisu kont
#define Vip "/Vip/%s.ini"
#define C_ZIELONY "{00A600}"
#define C_JZIELONY "{00FF00}"
#define C_CZERWONY "{FF0000}"
#define C_NIEBIESKI "{0000FF}"
#define BIALY "{FFFFFF}"
#define C_ZOLTY "{FFFF00}"
#undef MAX_PLAYERS
#define MAX_PLAYERS 20
//Rangi
new V [ MAX_PLAYERS ];
enum pInfo
{
pHaslo ,
pKasa ,
pPunkty ,
pVip
}
new PlayerInfo [ MAX_PLAYERS ][ pInfo ];
public OnPlayerConnect ( playerid )
{
if( fexist ( Gracz ( playerid )))
{
INI_ParseFile ( Gracz ( playerid ), "Zaladuj_%s" , . bExtra = true , . extra = playerid );
ShowPlayerDialog ( playerid , LOGOWANIE , DIALOG_STYLE_PASSWORD , "Panel Logowania" , "Witaj ponownie !\nAby si? zalogowa?, podaj swoje has?o kt?re wpisa?e? podczas rejestracji.\n" , "Zaloguj" , "Wyjd?" );
}
else
{
ShowPlayerDialog ( playerid , REJESTRACJA , DIALOG_STYLE_INPUT , "Panel Rejestracji" , "Witaj nowy graczu!\nWpisz has?o aby zarejestrowa? nowe konto." , "Rejestruj" , "Wyjd?" );
}
return 1 ;
}
public OnPlayerDisconnect ( playerid , reason )
{
if( GetPVarInt ( playerid , "Zalogowany" ) == 1 )
{
new INI : Plik = INI_Open ( Gracz ( playerid )); //Otwieramy plik
INI_SetTag ( Plik , "Dane" ); //Nadajemy Tag
INI_WriteInt ( Plik , "Pieniadze" , GetPlayerMoney ( playerid )); //Zapisujemy ilo?? pieni?dzy
INI_WriteInt ( Plik , "Punkty" , GetPlayerScore ( playerid )); //Zapisujemy ilo?? score
INI_WriteInt ( Plik , "Vip" , GetPlayerScore ( playerid ));
INI_Close ( Plik ); //Zamykamy plik
}
return 1 ;
}
public OnPlayerSpawn ( playerid )
{
if( GetPVarInt ( playerid , "Zalogowany" ) == 0 )
return SendClientMessage ( playerid , 0xFF0000AA , "Zosta?e? wyrzucony z serwera. Pow?d: Nie zalogowany zespawnowa?e? si?." ), Kick ( playerid );
return 1 ;
}
public OnDialogResponse ( playerid , dialogid , response , listitem , inputtext [])
{
if( dialogid == REJESTRACJA )
{
if(! response ) return SendClientMessage ( playerid , 0xFF0000AA , "Zosta?e? wyrzucony z serwera. Pow?d: Zamkni?cie okna rejestracji." ), Kick ( playerid );
if( response )
{
if( strlen ( inputtext ) <= 4 && strlen ( inputtext ) >= 8 ) return ShowPlayerDialog ( playerid , REJESTRACJA , DIALOG_STYLE_INPUT , "Panel Rejestracji" , "Has?o musi zawiera? od 4 do 8 znak?w!\nWpisz has?o aby zarejestrowa? nowe konto." , "Rejestruj" , "Wyjd?" );
new INI : Plik = INI_Open ( Gracz ( playerid ));
INI_SetTag ( Plik , "Dane" );
INI_WriteInt ( Plik , "Haslo" , udb_hash ( inputtext ));
INI_WriteInt ( Plik , "Pieniadze" , 0 );
INI_WriteInt ( Plik , "Punkty" , 0 );
INI_WriteInt ( Plik , "Vip" , 0 );
INI_Close ( Plik );
SetPVarInt ( playerid , "Zalogowany" , 1 );
SendClientMessage ( playerid , 0x00FF00FF , "Poprawnie zarejestrowa?e? konto!" );
}
return 1 ;
}
if( dialogid == LOGOWANIE )
{
if(! response ) return SendClientMessage ( playerid , 0xFF0000AA , "Zosta?e? wyrzucony z serwera. Pow?d: Zamkni?cie okna logowania." ), Kick ( playerid );
if( response )
{
if( udb_hash ( inputtext ) == PlayerInfo [ playerid ][ pHaslo ]) //Sprawdza poprawno?? has?a
{
INI_ParseFile ( Gracz ( playerid ), "Zaladuj_%s" , . bExtra = true , . extra = playerid );
SetPVarInt ( playerid , "Zalogowany" , 1 );
SetPlayerScore ( playerid , PlayerInfo [ playerid ][ pPunkty ]); //Odczyt punkt?w score
GivePlayerMoney ( playerid , PlayerInfo [ playerid ][ pKasa ]); //Odczyt ilo?ci pieni?dzy
}
else
{
INI_ParseFile ( Gracz ( playerid ), "Zaladuj_%s" , . bExtra = true , . extra = playerid ); //Wczytuje dane z forwarda Ladowanie
ShowPlayerDialog ( playerid , LOGOWANIE , DIALOG_STYLE_PASSWORD , "Panel Logowania" , "Z?e Has?o!\nAby si? zalogowa?, podaj prawid?owe has?o, kt?re wpisa?e? podczas rejestracji." , "Zaloguj" , "Wyjd?" );
}
}
return 1 ;
}
return 1 ;
}
forward Zaladuj_Dane ( playerid , name [], value []);
public Zaladuj_Dane ( playerid , name [], value [])
{
INI_Int ( "Haslo" , PlayerInfo [ playerid ][ pHaslo ]);
INI_Int ( "Pieniadze" , PlayerInfo [ playerid ][ pKasa ]);
INI_Int ( "Punkty" , PlayerInfo [ playerid ][ pPunkty ]);
INI_Int ( "Vip" , PlayerInfo [ playerid ][ pVip ]);
return 1 ;
}
// Szyfrowanie hase?,
stock udb_hash ( buf []) // by Dracoblue
{
new length = strlen ( buf );
new s1 = 1 ;
new s2 = 0 ;
new n ;
for ( n = 0 ; n < length ; n ++)
{
s1 = ( s1 + buf [ n ]) % 65521 ;
s2 = ( s2 + s1 ) % 65521 ;
}
return ( s2 << 16 ) + s1 ;
}
//Komendy vip!
CMD : dajvip ( playerid , params [])
{
if(! IsPlayerAdmin ( playerid ))
return SendClientMessage ( playerid ,- 1 , "Nie jestes administratorem" );
if( isnull ( params ))
return SendClientMessage ( playerid ,- 1 , "Uzycie /dajvip [id]" );
new gracz = strval ( params );
if(! IsPlayerConnected ( gracz ))
return SendClientMessage ( playerid ,- 1 , "Nie ma gracza o podanym id" );
Vip [ gracz ] = 1 ;
new string [ 100 ], name [ MAX_PLAYER_NAME ];
GetPlayerName ( playerid , name , sizeof ( name ));
format ( string , 100 , "Dales VIPa graczowi %s" , name );
SendClientMessage ( playerid , - 1 , string );
return 1 ;
}
// Pobranie nicku gracza i pobranie nazwy jego pliku,
stock Gracz ( playerid )
{
new PlayerNick [ MAX_PLAYER_NAME ], string [ 256 ];
GetPlayerName ( playerid , PlayerNick , sizeof ( PlayerNick ));
format ( string , sizeof (string), KONTA , PlayerNick );
return string ;
}
Da?em ca?y kod gamemoda, mam nadzieje ?e mnie nakierujecie co jest nie tak ; >
Ostatnio zmieniony przez zajacp1 2014-02-26, 16:43, w całości zmieniany 1 raz