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: MonKey - 2016. Szeptember 10. - 22:26:02

Cím: Miért nem jó?
Írta: MonKey - 2016. Szeptember 10. - 22:26:02
Üdv ezt egy RP szerverbe készítettem:
 
public 
OnPlayerConnect(playerid)
{
    new name[24];
    GetPlayerName(playerid,name,sizeof(name));
    if(strcmp(\"BizonyosGamer\",name) != 0)
    {
}
else
{
new nameee[24], vanevonal=0;
GetPlayerName(playerid, nameee, 24);
for(new i;i<strlen(nameee);i++)
{
    if(nameee == \'_\') vanevonal++;
}
if(vanevonal == 0)
{
    SendClientMessage(playerid, narancs, \"Ez egy NON RP-s név. Válassz egy valóságos nevet (pl. James_Horran).\");
    Kick(playerid);
}
}
        return 1;
}

 
Az lenne a kérdésem hogy miért nem működik?
Egyik felét a MALIBU-módból a másikat \"Parancs névhez kötve?\" ből szedtem ki. \"+\" :yes:
Cím: Miért nem jó?
Írta: Radikal - 2016. Szeptember 10. - 23:22:13

 
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, name, sizeof(name));
// Has numbers
if(strfind(name, \"0\", true) != -1 || strfind(name, \"1\", true) != -1 || strfind(name, \"2\", true) != -1 || strfind(name, \"3\", true) != -1 || strfind(name, \"4\", true) != -1 || strfind(name, \"5\", true) != -1
|| strfind(name, \"6\", true) != -1 || strfind(name, \"7\", true) != -1 || strfind(name, \"8\", true) != -1 || strfind(name, \"9\", true) != -1 || strfind(name, \"[\", true) != -1 || strfind(name, \"]\", true) != -1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"SERVER: {FFFFFF}This is a RP Server, please reconnect using Firstname_Lastname format.\");
SendClientMessage(playerid, COLOR_LIGHTRED, \"SERVER: {FFFFFF}Also, please remove the numbers and/or tags in your name.\");
        new name[MAX_PLAYER_NAME+1], string[24+MAX_PLAYER_NAME+1];
       GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"%s has been kicked from the server for having a Non-RP name.\", name);
       SendClientMessageToAll(0xC4C4C4FF, string);
Kick(playerid);
}
// No Underscore
if(strfind( name, \"_\", true) == -1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, \"SERVER: {FFFFFF}This is a RP Server, please reconnect using Firstname_Lastname format.\");
        format(string, sizeof(string), \"%s has been kicked from the server for having a Non-RP name.\", name);
       SendClientMessageToAll(0xC4C4C4FF, string);
Kick(playerid);
}
return 1;
}

 
[/quote]
Eredeti link: http://forum.sa-mp.com/showthread.php?t=533592
Cím: Miért nem jó?
Írta: MonKey - 2016. Szeptember 10. - 23:51:45
Ebben hol van az hogy bizonyos személynek ne kelljen az RP-s név?
Cím: Miért nem jó?
Írta: Radikal - 2016. Szeptember 11. - 00:43:22
2 féle megoldás létezik(legalább is én így tudom). Az első az hogy senkinek nem kell rp-s nevet használni, hanem IG regisztrálsz és készítesz magadnak egy karakter melyben megadod a játékbeli nevedet. A másik pedig az hogy globálisan leolvassa a nevedet tehát hogy van-e \"_\" vagy nincs.
Cím: Miért nem jó?
Írta: gbr333 - 2016. Szeptember 11. - 08:15:54
Szia!
 
if(strcmp(\"BizonyosGamer\",name) != 0)

 
helyett:
 
if(strcmp(\"BizonyosGamer\",name) == 0)
Cím: Miért nem jó?
Írta: MonKey - 2016. Szeptember 11. - 09:55:20
Köszönöm szépen :)
Még annyit hogyha több nevet szeretnék \"Átengedni\"??
\"+\"!! :yes:  :thumbsup: ;)
Cím: Miért nem jó?
Írta: Memphis - 2016. Szeptember 11. - 10:08:48
if(strcmp(\"BizonyosGamer\",name) == 0) {
    //kód
} else if(strcmp(\"Kövinév\",name) == 0) {
    //kód
}

 
Ugyan így tovább
Cím: Miért nem jó?
Írta: gbr333 - 2016. Szeptember 11. - 10:14:19
Vagy:
 

new nevek[][] =
{
    \"Mivan\",
    \"Bolond\",
    \"David\"
};
 
new mehet[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
new name[ 24 ];
GetPlayerName(playerid, name , 24);
for( new i = 0; i < sizeof(nevek); i++ )
{
      if( strcmp(nevek,name) == 0)
      {
mehet[playerid] = 1;
}
}
if(mehet[playerid] == 0)
{
    new vanevonal=0;
for(new i;i<strlen(name);i++)
{
   if(name == \'_\') vanevonal++;
}
if(vanevonal == 0)
    {
        SendClientMessage(playerid, 1, \"Ez egy NON RP-s név. Válassz egy valóságos nevet (pl. James_Horran).\");
         Kick(playerid);
    }
    }
    return 1;
}

 
Nem teszteltem :/
Cím: Miért nem jó?
Írta: MonKey - 2016. Szeptember 11. - 10:48:51
Köszönöm + ok kiosztva
(De nem idézőjelben! ) :)