Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - PAJLOT

Oldalak: [1]
1
Segítségkérés / Dini összekavarodik
« Dátum: 2021. március 13. - 00:09:50 »
Sziasztok!
A hiba maga: Ha egyedül vagyok a szerveren akkor minden tökéletes, viszont ha feljön még valaki akkor összekavarodnak az adatok, megkapom a másik skinjét, szintjét, adminszintjét és ez fordítva is.
Mi lehet a gond?

public OnPlayerDisconnect(playerid, reason)
{
    new quit[128];
GetPlayerName(playerid, JatekosNev, sizeof(JatekosNev));
format(quit, 128, "PROJEKTSZERÓ: %s lecsatlakozott a szerverről.", JatekosNev);
SendClientMessageToAll(FEHER, quit);

//MENTÉS
new file[128];
    format(file, sizeof(file), "/Karakterek/%s.ini", JatekosNev);
    if(fexist(file) && Belepve[playerid] == 1)
    {
dini_IntSet(file, "Penz", PlayerInfo[playerid][Penz]);
dini_IntSet(file, "Szint", PlayerInfo[playerid][Szint]);
dini_IntSet(file, "Adminszint", PlayerInfo[playerid][AdminSzint]);
dini_IntSet(file, "Skin", PlayerInfo[playerid][Skin]);

GetPlayerPos(playerid, Float: pozX, Float: pozY, Float: pozZ);
GetPlayerFacingAngle(playerid, Float: Rot);
dini_FloatSet(file, "POZX", Float: pozX);
dini_FloatSet(file, "POZY", Float: pozY);
dini_FloatSet(file, "POZZ", Float: pozZ);
dini_FloatSet(file, "POZROT", Float: Rot);
}

Belepve[playerid] = 0;
PlayerInfo[playerid][Penz] = 0;
PlayerInfo[playerid][Szint] = 0;
PlayerInfo[playerid][AdminSzint] = 0;
PlayerInfo[playerid][Skin] = 0;

pozX = 0, pozY = 0, pozZ = 0, Rot = 0;
KillTimer(tMentes[playerid]);
return 1;
}

public OnPlayerSpawn(playerid)
{
    new file[128];
    format(file, sizeof(file), "/Karakterek/%s.ini", JatekosNev);
    SetPlayerPos(playerid, dini_Float(file, "POZX"), dini_Float(file, "POZY"), dini_Float(file, "POZZ"));
SetPlayerFacingAngle(playerid, dini_Float(file, "POZROT"));
SetPlayerSkin(playerid, dini_Int(file, "Skin"));
Belepve[playerid] = 1;
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == regisztracio)
{
   if(response)
   {
  new file[128];
  new string[128];
  GetPlayerName(playerid, JatekosNev, sizeof(JatekosNev));
 
  if(strlen(inputtext) == 0)
  {
             format(string, sizeof(string), "Üdv %s! \nMég nincs karaktered, kérlek add meg a kívánt jelszavad.", JatekosNev);
         ShowPlayerDialog(playerid, regisztracio, DIALOG_STYLE_INPUT, "Regisztráció", string, "OK", "Kilépés");
         return 0;
  }
  format(file, sizeof(file), "/Karakterek/%s.ini", JatekosNev);
  if(!fexist(file))
  {
dini_Create(file);
dini_IntSet(file, "Antibug", 0);
dini_IntSet(file, "Jelszo", udb_hash(inputtext));
dini_IntSet(file, "Penz", 0);
dini_IntSet(file, "Szint", 0);
dini_IntSet(file, "Adminszint", 0);
dini_IntSet(file, "Skin", 5);

dini_FloatSet(file, "POZX", 1481.1920);
dini_FloatSet(file, "POZY", -1766.7390);
dini_FloatSet(file, "POZZ", 18.7958);
dini_FloatSet(file, "POZROT", 359.9680);

     format(string, sizeof(string), "Üdv %s! \nRegisztrálva vagy, kérlek add meg a jelszavad.", JatekosNev);
         ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "OK", "Kilépés");
         
  }
}
}
if(dialogid == bejelentkezes)
{
   if(response)
   {
  new file[128];
  new string[128];
  GetPlayerName(playerid, JatekosNev, sizeof(JatekosNev));

  if(strlen(inputtext) == 0)
  {
             format(string, sizeof(string), "Üdv %s! \nRegisztrálva vagy, kérlek add meg a jelszavad.", JatekosNev);
         ShowPlayerDialog(playerid, bejelentkezes, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "OK", "Kilépés");
         return 0;
  }
  format(file, sizeof(file), "/Karakterek/%s.ini", JatekosNev);
  if(fexist(file))
  {
new Jelszo = dini_Int(file, "Jelszo");
if(udb_hash(inputtext) == Jelszo)
{
Belepve[playerid] = 1;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, dini_Int(file, "Penz"));
PlayerInfo[playerid][Szint] = dini_Int(file, "Szint");
PlayerInfo[playerid][AdminSzint] = dini_Int(file, "Adminszint");
PlayerInfo[playerid][Skin] = dini_Int(file, "Skin");

SetPlayerPos(playerid, dini_Float(file, "POZX"), dini_Float(file, "POZY"), dini_Float(file, "POZZ"));
SetPlayerFacingAngle(playerid, dini_Float(file, "POZROT"));
tMentes[playerid] = SetTimerEx("Mentes", 20000, true, "i", playerid);
}
else
{
SendClientMessage(playerid, PIROS, "Hibás jelszó!");
Kick(playerid);
}
  }
}
else
        {
   Kick(playerid);
}
}
return 1;
}

MENTÉS:

public Mentes(playerid)
{
    new file[128];
    format(file, sizeof(file), "/Karakterek/%s.ini", JatekosNev);
    if(fexist(file) && Belepve[playerid] == 1)
    {
dini_IntSet(file, "Penz", PlayerInfo[playerid][Penz]);
dini_IntSet(file, "Szint", PlayerInfo[playerid][Szint]);
dini_IntSet(file, "Adminszint", PlayerInfo[playerid][AdminSzint]);
dini_IntSet(file, "Skin", PlayerInfo[playerid][Skin]);

GetPlayerPos(playerid, Float: pozX, Float: pozY, Float: pozZ);
GetPlayerFacingAngle(playerid, Float: Rot);
     dini_FloatSet(file, "POZX", Float: pozX);
dini_FloatSet(file, "POZY", Float: pozY);
dini_FloatSet(file, "POZZ", Float: pozZ);
dini_FloatSet(file, "POZROT", Float: Rot);
}
}

Esetleg valami valahova nem kell vagy rosszul van írva?

2
Segítségkérés / Skin mentés
« Dátum: 2021. március 11. - 21:17:52 »
Sziasztok! Dini-vel megcsináltam a skin mentést, viszont vmiért nem menti el a skint.
A Dini fájljába ott van, látszik, hogy menti viszont nem tölti be, a szerver kezdetleges, dialog-os bejelentkezés után spawn gombra kattintva tesz a pályára.
Pozíciót, minden mást jól ment és be is tölti.
Ötletek?

3
Segítségkérés / Parancs probléma (ZCMD)
« Dátum: 2021. március 11. - 16:49:51 »
Sziasztok!
Olyan problémával fordulnék hozzátok, hogy adott egy 0-ról íródó gamemode.
Írtam már bele egy-két parancsot, főleg admin parancsokat amik működnek is, viszont van egy kis bökkenő, amit nem értek miért.
A lényeg, hogy pl.: adott egy admin rang adó parancs, felmegyek a szerverre, szépen és jól működik, viszont 5 rang lenne össz vissz és írtam egy korlátozást a parancsba süllyesztve, de így is lehet adni akár 12-es admin rangot is. Ugyan ez a skin váltó parancsnál... stb stb.

CMD:adminszint(playerid, params[])
{
   if(IsPlayerConnected(playerid) == 1 && Belepve[playerid] == 1)
   {
  if(IsPlayerAdmin(playerid) == 1 || PlayerInfo[playerid][AdminSzint] >= 4)
  {
new id, szint;
if(sscanf(params, "ui", id, szint)) return SendClientMessage(playerid, NARANCS, "Használat: /adminszint [ID] [Szint(0-4)]");
if(szint < 0 && szint > 4) return SendClientMessage(playerid, NARANCS, "A szintnek 0 és 4 között kell lennie!");
{
    if(PlayerInfo[id][AdminSzint] >= 4) return SendClientMessage(playerid, NARANCS, "NA-NA!");
    {
       PlayerInfo[id][AdminSzint] = szint;
       new neve[MAX_PLAYER_NAME];
       GetPlayerName(playerid, JatekosNev, sizeof(JatekosNev));
       GetPlayerName(id, neve, sizeof(neve));
       new string[128];
       format(string, sizeof(string), "%s kinevezett %d szintű adminnak!", JatekosNev, szint);
       SendClientMessage(id, KEK, string);
       SendClientMessage(id, PIROS, "A parancsokért írd be: /ah");
       format(string, sizeof(string), "Kinevezted %s-t %d szintű adminnak!", neve, szint);
       SendClientMessage(playerid, KEK, string);
    }
         }
  }
  else
  {
SendClientMessage(playerid, PIROS, "Nincs jogosultságod ehhez a parancshoz!");
  }
   }
   return 1;
}

Oldalak: [1]
SimplePortal 2.3.7 © 2008-2024, SimplePortal