Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Armandooâ„¢ poslato Januar 13, 2019, 21:00:22 POSLE PODNE

Naslov: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 13, 2019, 21:00:22 POSLE PODNE
Problem(error/warning): Ovako, imam problem, igrač kada se uloguje na server odma umre.
Dio skripte: [pawn]Koji treba?[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Deken poslato Januar 13, 2019, 21:28:37 POSLE PODNE
Posalji case DialogLogin tako se nekako zove
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 13, 2019, 21:40:33 POSLE PODNE
[pawn]case DIALOG_LOGIN:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pSifra])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
                    new rand = random(sizeof(RandomSpawn2));
               SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], RandomSpawn2[rand][0], RandomSpawn2[rand][1], RandomSpawn2[rand][2], RandomSpawn2[rand][3], 0, 0, 0, 0, 0, 0);
               SpawnPlayer(playerid);
                    UlogovanProvjera[playerid] = 1;
                    new stringt[256];
               format(stringt, sizeof(stringt),"{F3FF02}[IRP] Adm | {00BFFF}Igrac %s {ffffff}(%d) {00C0FF}je usao na server!!!",GetName(playerid), playerid);
               Logovanje(-1,stringt,1);
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""CRVENA"Unio si pogresnu sifru.\n"COL_WHITE"Upisi sifru ispod da se ulogujes.","Login","Odbij");
                }
                format(string,sizeof(string),"{FFF1AF}Dobrodosao %s na{FFFFFF} Imperial RolePlay.",GetName(playerid));
            SCM(playerid,-1,string);
                if(PlayerInfo[playerid][pAdmin] > 0)
            {
               SCM(playerid, -1," ");
                 SCMF(playerid, -1,"{F3FF02}Logovan si kao Administrator %d nivoa.", PlayerInfo[playerid][pAdmin]);
              }
                return 1;
            }
        }[/pawn]
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Deken poslato Januar 13, 2019, 21:51:06 POSLE PODNE
fazon je sto sam ja imao setplayerhealth 0 to sam izbrisao i fiksalo mi se tako mi je bilo proveri u skripti da nemas gde setplayerhealth(playerid,0);
sem komande kill
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 13, 2019, 22:20:45 POSLE PODNE
Neće, može neko stručniji da pomogne?
[pawn]case DIALOG_LOGIN:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pSifra])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
               SpawnPlayer(playerid);
               SetPlayerHealth(playerid, 100);
               SpawnIgraca(playerid);
                    UlogovanProvjera[playerid] = 1;
                    new stringt[256];
               format(stringt, sizeof(stringt),"{F3FF02}[IRP] Adm | {00BFFF}Igrac %s {ffffff}(%d) {00C0FF}je usao na server!!!",GetName(playerid), playerid);
               Logovanje(-1,stringt,1);
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""CRVENA"Unio si pogresnu sifru.\n"COL_WHITE"Upisi sifru ispod da se ulogujes.","Login","Odbij");
                }
                format(string,sizeof(string),"{FFF1AF}Dobrodosao %s na{FFFFFF} Imperial RolePlay.",GetName(playerid));
            SCM(playerid,-1,string);
                if(PlayerInfo[playerid][pAdmin] > 0)
            {
               SCM(playerid, -1," ");
                 SCMF(playerid, -1,"{F3FF02}Logovan si kao Administrator %d nivoa.", PlayerInfo[playerid][pAdmin]);
              }
                return 1;
            }
        }[/pawn]
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: InasSkripterlji poslato Januar 13, 2019, 23:07:16 POSLE PODNE
Probaj pod OnPlayerSpawn dodat da se setuje healt

Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Nodze poslato Januar 13, 2019, 23:48:30 POSLE PODNE
dAJ onplayerspawn
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 00:08:20 PRE PODNE
Evo OnPlayerSpawn
[pawn]public OnPlayerSpawn(playerid)
{
    SetPlayerSpawn(playerid);
   SetTimerEx("sobietcheck", 100, 0, "i", playerid);
   Timer[playerid] = SetTimerEx("CheckPing",1000,1,"i",playerid);
   if(AdminVozilo[playerid] != -1) DestroyVehicle(AdminVozilo[playerid]), AdminVozilo[playerid] = -1;
   if(IsPlayerConnected(playerid))
   {
       SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
   }
    if(UlogovanProvjera[playerid] == 0)
   {
      Kick(playerid);
   }
   return 1;
}[/pawn]
A evo i SetPlayerSpawn
[pawn]public SetPlayerSpawn(playerid)
{
   if(UlogovanProvjera[playerid] == 1)
   {
      if(PlayerInfo[playerid][pSpawnIzabran] == 1)
      {
         SetPlayerPosEx(playerid,-176.2580,1112.2136,19.7422);
         SetPlayerHealth(playerid, 100);
         return 1;
      }
      if(PlayerInfo[playerid][pSpawnIzabran] == 2)
      {
         SetPlayerPosEx(playerid,-217.8446,979.2046,19.5042);
         SetPlayerHealth(playerid, 100);
         return 1;
      }
   }
   return 1;
}[/pawn]

Znači nema šanse da ikako budem živ kad se ulogujem, umrem, i kad umrem opet mi se postavi health 0 i sve tako u krug
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Nodze poslato Januar 14, 2019, 00:38:11 PRE PODNE
Citat: Armandooâ,,¢ poslato Januar 14, 2019, 00:08:20 PRE PODNE
Evo OnPlayerSpawn
[pawn]public OnPlayerSpawn(playerid)
{
    SetPlayerSpawn(playerid);
   SetTimerEx("sobietcheck", 100, 0, "i", playerid);
   Timer[playerid] = SetTimerEx("CheckPing",1000,1,"i",playerid);
   if(AdminVozilo[playerid] != -1) DestroyVehicle(AdminVozilo[playerid]), AdminVozilo[playerid] = -1;
   if(IsPlayerConnected(playerid))
   {
       SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
   }
    if(UlogovanProvjera[playerid] == 0)
   {
      Kick(playerid);
   }
   return 1;
}[/pawn]
A evo i SetPlayerSpawn
[pawn]public SetPlayerSpawn(playerid)
{
   if(UlogovanProvjera[playerid] == 1)
   {
      if(PlayerInfo[playerid][pSpawnIzabran] == 1)
      {
         SetPlayerPosEx(playerid,-176.2580,1112.2136,19.7422);
         SetPlayerHealth(playerid, 100);
         return 1;
      }
      if(PlayerInfo[playerid][pSpawnIzabran] == 2)
      {
         SetPlayerPosEx(playerid,-217.8446,979.2046,19.5042);
         SetPlayerHealth(playerid, 100);
         return 1;
      }
   }
   return 1;
}[/pawn]

Znači nema šanse da ikako budem živ kad se ulogujem, umrem, i kad umrem opet mi se postavi health 0 i sve tako u krug
Nema nikakve sumnje, sta si zadnje radio na gmodu
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 00:54:52 PRE PODNE
Ma otkako sam ga počeo raditi imam ovaj bug, skini imperial roleplay sa balkan sampa objavio sam ga pa vidi :D
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // xunder poslato Januar 14, 2019, 01:24:44 PRE PODNE
Dodaj na pocetak moda hook te funkcije SetPlayerHealth debuga je i vidi ako negdje poziva i seta hp na 0.
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 01:32:29 PRE PODNE
Pojasni kralju
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // xunder poslato Januar 14, 2019, 01:34:39 PRE PODNE

#include <a_samp>
#include <kurac>
#include <palac>

stock debug_SetPlayerHealth(playerid, Float: health)
{
new const ret = SetPlayerHealth(playerid, health);
if (ret) printf("SPHP(%d, %.2f);", playerid, health);
return ret;
}
#if defined _ALS_SetPlayerHealth
#undef SetPlayerHealth
#else
#define _ALS_SetPlayerHealth
#endif
#define SetPlayerHealth debug_SetPlayerHealth
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 01:39:00 PRE PODNE
[join] Viserys_Targaryen has joined the server (0:127.0.0.1)
SPHP(0, 100.00);
SPHP(0, 100.00);

Eto šta mi izbacuje u konzolu
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // xunder poslato Januar 14, 2019, 01:48:42 PRE PODNE
Pa onda ne umire igrac zbog setanja HP-a na 0...

edit.
Debugaj OnPlayerDeath killerid i reason
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 01:53:13 PRE PODNE
Napravio sam ovako debug ali mi ne izbacuje ništa u konzoli, gdje sam pogriješio
[pawn]stock debug_OnPlayerDeath(playerid, killerid, reason)
{
   new const ret = OnPlayerDeath(playerid, killerid, reason);
   if (ret) printf("SPHP(%d, %d, %s);", playerid, killerid, reason);
   return ret;
}
#if defined _ALS_OnPlayerDeath
   #undef OnPlayerDeath
#else
   #define _ALS_OnPlayerDeath
#endif
#define OnPlayerDeath debug_OnPlayerDeath[/pawn]
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // xunder poslato Januar 14, 2019, 02:07:21 PRE PODNE
haha ne tako vec samo dodaj ispod onplayerdeath postojeceg debug


public OnPlayerDeath(playerid, killerid, reason) {
printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
.... ostatak tvog koda
return 1;
}
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // lestra poslato Januar 14, 2019, 10:00:00 PRE PODNE
Vidi jel imas ovo ako nemas ubaci ispod onplayerspawn
g_SetPlayerHealth(playerid, 99.0);
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 12:55:58 POSLE PODNE
xunder
[pawn][join] Viserys_Targaryen has joined the server (0:127.0.0.1)
SPHP(0, 100.00);
SPHP(0, 100.00);
OnPlayerDeath(0, 65535, 255)
OnPlayerDeath(0, 65535, 255)
OnPlayerDeath(0, 65535, 255)
[/pawn]
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 13:52:12 POSLE PODNE
Riješio sam problem, ali imam problem kada se igrač loginuje ili registruje ne spawna ga, nego mu piše dole ono spawn i to ...
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: // lestra poslato Januar 14, 2019, 14:12:25 POSLE PODNE
Druze nisi sluzo mn probaj vako i nece te ubijat kad se loginujes ili spawnas
Vidi jel imas ovo ako nemas ubaci ispod onplayerspawn
g_SetPlayerHealth(playerid, 99.0);
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Armandooâ„¢ poslato Januar 14, 2019, 14:30:52 POSLE PODNE
Ama ima pod onplayerspawn da seta hp na 100 i kako ti misliš nekome pomoći kad vadiš iz UP moda g_SetPlayerHealth, kako ti znaš da ja imam taj callback ili šta već?
Taj sam ja problem riješio
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Nodze poslato Januar 14, 2019, 16:08:34 POSLE PODNE
Posalji ponovo onplayerspawn i gamemodeinit
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: Deken poslato Januar 14, 2019, 19:32:04 POSLE PODNE
Armando imas li SpawnPlayer(playerid); ?
i posalji celi taj public gde ga drzis da vidim tacno na kojoj poziciji je
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: #W4J774CHU poslato Januar 14, 2019, 22:03:21 POSLE PODNE
OnPlayerRequestSpawn daj...
Ne znam sta da ti kazem :D
Naslov: Odg: Igrač umire kada se uloguje
Poruka od: youngdeal poslato Januar 14, 2019, 22:50:17 POSLE PODNE
Citat: Armandooâ,,¢ poslato Januar 14, 2019, 13:52:12 POSLE PODNE
Riješio sam problem, ali imam problem kada se igrač loginuje ili registruje ne spawna ga, nego mu piše dole ono spawn i to ...
pa staviš SetSpawnInfo / SpawnPlayer hahah