[pomoc] OnPlayerConnect

Započeo .G.h.0.s.T.
9. Jul 2013. Zaključano
247
pregleda
2
postova
Mike93
4
Enforcer
9. Jul 2013.
Gamemod: od 0
Problem: nece mi pokazati  dialog s pravilima kada dodjem na server. a kada sam "registriran" tj. imam account, onda mi pokaze login dialog.
Dio skripte:
public OnPlayerConnect(playerid)
{
    PI = 0;
    PI = 0;
    PI = 0;
    PI = 0;
    PI = 0;
PI = 0;

    new OPCstring;
    if(fexist(Path(playerid)))
    {
        INI_ParseFile(Path(playerid),"UcitajKorRacun_%s", .bExtra = true, .extra = playerid); //Will load user's data using INI_Parsefile.
  format(OPCstring,sizeof(OPCstring),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}je pronadjen {FFFFFF}u bazi podataka.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid));
SPD(playerid, D_PrijavaKorisnickogRacuna,3,"{005CE6}Prijava korisnickog racuna",OPCstring,"Prijava","Odjava");
    }
    else
    {
    new pravilastring;
new poruka1[] = "{FFCC00}Citanjem i prihvacanjem ovih uvjeta, koji su navedeni u donjem tekstu, biti ce vam dopusteno igrati na nasem serveru.\nTakoder se slazete da cete se pridrzavati pravila servera, foruma i Roleplaya. San Andreas Streets zajednica zadrzava pravo da u bilo koje vrijeme, izmjeni pravila ili napise potpuno nova.";
new poruka2[] = "\n\n{FF0000}Korisnicki racun i pravila\n{FFFFFF}    - Obvezni ste postovati Roleplay pravila koja su napisana na forumu.\n    - Vase Ime mora biti realno i u formatu Ime_Prezime pr.(Darko_Peric).\n    - Morate postivati druge igrace, kako zelite da oni postuju vas.\n    - Nas forum je : www.nesto.com.";
new poruka3[] = "\n{FF0000}Privatnost korisnickih racuna\n{FFFFFF}    - Ovom registracijom San Andreas Streets zajednica se obvezuje da u bilokojoj prilici nece odati vase podatke, ili podatke sa vaseg racuna.\n    - SAS RP zajednica ne odgovara za vasu lozinku i nece ju otkriti nikome. Sami odgovarate za vasu lozinku i duzni ste ju stititi.\n    - Nasa zajednica takoder nikada nece traziti vasu lozinku i podatke sa vaseg racuna, a ukoliko se to i dogodi VASU LOZNIKU I PODATKE NEMOJTE ODATI.";
new poruka4[] = "\n{FF0000}Zabranjeno je\n{FFFFFF}    - Koristenje Cheatova i propusta (bugova) koji vam daju bilokakvu prednost nad ostalim igracima.\n    - Bilokakvo vrijedanje na bilokakvoj osnovi. (rasnoj,nacionalnoj...).";
new poruka5[] = "\n\n{FFCC00}Pritiskom na tipku 'Prihvacam' prihvacate sve uvjete navedene u gornjem tekstu, te uvjete koristenja vaseg racuna, na nasem serveru ili forumu.\nSve promjene pravila saznati cete na forumu. Nasa zajednica zadrzava pravo ukidanja (brisanja) vaseg korisnickog racuna,\nukoliko se ne budete pridrzavali pravila/uvjeta koja su gore napisana, te pravila servera ili foruma.";
format(pravilastring,sizeof(pravilastring),"%s %s %s %s %s",poruka1,poruka2,poruka3,poruka4,poruka5);
SPD(playerid,D_Pravila,0,"{FF0000}Optimus Gaming Roleplay Uvjeti",pravilastring,"Prihvacam","Odbijam");
        return 1;
    }
return 1;
}


Slike/video: //
Mike93
4
Enforcer
9. Jul 2013.
znam Davide, sta treba raditi, al je problem u tom sto mi ne pokazuje dialog pravila, ako nisam registriran...samo mi prikaze one tipke sa << i >> i tipku spawn, i mogu se samo spawnat....nista vise

evo sam cijeli mod ako ce tako biti lakese.


//============================================================================//
//                              < Includes >                                  //
//============================================================================//
#include
#include < YSI\y_ini >
#include < foreach >
#include < sscanf2 >
//============================================================================//
//                              < Defines >                                  //
//============================================================================//
#define IME_SERVERA "[0.3x] Optimus Gaming Roleplay"
#define VERZIJA_SERVERA            "OG:RP |  v1.0"
#define IME_MAPE                    "• San Andreas •"
#define FORUM_SERVERA              "www.nesto.com"

// Dialogs //
#define D_Pravila                  2000
#define D_RegKorisnickogRacuna 2001
#define D_PrijavaKorisnickogRacuna  2002

/*#define USE_ZCMD_COMMANDS        true  // true / false
#define USE_STRCMP_COMMANDS      false // true / false*/

#define GPN                        GetPlayerName
#define SPD                        ShowPlayerDialog
#define SCM                        SendClientMessage
#define SCMTA                      SendClientMessageToAll

#define INI_Exists(%0)  fexist(%0)

#define UserPath      "Korisnicki racuni/%s.ini"

#define MIN_DUZ_LOZINKE 8
#define MAX_DUZ_LOZINKE 20
//============================================================================//
//                              < Enumators >                                //
//============================================================================//
enum PodaciIgraca
{
    pLozinka,
    pLevel,
    pAdmin,
    pNovac,
    pUbojstva,
    pSmrti,
pVIP
}
//============================================================================//
//                              < Arrays >                                    //
//============================================================================//
new PI;
//============================================================================//
//                              < Natives >                                  //
//============================================================================//
native WP_Hash(buffer[], len, const str[]);
//============================================================================//
//                              < Main >                                      //
//============================================================================//
main()
{
print(" ");
print(" ");
print(" ");
print(" ");
print("  -------------------------------------------");
print(" |        Optimus Gaming Roleplay v1.0        | ");
print(" |              By: Burki & Lonka            | ");
print("  -------------------------------------------");
print(" ");
print(" ");
print(" ");
print(" ");
}
//============================================================================//
//                              < Publics >                                  //
//============================================================================//
public OnGameModeInit()
{
new OGMIstring;
format(OGMIstring, sizeof(OGMIstring), "hostname %s",IME_SERVERA);
SendRconCommand(OGMIstring);
format(OGMIstring, sizeof(OGMIstring), "mapname %s",IME_MAPE);
SendRconCommand(OGMIstring);
format(OGMIstring, sizeof(OGMIstring), "weburl %s",FORUM_SERVERA);
SendRconCommand(OGMIstring);
SetGameModeText(VERZIJA_SERVERA);

/* AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);*/
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
/* SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);*/

return 1;
}

public OnPlayerConnect(playerid)
{
    PI = 0;
    PI = 0;
    PI = 0;
    PI = 0;
    PI = 0;
PI = 0;

    new OPCstring;
    if(fexist(Path(playerid)))
    {
        INI_ParseFile(Path(playerid),"UcitajKorRacun_%s", .bExtra = true, .extra = playerid); //Will load user's data using INI_Parsefile.
  format(OPCstring,sizeof(OPCstring),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}je pronadjen {FFFFFF}u bazi podataka.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid));
SPD(playerid, D_PrijavaKorisnickogRacuna,3,"{005CE6}Prijava korisnickog racuna",OPCstring,"Prijava","Odjava");
    }
    else
    {
    new pravilastring;
new poruka1[] = "{FFCC00}Citanjem i prihvacanjem ovih uvjeta, koji su navedeni u donjem tekstu, biti ce vam dopusteno igrati na nasem serveru.\nTakoder se slazete da cete se pridrzavati pravila servera, foruma i Roleplaya. San Andreas Streets zajednica zadrzava pravo da u bilo koje vrijeme, izmjeni pravila ili napise potpuno nova.";
new poruka2[] = "\n\n{FF0000}Korisnicki racun i pravila\n{FFFFFF}    - Obvezni ste postovati Roleplay pravila koja su napisana na forumu.\n    - Vase Ime mora biti realno i u formatu Ime_Prezime pr.(Darko_Peric).\n    - Morate postivati druge igrace, kako zelite da oni postuju vas.\n    - Nas forum je : www.nesto.com.";
new poruka3[] = "\n{FF0000}Privatnost korisnickih racuna\n{FFFFFF}    - Ovom registracijom San Andreas Streets zajednica se obvezuje da u bilokojoj prilici nece odati vase podatke, ili podatke sa vaseg racuna.\n    - SAS RP zajednica ne odgovara za vasu lozinku i nece ju otkriti nikome. Sami odgovarate za vasu lozinku i duzni ste ju stititi.\n    - Nasa zajednica takoder nikada nece traziti vasu lozinku i podatke sa vaseg racuna, a ukoliko se to i dogodi VASU LOZNIKU I PODATKE NEMOJTE ODATI.";
new poruka4[] = "\n{FF0000}Zabranjeno je\n{FFFFFF}    - Koristenje Cheatova i propusta (bugova) koji vam daju bilokakvu prednost nad ostalim igracima.\n    - Bilokakvo vrijedanje na bilokakvoj osnovi. (rasnoj,nacionalnoj...).";
new poruka5[] = "\n\n{FFCC00}Pritiskom na tipku 'Prihvacam' prihvacate sve uvjete navedene u gornjem tekstu, te uvjete koristenja vaseg racuna, na nasem serveru ili forumu.\nSve promjene pravila saznati cete na forumu. Nasa zajednica zadrzava pravo ukidanja (brisanja) vaseg korisnickog racuna,\nukoliko se ne budete pridrzavali pravila/uvjeta koja su gore napisana, te pravila servera ili foruma.";
format(pravilastring,sizeof(pravilastring),"%s %s %s %s %s",poruka1,poruka2,poruka3,poruka4,poruka5);
SPD(playerid,D_Pravila,0,"{FF0000}Optimus Gaming Roleplay Uvjeti",pravilastring,"Prihvacam","Odbijam");
        return 1;
    }
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
OdjavaKorRacuna(playerid);
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
PI ++;
PI ++;
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
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 OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
    {
    case D_Pravila:
    {
        if(response)
        {
            new regstring;
            SCM(playerid,-1,"{1E90FF}>> INFO || {FFFFFF}Prihvatili ste uvjete. Mozete nastaviti s registracijom korisnickog racuna.");
            format(regstring,sizeof(regstring),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}nije pronadjen {FFFFFF}u bazi podataka.\n\n{FFD700}Lozinka{FFFFFF}:\n    - Mora biti {FFD700}veca od %d{FFFFFF} te {FFD700}manja od %d{FFFFFF} znakova.\n    -Ne smije sadrzavati {FFD700}razmake{FFFFFF}.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid),MIN_DUZ_LOZINKE,MAX_DUZ_LOZINKE);
SPD(playerid,D_RegKorisnickogRacuna,1,"{FFD700}Registracija korisnickog racuna",regstring,"Registracija","Izlaz");
}
else
{
    SCM(playerid,-1,"{FF0000}>> PetarAC || {FFFFFF}Niste prihvatili uvjete. Ne mozete nastaviti s registracijom korisnickog racuna.");
    Kick(playerid);
}
}
  case D_RegKorisnickogRacuna:
  {
        if(response)
        {
        if(!strlen(inputtext))
            {
            new LozinkaString;
            SCM(playerid,-1,"{FF0000}>> PetarAC || {FFFFFF}Niste upisali zeljenu lozinku. Molimo pokusajte ponovno!");
            format(LozinkaString,sizeof(LozinkaString),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}nije pronadjen {FFFFFF}u bazi podataka.\n\n{FFD700}Lozinka{FFFFFF}:\n    - Mora biti {FFD700}veca od %d{FFFFFF} te {FFD700}manja od %d{FFFFFF} znakova.\n    -Ne smije sadrzavati {FFD700}razmake{FFFFFF}.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid),MIN_DUZ_LOZINKE,MAX_DUZ_LOZINKE);
SPD(playerid,D_RegKorisnickogRacuna,1,"{FFD700}Registracija korisnickog racuna",LozinkaString,"Registracija","Izlaz");
                return 1;
            }
  else if(strlen(inputtext) < MIN_DUZ_LOZINKE)
        {
            new LozinkaString;
            format(LozinkaString, sizeof LozinkaString, "{FF0000}>> PetarAC || {FFFFFF}Lozinka mora sadrzati najmanje %d znakova. Molimo pokusajte ponovno!", MIN_DUZ_LOZINKE);
            SCM(playerid, -1, LozinkaString);
            format(LozinkaString,sizeof(LozinkaString),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}nije pronadjen {FFFFFF}u bazi podataka.\n\n{FFD700}Lozinka{FFFFFF}:\n    - Mora biti {FFD700}veca od %d{FFFFFF} te {FFD700}manja od %d{FFFFFF} znakova.\n    -Ne smije sadrzavati {FFD700}razmake{FFFFFF}.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid),MIN_DUZ_LOZINKE,MAX_DUZ_LOZINKE);
SPD(playerid,D_RegKorisnickogRacuna,1,"{FFD700}Registracija korisnickog racuna",LozinkaString,"Registracija","Izlaz");
}
else if(strlen(inputtext) > MAX_DUZ_LOZINKE)
{
            new LozinkaString;
            format(LozinkaString, sizeof LozinkaString, "{FF0000}>> PetarAC || {FFFFFF}Lozinka mora sadrzati najvise %d znakova. Molimo pokusajte ponovno!", MAX_DUZ_LOZINKE);
            SCM(playerid, -1, LozinkaString);
            format(LozinkaString,sizeof(LozinkaString),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}nije pronadjen {FFFFFF}u bazi podataka.\n\n{FFD700}Lozinka{FFFFFF}:\n    - Mora biti {FFD700}veca od %d{FFFFFF} te {FFD700}manja od %d{FFFFFF} znakova.\n    -Ne smije sadrzavati {FFD700}razmake{FFFFFF}.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid),MIN_DUZ_LOZINKE,MAX_DUZ_LOZINKE);
SPD(playerid,D_RegKorisnickogRacuna,1,"{FFD700}Registracija korisnickog racuna",LozinkaString,"Registracija","Izlaz");
}
else if(strlen(inputtext) >= MIN_DUZ_LOZINKE && strlen(inputtext) <= MAX_DUZ_LOZINKE)
{
    RegistracijaKorRacuna(playerid, inputtext);
new tstring;
                    format(tstring,sizeof(tstring), "{1E90FF}>> INFO || {FFFFFF}Registrirali ste se s Imenom {FFFF00}%s {FFFFFF}i lozinkom {FFFF00}%s{FFFFFF}, automatski ste prijavljeni!", ImeIgraca(playerid), inputtext);
                    SCM(playerid, -1, tstring);
                    return 1;
}
}
else
{
    SCM(playerid,-1,"{FF0000}>> PetarAC || {FFFFFF}Niste registrirali Vas korisnicki racun. Izbaceni ste!");
    Kick(playerid);
}
    }
    case D_PrijavaKorisnickogRacuna:
    {
        if(response)
        {
PrijavaKorRacuna(playerid, inputtext);

        }
else
{
    SCM(playerid,-1,"{FF0000}>> PetarAC || {FFFFFF}Odustali ste od prijave na Vas korisnicki racun. Izbaceni ste!");
    Kick(playerid);
}
    }
    }
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

forward UcitajKorRacun_user(playerid,name[],value[]);
public UcitajKorRacun_user(playerid, name[], value[])
{
    INI_String("Lozinka", PI, 129);
    INI_Int("Level", PI);
    INI_Int("Admin", PI);
    INI_Int("Novac", PI);
    INI_Int("VIP", PI);
    INI_Int("Ubojstva", PI);
    INI_Int("Smrti", PI);
    return 1;
}

RegistracijaKorRacuna(playerid, password[])
{
new hashpass;
WP_Hash(hashpass,sizeof(hashpass),password);
  new INI:Fajl = INI_Open(Path(playerid));
  INI_SetTag(Fajl,"Podaci korisnickog racuna");
  INI_WriteString(Fajl,"Lozinka", hashpass);
    INI_WriteInt(Fajl,"Level", 0);
    INI_WriteInt(Fajl,"Admin", 0);
    INI_WriteInt(Fajl,"Novac", 0);
    INI_WriteInt(Fajl,"VIP", 0);
    INI_WriteInt(Fajl,"Ubojstva", 0);
    INI_WriteInt(Fajl,"Smrti", 0);
    INI_Close(Fajl);
    return 1;
}

PrijavaKorRacuna(playerid, password[])
{
new hashpass, pkrstring;
WP_Hash(hashpass,sizeof(hashpass),password);
if(!strcmp(hashpass,PI))
{
  INI_ParseFile(Path(playerid),"UcitajKorRacun_%s",.bExtra = true, .extra = playerid);
    SetPlayerScore(playerid,PI);
    GivePlayerMoney(playerid,PI);
    }
  else
    {
SCM(playerid,-1,"{FF0000}>> PetarAC || {FFFFFF}Pogresno ste upisali lozinku. Molimo pokusajte ponovno!");
format(pkrstring,sizeof(pkrstring),"{FFFFFF}Dobrodosli na {FFD700}Optimus Gaming Roleplay{FFFFFF}.\n\nIme i Prezime: {FFD700}%s{FFFFFF}.\n\nVas korisnicki racun {FFD700}je pronadjen {FFFFFF}u bazi podataka.\n\nMolimo upisite Vasu {FFD700}lozinku {FFFFFF}ispod:",ImeIgraca(playerid));
SPD(playerid, D_PrijavaKorisnickogRacuna,3,"{005CE6}Prijava korisnickog racuna",pkrstring,"Prijava","Odjava");
        return 1;
    }
    return 1;
}

OdjavaKorRacuna(playerid)
{
new INI:Fajl = INI_Open(Path(playerid));
INI_SetTag(Fajl,"Podaci korisnickog racuna");
    INI_WriteInt(Fajl, "Level", PI);
    INI_WriteInt(Fajl, "Admin", PI);
    INI_WriteInt(Fajl, "Novac", PI);
    INI_WriteInt(Fajl, "VIP", PI);
    INI_WriteInt(Fajl, "Ubojstva", PI);
    INI_WriteInt(Fajl, "Smrti", PI);
    INI_Close(Fajl);
    return 1;
}
//============================================================================//
//                              < Stocks >                                    //
//============================================================================//
stock Path(playerid)
{
    new str,name;
    GPN(playerid,name,sizeof(name));
    format(str,sizeof(str),UserPath,name);
    return str;
}

stock OcistiChat(playerid)
{
for(new i=0; i<100; i++)
{
SCM(playerid, -1, " ");
}
return 1;
}

stock ImeIgraca(playerid)
{
    new iIme;
    GPN(playerid,iIme,sizeof(iIme));
    return iIme;
}

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha