Wysłany: 2014-02-28, 23:00
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Witam.Jak zrobi? cmd (zcmd) w ,kt?rej trzeba wpisa? /informacja [tresc] i b?dzie widoczna na czacie dla graczy kt?rzy b?d? w odleglosci o 10m.
Za pomoc piwko i respekt.
Wysłany: 2014-02-28, 23:49
JotP
Wiek: 26 Na forum: 4821 dni Posty: 217
Piwa : 1215
na koniec GMa
Pawn stock ProxDetector ( Float : radio , playerid , string [], color )
{
new Float : x , Float : y , Float : z ;
GetPlayerPos ( playerid , x , y , z );
foreach( Player , i )
{
if( IsPlayerInRangeOfPoint ( i , radio , x , y , z ) && GetPlayerVirtualWorld ( playerid ) == GetPlayerVirtualWorld ( i ))
{
SendClientMessage ( i , color , string );
}
}
}
Komenda:
Pawn CMD : informacja ( playerid , params [])
{
new
string [ 128 ];
if( isnull ( params ))
{
SendClientMessage ( playerid , - 1 , "Spr?buj: /informacja [tresc]" );
}
else
{
format ( string , sizeof (string), "Informacja: %s" , params );
ProxDetector ( 10 , playerid , string , 0xFF0000FF );
}
return 1 ;
}
Wysłany: 2014-03-01, 10:52
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Mam te? problem z wy?wietleniem GUI przy po??czeniu gracza (chodzi o obiekno logowanie/rejestrowania) nie pokazuje si? ono graczu kt?ry wchodzi na server.
Oto kod z OnPlayerConnect.
Kod: public OnPlayerConnect(playerid)
{
new konto[128];
format(konto, 128, "Konta/%s.ini", PlayerName(playerid));
if(fexist(konto))
{
ShowPlayerDialog(playerid, DIALOG_LOG, DIALOG_STYLE_INPUT, "Panel logowania", "Wpisz has?o poni?ej:", "Zaloguj", "Anuluj");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REJ, DIALOG_STYLE_INPUT, "Panel rejestracji", "Wpisz has?o poni?ej:", "Zarejestruj", "Anuluj");
}
return 1;
}
Wysłany: 2014-03-01, 11:18
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
"Rumun" napisał/a :Mam te? problem z wy?wietleniem GUI przy po??czeniu gracza (chodzi o obiekno logowanie/rejestrowania) nie pokazuje si? ono graczu kt?ry wchodzi na server.
Oto kod z OnPlayerConnect.
Kod: public OnPlayerConnect(playerid)
{
new konto[128];
format(konto, 128, "Konta/%s.ini", PlayerName(playerid));
if(fexist(konto))
{
ShowPlayerDialog(playerid, DIALOG_LOG, DIALOG_STYLE_INPUT, "Panel logowania", "Wpisz has?o poni?ej:", "Zaloguj", "Anuluj");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REJ, DIALOG_STYLE_INPUT, "Panel rejestracji", "Wpisz has?o poni?ej:", "Zarejestruj", "Anuluj");
}
return 1;
}
Nie jestem pewien, ani w jednej, ni w drugiej ch?ci pomocy, ale spr?buj tak i tak:
Kod: new konto[15+MAX_PLAYER_NAME];
format(konto, sizeof(konto), "Konta/%s.ini", PlayerName(playerid));
albo
Kod: new konto[15+MAX_PLAYER_NAME];
format(konto, sizeof(konto), "/Konta/%s.ini", PlayerName(playerid));
Wysłany: 2014-03-01, 12:23
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Niestety ani to ani to.
Tutaj ca?y kod tej rejestracji.
Kod: #include <a_samp>
#include <djson>
#include <zcmd>
#define DIALOG_LOG 500
#define DIALOG_REJ 501
#define DIALOG_ZMIANA_HASLA 503
#define DIALOG_INFO 504
#define CZ 0xFF0000AA
#define JN 0x87CEFAAA
#define JZ 0xADFF2FAA
#define P 0xFF4500AA
#define PlikGracza "/Konta/%s.ini"
#pragma unused djson_GameModeExit
#pragma unused djson_GameModeInit
enum gInfo
{
gZalogowany,
gHaslo,
gKasa,
gScore
};
new GraczInfo[MAX_PLAYERS][gInfo];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
public OnPlayerConnect(playerid)
{
new konto[15+MAX_PLAYER_NAME];
format(konto, sizeof(konto), "/Konta/%s.ini", PlayerName(playerid));
if(fexist(konto))
{
ShowPlayerDialog(playerid, DIALOG_LOG, DIALOG_STYLE_INPUT, "Panel logowania", "Wpisz has?o poni?ej:", "Zaloguj", "Anuluj");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REJ, DIALOG_STYLE_INPUT, "Panel rejestracji", "Wpisz has?o poni?ej:", "Zarejestruj", "Anuluj");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
ZapiszGracza(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOG)
{
if(!response)
{
new string[128];
Kick(playerid);
format(string, 128, "Gracz %s(%d) zosta? wyrzucony z serwera, pow?d: pr?ba zespawnowania si? bez zalogowania", PlayerName(playerid), playerid);
SendClientMessageToAll(CZ, string);
}
else
{
new konto[128];
format(konto, 128, "Konta/%s.ini", PlayerName(playerid));
if(strval(dj(konto, "Haslo")) == num_hash(inputtext))
{
new kasa = GraczInfo[playerid][gKasa] = djInt(konto, "Kasa");
GivePlayerMoney(playerid, kasa);
GraczInfo[playerid][gScore] = djInt(konto, "Score");
SetPlayerScore(playerid, GraczInfo[playerid][gScore]);
GraczInfo[playerid][gZalogowany] = 1;
TogglePlayerControllable(playerid, 1);
}
}
}
if(dialogid == DIALOG_REJ)
{
if(!response)
{
new string[128];
Kick(playerid);
format(string, 128, "Gracz %s(%d) zosta? wyrzucony z serwera, pow?d: pr?ba zespawnowania si? bez zalogowania", PlayerName(playerid), playerid);
SendClientMessageToAll(CZ, string);
}
else
{
new konto[128];
format(konto, 128, "Konta/%s.ini", PlayerName(playerid));
if(strlen(inputtext) >= 4)
{
djCreateFile(konto);
djSetInt(konto, "Haslo", num_hash(inputtext));
djSetInt(konto, "Kasa", 2500);
djSetInt(konto, "Score", 0);
ShowPlayerDialog(playerid, DIALOG_LOG, DIALOG_STYLE_INPUT, "Panel logowania", "Wpisz poni?ej swoje has?o", "Loguj", "Anuluj");
}
return SendClientMessage(playerid, CZ, "Has?o musi mie? przynajmniej 4 znaki!");
}
}
if(dialogid == DIALOG_ZMIANA_HASLA)
{
if(response)
{
if(strlen(inputtext) >= 4)
{
new konto[128];
format(konto, 128, "Konta/%s.ini", PlayerName(playerid));
djSetInt(konto, "Haslo", num_hash(inputtext));
new a[128];
format(a, 128, "Twoje nowe has?o to {ADFF2F}%s", inputtext);
ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informacja:", a, "Ok", "");
}
else SendClientMessage(playerid, CZ, "Has?o musi mie? przynajmniej 4 znaki!");
}
}
return 1;
}
CMD:zmienhaslo(playerid, params[]) //zmiana hasla
{
ShowPlayerDialog(playerid, DIALOG_ZMIANA_HASLA, DIALOG_STYLE_INPUT, "Zmiana has?a:", "Prosz? wpisa? poni?ej nowe has?o", "Zmie?", "Anuluj");
return 1;
}
forward ZapiszGracza(playerid);
ZapiszGracza(playerid)
{
new kasa = GetPlayerMoney(playerid);
new score = GetPlayerScore(playerid);
new plik[128];
format(plik, sizeof(plik), "Konta/%s.ini", PlayerName(playerid));
djSetInt(plik, "Kasa", kasa);
djSetInt(plik, "Score", score);
return 1;
}
stock PlayerName(playerid)
{
new imiegracza[MAX_PLAYER_NAME];
GetPlayerName(playerid, imiegracza, sizeof(imiegracza));
return imiegracza;
}
stock num_hash(buf[]) //wycinka z include dutils
{
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;
}
Mo?e kto? b?dzie wiedzia?.
Wysłany: 2014-03-01, 13:15
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Skoro u?ywasz srid?ejsona to u?ywaj te? jego funkcji:
http://gtao.pl.com/showth...76634#msg636899
Kod: stock AccountExists(nickname[]) {
return djIsSet("accounts.json",nickname,false);
}
Nie u?ywa?em nigdy tego shitu wi?c zbytnio nie pomog?, jedynie to mi do g?owy przychodzi.
Tagi: /informacja :: [info]
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: