Szerző Téma: Csatlakozás  (Megtekintve 1162 alkalommal)

Csatlakozás
« Dátum: 2016. január 08. - 14:20:28 »
0 Show voters
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;
}

Csatlakozás
« Válasz #1 Dátum: 2016. január 08. - 14:57:21 »
0 Show voters
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.

Csatlakozás
« Válasz #2 Dátum: 2016. január 08. - 15:44:02 »
0 Show voters
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;
}

Csatlakozás
« Válasz #3 Dátum: 2016. január 08. - 16:59:11 »
0 Show voters
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.

Csatlakozás
« Válasz #4 Dátum: 2016. január 09. - 16:37:41 »
0 Show voters
Most vagy én rontottam el valammit vgy nem értem..
Beraktam oda és kifagy a pawno :(

Csatlakozás
« Válasz #5 Dátum: 2016. január 09. - 19:16:20 »
0 Show voters
milyen parancsfeldolgozót használsz?

Csatlakozás
« Válasz #6 Dátum: 2016. január 10. - 12:11:13 »
0 Show voters
pawno

ᗩωєѕσмє

  • Vendég
Csatlakozás
« Válasz #7 Dátum: 2016. január 10. - 12:31:20 »
0 Show voters
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 ))

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Csatlakozás
« Válasz #8 Dátum: 2016. január 10. - 13:04:00 »
0 Show voters
í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;
}

Csatlakozás
« Válasz #9 Dátum: 2016. január 10. - 13:21:57 »
0 Show voters
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.
« Utoljára szerkesztve: 2016. január 10. - 13:27:08 írta Devil112 »

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Csatlakozás
« Válasz #10 Dátum: 2016. január 10. - 16:18:12 »
0 Show voters
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.

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Csatlakozás
« Válasz #11 Dátum: 2016. január 10. - 16:40:28 »
0 Show voters
Olyankor nem tudod lespawnolni. Jobb lesz, ha TogglePlayerSpectating()-et használsz.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal