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: Devil112 - 2016. január 08. - 14:20:28

Cím: Csatlakozás
Írta: Devil112 - 2016. január 08. - 14:20:28
Sziasztok.
Azt szeretném megcsinálni, ha belépek ne egyből adja be a panelt, hanem be keljen írni, hogy /register, /login
Valaki tudna segíteni?
 
public OnPlayerRequestClass(playerid, classid)
{
PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
    SetPlayerCameraPos(playerid, -1538.7518310547,2471.9030761719,121.8024520874);
SetPlayerCameraLookAt(playerid, -1515.3344726563,2556.5407714844,73.968368530273);
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
ClearChatbox(playerid, 10);
if (gPlayerAccount[playerid] != 0)
{
        new string2[60];
       new jatekosnev[MAX_PLAYER_NAME];
       GetPlayerName(playerid, jatekosnev, sizeof(jatekosnev));
       format(string2, sizeof(string2), \"{00eaff}Üdvözöllek a szerveren {fff700}%s!\",jatekosnev);
   SendClientMessage(playerid, COLOR_LOGIN,string2);
       format(string2, sizeof(string2), \"Kérdésed van fordulj adminsegédeinkhez.(( /report ))\");
   SendClientMessage(playerid, COLOR_LOGIN,string2);
   new loginstring[128];
   new loginname[MAX_PLAYER_NAME];
   GetPlayerName(playerid,loginname,sizeof(loginname));
   format(loginstring,sizeof(loginstring),\"Regisztrálva vagy.\\nÍrd be a helyes jelszavad:\",loginname);
   ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,\"Login panel\",loginstring,\"Belépés\",\"Kilépés\");
}
else
{
   gPlayerAccount[playerid] = 0;
      new regstring[128];
   new regname[MAX_PLAYER_NAME];
   GetPlayerName(playerid,regname,sizeof(regname));
   format(regstring,sizeof(regstring),\"Üdvözöllek, %s\\nKérlek regisztrálj!\\nJelszó:\",regname);
   ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,\"Regisztrációs panel\",regstring,\"Regisztrál\",\"Kilépés\");
}
PlayerPlaySound(playerid, 1187, 0.0, 0.0, 0.0);
SetPlayerTeamFromClass(playerid,classid);
}
return false;
}
Cím: Csatlakozás
Írta: zsoolt997 - 2016. január 08. - 14:57:21
A második feltétel alatti részt tedd át egy parancsba, ez \"else\" elágazás alatti részt meg tedd át egy másik parancsba. Nyílván az első lesz a /register, a második a /login. Ennyi.
Cím: Csatlakozás
Írta: Devil112 - 2016. január 08. - 15:44:02
Megcsináltam, de két hibát még kiad, ezt hogy kell megcsinálni?
HIBA:
 
C:\\Users\\user\\Desktop\\SA-MP szerver\\gamemodes\\afterlife.pwn(21868) : error 017: undefined symbol \"cmd\"
C:\\Users\\user\\Desktop\\SA-MP szerver\\gamemodes\\afterlife.pwn(21895) : error 017: undefined symbol \"cmd\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
2 Errors.

 
SCRIPT:
 
//----------------------[ Belépés ]-----------------------
public OnPlayerRequestClass(playerid, classid)
{
if (strcmp(cmd, \"/login\", true) == 0)
{
PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
    SetPlayerCameraPos(playerid, -1538.7518310547,2471.9030761719,121.8024520874);
SetPlayerCameraLookAt(playerid, -1515.3344726563,2556.5407714844,73.968368530273);
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
ClearChatbox(playerid, 10);
if (gPlayerAccount[playerid] != 0)
{
        new string2[60];
       new jatekosnev[MAX_PLAYER_NAME];
       GetPlayerName(playerid, jatekosnev, sizeof(jatekosnev));
       format(string2, sizeof(string2), \"{00eaff}Üdvözöllek a szerveren {fff700}%s!\",jatekosnev);
   SendClientMessage(playerid, COLOR_LOGIN,string2);
       format(string2, sizeof(string2), \"Kérdésed van fordulj adminsegédeinkhez.(( /report ))\");
   SendClientMessage(playerid, COLOR_LOGIN,string2);
   new loginstring[128];
   new loginname[MAX_PLAYER_NAME];
   GetPlayerName(playerid,loginname,sizeof(loginname));
   format(loginstring,sizeof(loginstring),\"Írd be a helyes jelszavad:\",loginname);
   ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,\"Login panel\",loginstring,\"Belépés\",\"Kilépés\");
}
}
}
//------------------------[ regisztráció ]-----------------------//
if (strcmp(cmd, \"/register\", true) == 0)
{
PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
    SetPlayerCameraPos(playerid, -1538.7518310547,2471.9030761719,121.8024520874);
SetPlayerCameraLookAt(playerid, -1515.3344726563,2556.5407714844,73.968368530273);
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
ClearChatbox(playerid, 10);
if (gPlayerAccount[playerid] != 0)
{
        new string2[60];
       new jatekosnev[MAX_PLAYER_NAME];
       GetPlayerName(playerid, jatekosnev, sizeof(jatekosnev));
       format(string2, sizeof(string2), \"{00eaff}Üdvözöllek a szerveren {fff700}%s!\",jatekosnev);
   SendClientMessage(playerid, COLOR_LOGIN,string2);
       format(string2, sizeof(string2), \"Kérdésed van fordulj adminsegédeinkhez.(( /report ))\");
   SendClientMessage(playerid, COLOR_LOGIN,string2);
   gPlayerAccount[playerid] = 0;
      new regstring[128];
   new regname[MAX_PLAYER_NAME];
   GetPlayerName(playerid,regname,sizeof(regname));
   format(regstring,sizeof(regstring),\"Kérlek regisztrálj!\\nJelszó:\",regname);
   ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,\"Regisztrációs panel\",regstring,\"Regisztrál\",\"Kilépés\");
}
}
}
return 1;
}
Cím: Csatlakozás
Írta: zsoolt997 - 2016. január 08. - 16:59:11
Ez mind szép és jó, csak ne az alá a callback alá rakd. Rakd ez alá: OnPlayerCommandText( playerid, cmtext[  ] )
És a cmd-t cseréld ki cmdtext-re.
Cím: Csatlakozás
Írta: Devil112 - 2016. január 09. - 16:37:41
Most vagy én rontottam el valammit vgy nem értem..
Beraktam oda és kifagy a pawno :(
Cím: Csatlakozás
Írta: TengeriMalac - 2016. január 09. - 19:16:20
milyen parancsfeldolgozót használsz?
Cím: Csatlakozás
Írta: Devil112 - 2016. január 10. - 12:11:13
pawno
Cím: Csatlakozás
Írta: ᗩωєѕσмє - 2016. január 10. - 12:31:20
Nem azt kérdezte, hogy mivel futtatod le a kódot, hanem azt, hogy milyen parancsfeldolgozót használsz.
Használj ZCMD-t, sokkal jobb lesz vele hidd el, és a pawno sem fog kifagyni.
(( https://sampforum.hu/index.php?topic=10780.0 ))
Cím: Csatlakozás
Írta: BVZS - 2016. január 10. - 13:04:00
így?
ZCMD letöltés
 

#include <zcmd>
CMD:login(playerid, params[])
{
PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
SetPlayerCameraPos(playerid, -1538.7518310547,2471.9030761719,121.8024520874);
SetPlayerCameraLookAt(playerid, -1515.3344726563,2556.5407714844,73.968368530273);
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
ClearChatbox(playerid, 10);
if (gPlayerAccount[playerid] != 0)
{
    new string2[60];
   new jatekosnev[MAX_PLAYER_NAME];
   GetPlayerName(playerid, jatekosnev, sizeof(jatekosnev));
   format(string2, sizeof(string2), \"{00eaff}Üdvözöllek a szerveren {fff700}%s!\",jatekosnev);
    SendClientMessage(playerid, COLOR_LOGIN,string2);
   format(string2, sizeof(string2), \"Kérdésed van fordulj adminsegédeinkhez.(( /report ))\");
    SendClientMessage(playerid, COLOR_LOGIN,string2);
    new loginstring[128];
    new loginname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),\"Írd be a helyes jelszavad:\",loginname);
    ShowPlayerDialog(playerid,12346,DIALOG_STYLE_PASSWORD,\"Login panel\",loginstring,\"Belépés\",\"Kilépés\");
}
}
return 1;
}
CMD:register(playerid, params[])
{
    PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
    SetPlayerCameraPos(playerid, -1538.7518310547,2471.9030761719,121.8024520874);
    SetPlayerCameraLookAt(playerid, -1515.3344726563,2556.5407714844,73.968368530273);
    if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
    {
ClearChatbox(playerid, 10);
if (gPlayerAccount[playerid] != 0)
{
    new string2[60];
   new jatekosnev[MAX_PLAYER_NAME];
   GetPlayerName(playerid, jatekosnev, sizeof(jatekosnev));
   format(string2, sizeof(string2), \"{00eaff}Üdvözöllek a szerveren {fff700}%s!\",jatekosnev);
    SendClientMessage(playerid, COLOR_LOGIN,string2);
   format(string2, sizeof(string2), \"Kérdésed van fordulj adminsegédeinkhez.(( /report ))\");
    SendClientMessage(playerid, COLOR_LOGIN,string2);
    gPlayerAccount[playerid] = 0;
    new regstring[128];
    new regname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,regname,sizeof(regname));
    format(regstring,sizeof(regstring),\"Kérlek regisztrálj!\\nJelszó:\",regname);
    ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,\"Regisztrációs panel\",regstring,\"Regisztrál\",\"Kilépés\");
}
}
return 1;
}
Cím: Csatlakozás
Írta: Devil112 - 2016. január 10. - 13:21:57
Még annyi, hogy amikor csatlakozik fel, és az elején ott alul még ott van, hogy spawn meg még két dolog, hogy lehet azt megcsinálni, hogy az ne legyen ott?
Mert csak login után tűnik el.

Dupla hozzászólás automatikusan összefûzve. ( 2016. január 10. - 13:27:08 )

A login jó, de a regisztráció nem jó, nem jön ki a text.
Cím: Csatlakozás
Írta: BVZS - 2016. január 10. - 16:18:12
Hát az a spawn és nyilacskás dolog az OnPlayerRequestClass-nál jelenik meg, vagyis ha azt szeretnéd, hogy eltűnjön, először spawnolnod kell a játékost SpawnPlayer(playerid);-vel, és OnPlayerSpawn alá rakod a \"bejelentkező\" képernyőt.
Cím: Csatlakozás
Írta: KovaNovik - 2016. január 10. - 16:40:28
Olyankor nem tudod lespawnolni. Jobb lesz, ha TogglePlayerSpectating()-et használsz.