Oko restarta servera.

Započeo Claus, Avgust 07, 2018, 15:28:51 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Citat: youngdeal poslato Avgust 08, 2018, 22:39:31 POSLE PODNE
opusteno ispravio sam te bio samo haha i prije postanja pogledaj sta si tacno mislio pa napisi i postaj a ne  OnGameModeInit a htio OnPlayerConnect al desava se da da se pogrijesi al nemoj vise puta xD  al dobro bio sam ja tu pa ispravio sam te,ako ne nabijas postove sorry  xD
[pawn]
stock ResetVarijabli(playerid) { gLoggedCheck[playerid] = 0; PlayerInfo[playerid][pSkor] = 0; PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pUbistva] = 0; PlayerInfo[playerid][pSmrti] = 0; PlayerInfo[playerid][pNovac] = 0; PlayerInfo[playerid][pSkin] = 45;
PlayerInfo[playerid][pMutiran] = 0; PlayerInfo[playerid][pMutiranVreme] = 0; DoubleKill[playerid] = 0; TripleKill[playerid] = 0; return 1; }


public OnPlayerConnect(playerid)
{
   ResetVarijabli(playerid);
   return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(strfind(inputtext, "%", true) != -1 || strfind(inputtext, "#", true) != -1)
   {
      SCM(playerid, -1, ""SRWPLAVA"[I:DM]"BELA" U dialogu ne mozete koristiti procente i tarabe");
      KickIgraca(playerid);
      return 0;
   }
   if(dialogid == DIALOG_REGISTER)
   {
      if(!response) return KickIgraca(playerid);
      if(response)
      {
         if(strlen(inputtext) < 6 || strlen(inputtext) > 15)
         {
            SPD(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registracija na Insanity DeathMatch", "Sifra mora ti bude duza od 6 slova ili manja od 15 slova!\nUkucaj sifru kako bi se registrovao:", "Dalje", "Izlaz" );
            return 1;
         }
      ResetVarijabli( playerid );
       gLoggedCheck[playerid] = 1;
       PlayerInfo[playerid][pSifra] = udb_hash( inputtext );
      new INI:File = INI_Open( UserPath( playerid ) );
      INI_SetTag(File, "data" );
      INI_WriteInt(File, "Sifra", udb_hash( inputtext ) );
      INI_WriteInt(File, "Admin", PlayerInfo[playerid][pAdmin] );
      INI_WriteInt(File, "Novac", PlayerInfo[playerid][pNovac] );
      INI_WriteInt(File, "Skor",  PlayerInfo[playerid][pSkor] );
      INI_WriteInt(File, "Ubistva", PlayerInfo[playerid][pUbistva] );
      INI_WriteInt(File, "Smrti", PlayerInfo[playerid][pSmrti] );
      INI_WriteInt(File, "Skin", PlayerInfo[playerid][pSkin] );
      INI_Close( File );
       }
       // za ovo dalje ispod gibanica varijablu ne vidim nista dalje da vidim sta je to ima li koja greska i to..
       return 1;
   }
   return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
   if(killerid != INVALID_PLAYER_ID)
   {
      SendDeathMessage( killerid, playerid, reason );
      PlayerInfo[killerid][pUbistva]++;
      PlayerInfo[killerid][pSkor]++;
      SetPlayerScore(killerid, PlayerInfo[killerid][pSkor] );
      PlayerInfo[killerid][pNovac] = PlayerInfo[killerid][pNovac] + 1000;
      ResetPlayerMoney(killerid); GivePlayerMoney(killerid, PlayerInfo[killerid][pNovac] );
      PlayerInfo[playerid][pSmrti]++; SavePlayer( killerid ); SavePlayer( playerid );
   }
   else
   {
      SendDeathMessage( INVALID_PLAYER_ID, playerid, reason );
        PlayerInfo[playerid][pSmrti]++; SavePlayer ( playerid );
   }
   return 1;
}
[/pawn] i sljedeci put posalji link koda da vidim preko  www.pastebin.com lakse tako  i kopirat u pawno i ispravit nego preko slika citati kod..
Ubacio sam, sve lepo ali kad se registrujes upises sifru i kad se spawnas odmah te kika server.

Provjeri onda OnPlayerSpawn i ostale stvari ono RequestClass kako već zaboravio sam i pazi na ovo... http://balkan-samp.com/forum/index.php?topic=120099.0

Uradio sam sve, i sve lepo radi ali samo mi reci da li je resen problem sto se vracao skor i pare na 0 kad se restartuje server?

L3o

*

Citat: Ñ,ιмιc poslato Avgust 09, 2018, 16:20:45 POSLE PODNE
Uradio sam sve, i sve lepo radi ali samo mi reci da li je resen problem sto se vracao skor i pare na 0 kad se restartuje server?
Pa valjda ti znaš jel si riješio taj problem. Otprilike znam na šta ciljaš, dodaj ovo prilikom spawn-a igrača ili prilikom unosa točne lozinke.

EDIT: Takoder ukoliko imas neki anticheat ubacen, preminuj "GivePlayerMoney" u funkciju kako je definirano u anticheatu kako te nebi kickovalo svaki put. I takoÄ'er moraÅ¡ staviti da se spremaju score(poeni) i novci.

[pawn]
GivePlayerMoney(playerid, ....);
SetPlayerScore(playerid, .....);

// Primjer |- (promijeni samo nazive funkcija money i score)
GivePlayerMoney(playerid, PlayerData[playerid][Money]);
SetPlayerScore(playerid, PlayerData[playerid][Score]);
[/pawn]
Poslednja Izmena: Avgust 09, 2018, 16:29:35 POSLE PODNE od L3o
retired

Citat: Ñ,ιмιc poslato Avgust 09, 2018, 16:20:45 POSLE PODNE
Uradio sam sve, i sve lepo radi ali samo mi reci da li je resen problem sto se vracao skor i pare na 0 kad se restartuje server?
sredjeno je ti sve kako si rekao, ako nesto ne radi napisi ovdje,ili posalji mi preko privatne poruke mod .pwn taj da ti sredim ili ovdje kako god hoces ako fali jos nesto jer nismo ti vidili  DIALOG_LOGIN ( to je kad se prijavi opet ) niti public OnPlayerSpawn niti OnPlayerRequestClass,ili salji preko www.pastebin.com kodove publica tih ako ne zelis mod poslati da vidimo ga cijelog da li ima gdje greske i to,kako god ti zelis ali samo nemoj vise slikavat kod kad je lakse kopirat ga i zalijepit na www.pastebin.com i poslat ovdje ili u [pawn][/pawn] - kod ovdje i postat..
69

Citat: youngdeal poslato Avgust 09, 2018, 20:46:13 POSLE PODNE
sredjeno je ti sve kako si rekao, ako nesto ne radi napisi ovdje,ili posalji mi preko privatne poruke mod .pwn taj da ti sredim ili ovdje kako god hoces ako fali jos nesto jer nismo ti vidili  DIALOG_LOGIN ( to je kad se prijavi opet ) niti public OnPlayerSpawn niti OnPlayerRequestClass,ili salji preko www.pastebin.com kodove publica tih ako ne zelis mod poslati da vidimo ga cijelog da li ima gdje greske i to,kako god ti zelis ali samo nemoj vise slikavat kod kad je lakse kopirat ga i zalijepit na www.pastebin.com i poslat ovdje ili u [pawn][/pawn] - kod ovdje i postat..
Evo link od pastebina, tu ima i dialog_login, i onplayerspawn, i onplayerrequestclass.

Opet kad restartujem server, skor se vrati na 0 i pare na 0...

Citat: Ñ,ιмιc poslato Avgust 09, 2018, 21:29:12 POSLE PODNE
Evo link od pastebina, tu ima i dialog_login, i onplayerspawn, i onplayerrequestclass.
Citat: Ñ,ιмιc poslato Avgust 09, 2018, 23:15:36 POSLE PODNE
Opet kad restartujem server, skor se vrati na 0 i pare na 0...
gdje je link od pastebina? nema
69


PlayerInfo[playerid][pSkor] imas li ucitavanje ovoga ? Posalji Load da vidimo :)

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020

Citat: LANMY.pwN poslato Avgust 10, 2018, 12:45:03 POSLE PODNE
PlayerInfo[playerid][pSkor] imas li ucitavanje ovoga ? Posalji Load da vidimo :)
stavio je reset svih varijabla kako sam mu napravio i u kad se logina a ne treba tu.. - zeznuo se bio nije skuzio
  fixano ti evo:
[pawn]//-DIALOG_LOGIN
   if(dialogid == DIALOG_LOGIN)
    {
       if(!response) return KickIgraca(playerid);
        if(response)
        {
         if(udb_hash(inputtext) == PlayerInfo[playerid][pSifra])
            {
                SCM(playerid, -1, ""BELA"Dobrodosao, kako bi usao u neku DM arenu koristi komandu /dm a kako bi izasao iz DM arene koristi komandu /lobby");
                TogglePlayerSpectating(playerid,false);
                //ResetVarijabli( playerid ); --> ovo ne stavljaj ovdje jer ovo ide kod ulaska na server te izlaska sa servera, ucitaju se varijable iz  acc fajla (podatci) (LoadUser). i zato ti je bilo 0 i dalje - ne koristi ovdje reset
            GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
            SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
            SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
            gLoggedCheck[playerid] = 1; // ovo stavljas kad uspije login a ne gore iznad iako nije uspio login
            }
                else
              {
                SCM(playerid, -1, "Nije ti tacna lozinka, kikovan si!");
                KickIgraca(playerid);
            }
        }
     return 1;
    }
//-OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
    /*
    gLoggedCheck[playerid] = 1;
   ovo ti ovdje nije potrebno... jer kad se logina postavi mu da je logiran,
   ovdje mozes jedino postavit ak se spawna a nije logiran da dobije kick
    Primjer :

   if(gLoggedCheck[playerid] == 0)
   {
    SCM(playerid, -1, "Spawnovao si se a nisi se logirao, kikovan si!");
    KickIgraca(playerid);
      return 1;
   }*/
   if(InDM[playerid] == 0) {
      SetSpawnInfo(playerid,45, PlayerInfo[playerid][pSkin],1727.2626,-1667.0796,22.0867,0,0,0,0,0,0,0);
      SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
      SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
      GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
       SetPlayerInterior(playerid, 18);
      SetPlayerHealth(playerid, 1000);
      SetPlayerArmour(playerid, 1000);
      ResetPlayerWeapons(playerid);
      SetCameraBehindPlayer(playerid);
   }
   else if(InDM[playerid] == 1) {
      new Zoki = random(sizeof(RandomSpawnKurveluk));
      SetPlayerPos(playerid, RandomSpawnKurveluk[Zoki][0], RandomSpawnKurveluk[Zoki][1], RandomSpawnKurveluk[Zoki][2]);
       SetPlayerFacingAngle(playerid, RandomSpawnKurveluk[Zoki][3]);
       SetPlayerInterior(playerid, 3);
       GivePlayerWeapon(playerid, 24, 200);
       GivePlayerWeapon(playerid, 25, 200);
      GivePlayerWeapon(playerid, 31, 500);
       SetPlayerHealth(playerid, 100);
      SetPlayerArmour(playerid, 100);
      SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
      SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
      SetCameraBehindPlayer(playerid);
      SetTimerEx("Kill", 1000, true, "i", playerid);
      SetTimerEx("Death", 1000, true, "i", playerid);
   }
   else if(InDM[playerid] == 2) {
      new Zoki = random(sizeof(RandomSpawnKurveluk));
      SetPlayerPos(playerid, RandomSpawnWannaBeWar[Zoki][0], RandomSpawnWannaBeWar[Zoki][1], RandomSpawnWannaBeWar[Zoki][2]);
       SetPlayerFacingAngle(playerid, RandomSpawnWannaBeWar[Zoki][3]);
      SetPlayerInterior(playerid, 10);
       GivePlayerWeapon(playerid, 24, 300);
       GivePlayerWeapon(playerid, 25, 200);
      GivePlayerWeapon(playerid, 31, 500);
      GivePlayerWeapon(playerid, 29, 500);
       SetPlayerHealth(playerid, 100);
      SetPlayerArmour(playerid, 100);
      SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
      SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
      SetCameraBehindPlayer(playerid);
      SetTimerEx("Kill", 1000, true, "i", playerid);
      SetTimerEx("Death", 1000, true, "i", playerid);
   }
   else if(InDM[playerid] == 3) {
      new Zoki = random(sizeof(RandomSpawnDMLVPD));
      SetPlayerPos(playerid, RandomSpawnDMLVPD[Zoki][0], RandomSpawnDMLVPD[Zoki][1], RandomSpawnDMLVPD[Zoki][2]);
       SetPlayerFacingAngle(playerid, RandomSpawnDMLVPD[Zoki][3]);
       SetPlayerInterior(playerid, 3);
       GivePlayerWeapon(playerid, 24, 200);
       SetPlayerHealth(playerid, 100);
      SetPlayerArmour(playerid, 100);
      SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
      SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
      SetCameraBehindPlayer(playerid);
      SetTimerEx("Kill", 1000, true, "i", playerid);
      SetTimerEx("Death", 1000, true, "i", playerid);
   }
   // SetPlayerSkin(playerid, 45);
    SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
   ResetPlayerMoney(playerid);
   GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
        SetPlayerScore(playerid, PlayerInfo[playerid][pSkor]);
    /*if(Gibanica[playerid] == 1) {
      SetPlayerSkin(playerid, 45);
      SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
      GivePlayerMoney(playerid, 1000);
      Gibanica[playerid] = 0;
      */
        if(igraduel[playerid] == 1)
       {
           if(duelid[playerid] != INVALID_PLAYER_ID)
           {
           igraduel[duelid[playerid]] = 0;
           duelprotivnik[duelid[playerid]] = -1;
           duelpozivatelj[duelid[playerid]] = -1;
           SpawnPlayer(duelid[playerid]);
           duelid[duelid[playerid]] = -1;
           igraduel[playerid] = 0;
           duelid[playerid] = -1;
           duelprotivnik[playerid] = -1;
           duelpozivatelj[playerid] = -1;
           }
       }
   /*}*/
   return 1;
}
//-OnPlayerRequestClass
public OnPlayerRequestClass(playerid, classid)
{
   for(new i = 0; i < sizeof(InformacijaTD); i++)
      {
           TDSFP(playerid,InformacijaTD);
      }
   for(new i = 0; i < sizeof(IDMR2); i++)
      {
           TDSFP(playerid,IDMR2);
      }

   SetSpawnInfo(playerid,45,PlayerInfo[playerid][pSkin],1727.2626,-1667.0796,22.0867,0,0,0,0,0,0,0);
   SetPlayerInterior(playerid, 18);
    SpawnPlayer(playerid);
    InDM[playerid] = 0;
    SetPlayerHealth(playerid, 1000);
   SetPlayerArmour(playerid, 1000);
   ResetPlayerWeapons(playerid);
   return 1;
}[/pawn] te ovo kod public OnPlayerSpawn ovo SetPlayerSkin nemoj koristit jednu funkciju da seta isti skin 2x ( ako je u dm / ako se spawna a nije u dm) , jedino koristi ako mu postavljas neki drugi skin u dm zoni npr.. i da format / string ne koristi ako oces nesto ispisat a nema varijabli niti podataka od varijabli pa nadalje koje mu treba ispisat npr PlayerInfo[playerid][pNovac] (%d), dzaba pravis new string.., ispravio sam ti u normalno kako treba, testiraj pa javi..
Poslednja Izmena: Avgust 10, 2018, 23:32:26 POSLE PODNE od youngdeal
69