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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Zippanto - 2016. Március 23. - 13:59:50

Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 13:59:50
Sziasztok! Az lenne a problémám, hogy mikor kiválasztom a nememet akkor meghalok.. :S Ez csak az új játékosokkal fordul elő, akik még regisztrálnak.
 
if(dialogid == DIALOG_NEM)
{
    if(response)
    {
        switch(listitem)
   {
       case 0:
       {
           SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Férfi {ffffff}))\");
           PlayerInfo[playerid][Neme] = 1;
                   format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Férfi\",pname(playerid),PlayerInfo[playerid][Eletkor]);
         SendAdminMessage(LIGHTRED,string);
         SetPlayerHealth(playerid,100);
         TogglePlayerSpectating(playerid,0);
         TogglePlayerControllable(playerid,1);
         SetPlayerInterior(playerid,0),
         SetPlayerVirtualWorld(playerid,0);
         SetCameraBehindPlayer(playerid);
         SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
         TimeFreeze(playerid,1000);
       }
       case 1:
       {
           SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Nő {ffffff}))\");
           PlayerInfo[playerid][Neme] = 2;
                   format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Nő\",pname(playerid),PlayerInfo[playerid][Eletkor]);
         SendAdminMessage(LIGHTRED,string);
         SetPlayerHealth(playerid,100);
         TogglePlayerSpectating(playerid,0);
         TogglePlayerControllable(playerid,1);
         SetPlayerInterior(playerid,0),
         SetPlayerVirtualWorld(playerid,0);
         SetCameraBehindPlayer(playerid);
         SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
         TimeFreeze(playerid,1000);
       }
       case 2:
       {
           ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
       }
   }
    }
    else ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
}
Cím: Első belépésnél halál.
Írta: BackUP - 2016. Március 23. - 14:06:36
SetPlayerHealth(playerid,100.0);

 
Próbáld ki, illetve az onplayerspawn alatti részt is bemásolnád?
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 14:38:37
a kódban benne v h ad 100 életet neki.
 
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(egyezik(npcname, \"NPC_LS_BUS01\", true))
    {
   PutPlayerInVehicle(playerid, lsbus01, 0);
        SetPlayerSkin(playerid,147);
     }
    return 1;
}
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 998);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 998);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 998);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 998);
SetPlayerScore(playerid,PlayerInfo[playerid][szint]);
SetPlayerHealth(playerid,PlayerInfo[playerid][HP]);
SetPlayerArmour(playerid,PlayerInfo[playerid][AP]);
TogglePlayerSpectating(playerid, 0);
if(PlayerInfo[playerid][Civilruha] == 0)
{
    SetPlayerSkin(playerid,26);
    PlayerInfo[playerid][Civilruha] = 26;
}
if(PlayerInfo[playerid][Civilruha] != 0)
{
    SetPlayerSkin(playerid,PlayerInfo[playerid][Civilruha]);
}
if(PlayerInfo[playerid][Korhaz] == 1)
{
    new randkorhaz = random(sizeof(RandomKorhaz));
SetPlayerPos(playerid, RandomKorhaz[randkorhaz][0],RandomKorhaz[randkorhaz][1],RandomKorhaz[randkorhaz][2]);
SetPlayerHealth(playerid,100);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetKorhaz(playerid);
}
else if(PlayerInfo[playerid][Korhaz] == 0)
{
    SetPlayerPos(playerid, PlayerInfo[playerid][PosX],PlayerInfo[playerid][PosY], PlayerInfo[playerid][PosZ]);
    SetPlayerInterior(playerid, PlayerInfo[playerid][PosInt]);
    TogglePlayerControllable(playerid,0);
TimeFreeze(playerid,1500);
}
return 1;
}
Cím: Első belépésnél halál.
Írta: BackUP - 2016. Március 23. - 14:51:59
SetPlayerHealth(playerid,PlayerInfo[playerid][HP]);

 
a HP értékét regisztrációkor kifelejtetted.
A SetPlayerHealth függvényt azért írtam, mert lebegőpontos értéket kér, te pedig integert adtál. Elvileg működnie kell, gyakorlatilag én már máshol ilyen esetnél találkoztam vele, hogy 0 értéket olvasott be ameddig nem egészítettem ki tizedesjeggyel a számot.
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 15:42:54
így is ugyan az a probléma
Cím: Első belépésnél halál.
Írta: whadez - 2016. Március 23. - 16:07:51
Ezt oda írtad a(z)
TogglePlayerSpectate(id, 1);

 után?
 
SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

 
 :hmmm:

Dupla hozzászólás automatikusan összefûzve. ( 2016. Március 23. - 16:12:42 )

Idézetet írta: whadez date=1458745671\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"59934\" data-ipsquote-contentclass=\"forums_Topic
Ezt
SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

 oda írtad a(z)
TogglePlayerSpectate(id, 1);

 után?
 :hmmm:
 
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 16:50:20
ha odaírom akkor is meghalok

Dupla hozzászólás automatikusan összefûzve. ( 2016. Március 23. - 16:51:53 )

és furcsálom h egy pillanatra rak be a megadott pozra, utána a 0,0,0-ásra dob be..
Cím: Első belépésnél halál.
Írta: BackUP - 2016. Március 23. - 16:54:29
PlayerInfo[playerid][PosX] // meg az Y ... megaz Z .. megaz többi ha kell

 
Ez sincs megadva. Figyelmetlenség?
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 16:55:32
az a regisztráció dialognál meg van adva.
Cím: Első belépésnél halál.
Írta: BackUP - 2016. Március 23. - 16:59:46
hmm. Teleport anticheat nincs bent esetleg?
Amit bemásoltál abba nincs megadva.
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 17:09:01
nincs anti-cheat rendszer jelenleg még, az egy másik dialog amiben benne vna.
Cím: Első belépésnél halál.
Írta: whadez - 2016. Március 23. - 17:37:40
@OnPlayerRequestClass(%1,%2) függvényedet is megmutatnád?

 
 :hmmm:
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 18:26:50
parancsolj
 
public OnPlayerRequestClass(playerid, classid)
{
TogglePlayerSpectating(playerid, 1);
InterpolateCameraPos(playerid, 109.4683, -1709.2029, 105.2655, 1480.6094, -1666.1797, 114.1088, 45000, CAMERA_MOVE);
new file[256];
new string[128];
GetPlayerName(playerid,nev,sizeof(nev));
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(dini_Int(file,\"Banned\") == 1)
{
    SCM(playerid,DARKRED,\"(( Bannolva vagy a szerverről! ))\");
    format(string,sizeof(string),\"Anti-Cheat: {ffff00}Kirugtuk \'%s\'-t. Indok: Bannolva van a szerverről\",nev);
    SendAdminMessage(COLOR_RED,string);
    ShowKirugDialog(playerid,0,\"Bannolva vagy a szerverről\");
}
else if(!fexist(file))
{
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,\"Regisztráció\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
}
else if(fexist(file))
{
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Bejelentkezés\", \"Add meg a jelszavad!\", \"Mehet\", \"Mégse\");
}
return 1;
}
Cím: Első belépésnél halál.
Írta: whadez - 2016. Március 23. - 18:33:30
SetCameraBehindPlayer(playerid);

 
Ezt akkor kell használnod, ha SetPlayerCamera/SetPlayerCameraLookAt-ot használsz.
Ez a SetPlayerCamera függvény lefutásakor lekérdezett koordinátádra tesz vissza.
Így mivel nem SetPlayerCamera-t használtál, hanem InterpolateCamera-t, ezért ledob a 0.0.0-s koordinátára.
Ez az egyik hiba.  :smokin:
Írj ha ezután se jó.   ;)
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 18:37:18
Kitöröltem azokat a sorokat, most se jó.. :S
Cím: Első belépésnél halál.
Írta: whadez - 2016. Március 23. - 18:55:44
Minden egyes spawnolásnál meghalsz? Tehát nem csak a nemválasztás után?  :shurg:
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 23. - 18:58:15
Nem. Csak a nemválasztásnál.
Cím: Első belépésnél halál.
Írta: Kyosuke_Hiroshi - 2016. Március 28. - 03:37:50

PlayerInfo[playerid][HP] = 100;

 
Egy ilyet dobj be a nem választáshoz kérlek.
a case 0 hoz is meg a case 1 is
Cím: Első belépésnél halál.
Írta: smf-support - 2016. Március 28. - 09:28:22
Én buta vagyok a PAWN nyelvhez viszont egy dolgot próbálj meg...
A TimeFreeze(playerid,1000); parancs elé rakd be az HP beállítást
valahogy így:
 

    if(dialogid == DIALOG_NEM)
            {
                if(response)
                {
                    switch(listitem)
                            {
                            case 0:
                            {
                                SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Férfi {ffffff}))\");
                                PlayerInfo[playerid][Neme] = 1;
                            format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Férfi\",pname(playerid),PlayerInfo[playerid][Eletkor]);
                                            SendAdminMessage(LIGHTRED,string);
                                            TogglePlayerSpectating(playerid,0);
                                            TogglePlayerControllable(playerid,1);
                                            SetPlayerInterior(playerid,0),
                                            SetPlayerVirtualWorld(playerid,0);
                                            SetCameraBehindPlayer(playerid);
                                            SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
                                            SetPlayerHealth(playerid,100.0);
                                            TimeFreeze(playerid,1000);
                            }
                            case 1:
                            {
                                SCM(playerid,WHITE,\"(( A nemed: {00C0FF}Nő {ffffff}))\");
                                PlayerInfo[playerid][Neme] = 2;
                            format(string,sizeof(string),\"*AdmWarn* %s regisztrált a szerverre. Életkor: %d, Nem: Nő\",pname(playerid),PlayerInfo[playerid][Eletkor]);
                                            SendAdminMessage(LIGHTRED,string);
                                            TogglePlayerSpectating(playerid,0);
                                            TogglePlayerControllable(playerid,1);
                                            SetPlayerInterior(playerid,0),
                                            SetPlayerVirtualWorld(playerid,0);
                                            SetCameraBehindPlayer(playerid);
                                            SetPlayerPos(playerid,1685.5725,-2331.7192,13.5469);
                                            SetPlayerHealth(playerid,100.0);
                                            TimeFreeze(playerid,1000);
                            }
                            case 2:
                            {
                                ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
                            }
                            }
                }
                else ShowPlayerDialog(playerid,DIALOG_NEM,DIALOG_STYLE_LIST,\"Nem\",\"Férfi\\nNő\",\"Mehet\",\"Mégse\");
            }
Cím: Első belépésnél halál.
Írta: Zippanto - 2016. Március 28. - 12:29:18
Sikerült!! Köszi  :thumbsup: :thumbsup: