Szerző Téma: Karakterválasztó eltűntetése  (Megtekintve 588 alkalommal)

Karakterválasztó eltűntetése
« Dátum: 2015. November 23. - 15:14:11 »
0 Show voters
Sziasztok! Mivel konkrétan nem tudom mi a probléma forrása, leírom mi történik.
Egy RP Modot írok, és a cél az lenne, hogy a jelszó beírása után egyből spawnolja le a játékost a városháza elé.
Jelenleg ami történik:
-Betölt a SA:MP
-Bedobja a Bejelentkező Dialogot
-Megjelenik a Truth skin, hátul a skinválasztóba, a Spawn, és a \'<<\', \'>>\' gombok.
Ha beírom a jelszót, és hibás kickel, ha jó, akkor bedob a skinválasztóba, és azt a skin változót(Skint) jeleníti meg, amit regisztrációkor nemtől függővé tettem (férfi esetében X skin, nő esetében Y skin)
-Ha a skincserélős nyilakra kattintok, újra bedobja a dialogot(ez nem is baj egyébként, hiszen ennek az eltörlése a cél, ha spawnolok lerakja a kívánt helyre. A cél az lenne, hogy a Skin változómat rakja le a megadott koordinátára.
Ahogy most néz ki a dolog:
OnGameModeInit-be:
 
   AddPlayerClass(Skin,1482.0975,-1683.1880,14.0859,179.4630,0,0,0,0,0,0);

 
OnPlayerRequestClass-be:
 
      SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
new file[256];
GetPlayerName(playerid, Nev,sizeof(Nev));
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
new string[256];
if(!fexist(file))
{
    format(string, sizeof string, \"Üdv %s! \\nA regisztrációhoz \\nadd meg a jelszavad!\", Nev);
    ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Mehet\", \"Kilépés\");
    }
if(fexist(file))
{
    format(string,sizeof string, \"Írd be a jelszavad:\");
    ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Mehet\", \"Mégse\");
}
return 1;
}

 
OnPlayerSpawn-ban:
 
public OnPlayerSpawn(playerid)
{
if(JatekosInfo[playerid][Regizett] == 0)
{
    ShowPlayerDialog(playerid, nemdialog, DIALOG_STYLE_LIST, \"Nem kiválasztása\", \"Férfi\\nNő\", \"Mehet\", \"\");
    JatekosInfo[playerid][Regizett] = 1;
}
SetPlayerSkin(playerid,JatekosInfo[playerid][skin]);
return 1;
}

 
Ha OnGameModeInitből kitörlöm Az AddPlayerClasst, a határba dobja ki a skint, némi repülés után. Csak azért írtam le mindent, mert nem igazán tudom hol kéne a hibát keresni. :( Nagy pacsi annak aki megoldja.

ᗩωєѕσмє

  • Vendég
Karakterválasztó eltűntetése
« Válasz #1 Dátum: 2015. November 23. - 16:04:50 »
0 Show voters
public OnPlayerConnect(playerid) {
        new file[256];
GetPlayerName(playerid, Nev,sizeof(Nev));
format(file,sizeof(file), \"/Karakterek/%s.ini\", Nev);
new string[256];
if(!fexist(file)) {
    format(string, sizeof string, \"Üdv %s! \\nA regisztrációhoz \\nadd meg a jelszavad!\", Nev);
    ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_PASSWORD, \"Regisztráció\", string, \"Mehet\", \"Kilépés\");
}
if(fexist(file)) {
    format(string,sizeof string, \"Írd be a jelszavad:\");
    ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", string, \"Mehet\", \"Mégse\");
}
        return 1;
}
public OnPlayerRequestClass(playerid, classid) {
        SpawnPlayer(playerid);
        return 1;
}

 
vagy úgy csinálod meg, hogy amint regisztrál, vagy beírja a jelszót, akkor egyből lespawnolja a SpawnPlayer funkció.

Karakterválasztó eltűntetése
« Válasz #2 Dátum: 2015. November 23. - 16:09:00 »
0 Show voters
Köszönöm, hát megcsináltam így, annyi változást tett, hogy eltűnt a Truth skines dolog, de a login után továbbra is ott van a Spawn gomb, és társai  :Cry2:
Ha:
public OnPlayerRequestClass(playerid, classid)
{
    SpawnPlayer(playerid);
        return 1;
}

 
Akkor bármely gombot nyomom meg, ((>>,<<,Spawn) lespawnolja,
ha pedig OnDialogRespone-ba is berakom,
          SendClientMessage(playerid,COLOR_GREEN, \"(( Sikeresen bejelentkeztél! ))\");
       
       SetPlayerSkin(playerid,JatekosInfo[playerid][skin]);
   SpawnPlayer(playerid);

 
Akkor pedig csak a Spawn gomb lenyomására történik bármi is...(de végre nem kell újra loginolni)
Valami olyasmi megoldás nem létezik, hogy OnPlayerRequestclasst ugorja át, vagy OnPlayerRequestClass-be nem csak egy sima Spawn(playerid);kerülne, hanem egy koordinátás függvény, mint pl AddPlayerClass?
Mert jelenleg:
 
public OnGameModeInit()
{
AddPlayerClass(0,1482.0975,-1683.1880,14.0859,179.4630,0,0,0,0,0,0);
return 1

 
Innen szedi a spawn koordinátát, gondolom...Bár ez csak egy ötlet.
« Utoljára szerkesztve: 2015. November 23. - 16:16:28 írta kacsaporkolt »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal