GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: kizo45 - 2013. szeptember 19. - 10:59:05

Cím: Rcon Belépés
Írta: kizo45 - 2013. szeptember 19. - 10:59:05
Hogy lehetne azt megmooldani hogy csak akor irhatja be a rcon jelszót ha a scriptbe õ van beírva, ha nem akkor kibanolja!
Cím: Rcon Belépés
Írta: BoOy - 2013. szeptember 19. - 16:00:05
Nem teszteltem de remélem jó.
 
new name[][]{
{\"Pistike\"}, // Itt vannak a nevek
{\"Maris\"}
}
public OnRconLoginAttempt(ip[], password[], success)
{
new pip[16],pname[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++)
{
GetPlayerIp(i, pip, sizeof(pip));
GetPlayerName(i,pname,sizeof(pname));
for(new x;x<3;x++)
{
   if(strcmp(pname,name
  • [],true))

   {
      if(!strcmp(ip, pip, true))
      {
                SendClientMessage(i, 0xFFFFFFFF, \"Nem vagy a nevek között! Sajnálom!\");
                Ban(i);
        }
    }
}
}
return 1;
}
Cím: Rcon Belépés
Írta: kizo45 - 2013. szeptember 20. - 21:38:35
C:\\ssfdsfdfsd\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(24373) : error 009: invalid array size (negative, zero or out of bounds)
C:\\sfdsfsfd\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(24387) : error 029: invalid expression, assumed zero
C:\\gdgfdgg\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(25807) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\dgddgdg\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(26090) : error 021: symbol already defined: \"OnRconLoginAttempt\"
C:\\dfdgdfgd\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(28944) : warning 219: local variable \"name\" shadows a variable at a preceding level
Pawn compiler 3.2.3664           Copyright (c) 1997-2001, ITB CompuPhase
 
3 Errors.
Cím: Rcon Belépés
Írta: BoOy - 2013. szeptember 20. - 22:05:49
Most próbáld meg:
 
new name[][] =
{
        {\"Pistike\"}, // Itt vannak a nevek
        {\"Maris\"}
};
public OnRconLoginAttempt(ip[], password[], success)
{
        new pip[16],pname[MAX_PLAYER_NAME];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
                GetPlayerIp(i, pip, sizeof(pip));
                GetPlayerName(i,pname,sizeof(pname));
                for(new x;x<3;x++)
                {
                    if(strcmp(pname,name
  • ,true))

                    {
                            if(!strcmp(ip, pip, true))
                            {
                          SendClientMessage(i, 0xFFFFFFFF, \"Nem vagy a nevek között! Sajnálom!\");
                          Ban(i);
                          }
                   }
                }
        }
        return 1;
}
Cím: Rcon Belépés
Írta: kizo45 - 2013. szeptember 21. - 10:55:10
C:\\dfsdffssf\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(24758) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\dsfdsfdsfdsfdfd\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(25870) : warning 219: local variable \"name\" shadows a variable at a preceding level
C:\\dfdssdsfdfssf\\User\\Asztal\\FR 2013\\gamemodes\\freeroamEN.pwn(29030) : warning 219: local variable \"name\" shadows a variable at a preceding level
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
3 Warnings.
Cím: Rcon Belépés
Írta: BoOy - 2013. szeptember 21. - 11:00:22
hmm pedig nekem már nincs error.
 

new bname[][] =
{
        {\"Pistike\"}, // Itt vannak a nevek
        {\"Maris\"}
};
public OnRconLoginAttempt(ip[], password[], success)
{
        new pip[16],pname[MAX_PLAYER_NAME];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
                GetPlayerIp(i, pip, sizeof(pip));
                GetPlayerName(i,pname,sizeof(pname));
                for(new x;x<3;x++)
                {
                    if(strcmp(pname,bname
  • ,true))

                    {
                            if(!strcmp(ip, pip, true))
                            {
                                SendClientMessage(i, 0xFFFFFFFF, \"Nem vagy a nevek között! Sajnálom!\");
                                Ban(i);
                                }
                        }
                }
        }
        return 1;
}
Cím: Rcon Belépés
Írta: ZyZu. - 2013. szeptember 21. - 11:02:48
new tulajok[][] =
{
        {\"Pistike\"}, // Itt vannak a nevek
        {\"Maris\"}
};
public OnRconLoginAttempt( ip[ ], password[ ], success )
{
        new pip[ 20 + 1 ];
        for( new i=0; i<MAX_PLAYERS; i++ )   {
        GetPlayerIp( i, pip, sizeof( pip ));
        for( new x;x<3;x++ ) {
        if( strcmp( pName( i ), tulajok[ x ], true )) {
        if( !strcmp( ip, pip, true )) {
        SendClientMessage( i, 0xFFFFFFFF, \"{ff0000}[Hiba]: {ffffff}Nem vagy a tulajok között!\" );
        Ban( i );
        } } } }
        return 1;
}
stock pName( playerid )
{
new name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, name, sizeof name );
return name;
}

 
Röviditettem egy kicsit a kódot és hozzáírtam egy pName stockot.. probáld így meg.
Cím: Rcon Belépés
Írta: TengeriMalac - 2013. szeptember 21. - 11:33:44
gondolom nem 3 nevet akar használni, ezért ésszerûbb így
 
for( new x;x<3;x++ )

 
helyett
 
for(new x = 0; x < sizeof(tulajok); x++)
Cím: Rcon Belépés
Írta: BoOy - 2013. szeptember 21. - 11:36:42
Idézetet írta: TengeriMalac date=1379756024\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42890\" data-ipsquote-contentclass=\"forums_Topic
gondolom nem 3 nevet akar használni, ezért ésszerûbb így
 
for( new x;x<3;x++ )

 
helyett
 
for(new x = 0; x < sizeof(tulajok); x++)

 

Viszont akkor az utolsó nevet nem fogja engedni.
 
for(new x = 0; x < sizeof(tulajok)+1; x++)
Cím: Rcon Belépés
Írta: kizo45 - 2013. szeptember 21. - 11:44:21
Idézetet írta: BoOy date=1379707549\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42890\" data-ipsquote-contentclass=\"forums_Topic
Most próbáld meg:
 
new name[][] =
{
        {\"Pistike\"}, // Itt vannak a nevek
        {\"Maris\"}
};
public OnRconLoginAttempt(ip[], password[], success)
{
        new pip[16],pname[MAX_PLAYER_NAME];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
                GetPlayerIp(i, pip, sizeof(pip));
                GetPlayerName(i,pname,sizeof(pname));
                for(new x;x<3;x++)
                {
                    if(strcmp(pname,name
  • ,true))

                    {
                            if(!strcmp(ip, pip, true))
                            {
                          SendClientMessage(i, 0xFFFFFFFF, \"Nem vagy a nevek között! Sajnálom!\");
                          Ban(i);
                          }
                   }
                }
        }
        return 1;
}

 

Na ez jó name helyett playername van a módba és igy nem errorozik. Pill most tesztelem :D
UI. leteszteltem és hibás. Pistike és Marist is banolja.

Dupla hozzászólás automatikusan összefûzve. ( 2013. szeptember 21. - 12:00:41 )


 
new tulajok[][] =
{
        {\"Pistike\"}, // Itt vannak a nevek
        {\"Maris\"}
};
public OnRconLoginAttempt( ip[ ], password[ ], success )
{
        new pip[ 20 + 1 ];
        for( new i=0; i<MAX_PLAYERS; i++ )   {
        GetPlayerIp( i, pip, sizeof( pip ));
        for( new x;x<3;x++ ) {
        if( strcmp( pName( i ), tulajok[ x ], true )) {
        if( !strcmp( ip, pip, true )) {
        SendClientMessage( i, 0xFFFFFFFF, \"{ff0000}[Hiba]: {ffffff}Nem vagy a tulajok között!\" );
        Ban( i );
        } } } }
        return 1;
}
stock pName( playerid )
{
new name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, name, sizeof name );
return name;
}

 
Röviditettem egy kicsit a kódot és hozzáírtam egy pName stockot.. probáld így meg.
 
[/quote]
Ez se jó ugyanaz a hiba még  a tulajokat is kibanolja.