Szerző Téma: Parancs hiba /setname és /kick  (Megtekintve 2475 alkalommal)

Parancs hiba /setname és /kick
« Dátum: 2014. május 18. - 08:57:57 »
0 Show voters
Üdv az lenne a problémám, hogy a /kick parancs túl gyorsan rúgja ki a playert a szerverrõl és nem látja az indokot, hogy miért lett kickelve és ugyan ez a helyzet a ban paranccsal is, és a /setname parancs nem váltja át a nevet az Accounts.db fájlba, de a szerón átváltva mutatja.
PWN:
 

CMD:kick(playerid,params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
    if(AccInfo[playerid][Level] >= 3)
{
   new tmp2[128];
   //------------------------------------------------------------------
    if(sscanf(params, \"uS()[128]\", givepid, tmp2)) return
   SendClientMessage(playerid, LIGHTBLUE2, \"Használat: /kick [iD] [indok]\") &&
   SendClientMessage(playerid, orange, \"Funkció: Kirúghatod vele a játékost a szerverrõl.\");
   //------------------------------------------------------------------
       new player1, string[128], playername[MAX_PLAYER_NAME], adminname [MAX_PLAYER_NAME];
   player1 = givepid;
   //------------------------------------------------------------------
    if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (AccInfo[player1][Level] != ServerInfo[MaxAdminLevel]))
    {
      GetPlayerName(player1, playername, sizeof(playername));
      GetPlayerName(playerid, adminname, sizeof(adminname));
             SendCommandToAdmins(playerid,\"Kick\");
                //--------------------------------------------------------------
                ASts[playerid][Kicks] += 1;
                //--------------------------------------------------------------
      if(!strlen(tmp2))
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által. (Indok: Nincs meghatározva) ***\",playername,adminname);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string);
         print(string);
         return Kick(player1);
      }
      else
      {
         format(string,sizeof(string),\"*** {11FF00}%s{AFAFAF} ki lett rúgva a szerverrõl Adminisztrátor {11FF00}%s{AFAFAF} által (Indok: %s) ***\",playername,adminname,tmp2);
         SendClientMessageToAll(grey,string);
         SaveIn(\"KickLog\",string); print(string);
         return Kick(player1);
      }
   }
   else return ErrorMessages(playerid, 3);
}
else return ErrorMessages(playerid, 1);
}
else return SendClientMessage(playerid,red,\"Hiba: Legalább 3-as szintû adminnak kellne lenned ennek a parancsnak a használatához!\");
}
 
CMD:setname(playerid, params[])
{
if(AccInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid))
    {
    new pID, setnames[24];
    if(sscanf(params, \"us[24]\", pID, setnames)) SendClientMessage(playerid, 0x33CCFFAA, \"Használat: /setname [Játékos ID] [Új név]      ||   Fontos, hogy elõtte adja el a házát majd ha kész vegye meg!\");
else if(!IsPlayerConnected(pID) || IsPlayerNPC(pID)) SendClientMessage(playerid, red, \"Hiba: A játékos nincs csatlakozva!\");
else SetPlayerName(pID, setnames);
}
else SendClientMessage(playerid, red, \"Hiba: Legalább 6-os szintû adminnak kellene lenned ennek a parancsnak a használatához!\");
    return 1;
}

 
[mod]Kiraktam a PREFIX-et[/mod]
« Utoljára szerkesztve: 2014. május 18. - 10:08:11 írta Flash »

Parancs hiba /setname és /kick
« Válasz #1 Dátum: 2014. május 18. - 09:26:01 »
0 Show voters
Egy egyszerû késleltetéssel kickeled vagy bannolod a szerverrõl, hogyan is lehet megoldani hát így:
A Setnamenél kell létrehozni egy új fájlt a nevével és az elõzõ adatait bele pakolni és jó is lesz :)
 

Kicck(player1);
stock Kicck(playerid)
{
SetTimerEx(\"KickTimer\",1000,false,\"u\",playerid);
}
 
public KickTimer(playerid)
{
Kick(playerid);
}
 

 
[mod]Javítottam a

taget

tagre![/mod]
« Utoljára szerkesztve: 2014. május 18. - 11:12:49 írta Dfoglalo »

Parancs hiba /setname és /kick
« Válasz #2 Dátum: 2014. május 18. - 12:57:37 »
0 Show voters
Valamiért errort ir nezt :
 
public function lacks forward declaration (symbol \"KickTimer\")   és function \"Kicck\" should return a value
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase

 
[mod]Kitettem helyetted a code taget.[/mod]
« Utoljára szerkesztve: 2014. május 18. - 13:27:25 írta Dfoglalo »

Parancs hiba /setname és /kick
« Válasz #3 Dátum: 2014. május 18. - 13:23:26 »
0 Show voters
Mert elfelejtettem a Forwardot oda írni... Te nem vetted észre? :D :D
 
forward KickTomir(playerid);

Parancs hiba /setname és /kick
« Válasz #4 Dátum: 2014. május 18. - 14:11:15 »
0 Show voters
Nem is figyeltem :)
Még most sem lett teljesen jó, de most nem értem, hogy miért
 function \"Kicck\" should return a value

 
és ahol a stock lezáródik abba a sorba írja az errort.
« Utoljára szerkesztve: 2014. május 18. - 14:19:57 írta [PRO]AcErBiS_V8 »

Parancs hiba /setname és /kick
« Válasz #5 Dátum: 2014. május 18. - 14:26:22 »
0 Show voters
Kicck(player1);
stock Kicck(playerid)
{
        SetTimerEx(\"KickTimer\",1000,false,\"u\",playerid);
        return 1;
}
forward KickTimer(playerid);
public KickTimer(playerid)
{
        Kick(playerid);
        return 1;
}

 
[mod]Kitettem helyetted a

taget! Ez perceken belül a sokadik hozzászólásod, ahová egyáltalán nem tetted ki, pedig egy Teljes tagnak már tudnia kéne használni. Mindazonáltal James_Fradies már leírta elõtted, hogy mit felejtett le - csak a kettõt összeraktad - szóval nem volt sok értelme a hozzászólásodnak.[/mod]
« Utoljára szerkesztve: 2014. május 18. - 17:42:58 írta Dfoglalo »

Parancs hiba /setname és /kick
« Válasz #6 Dátum: 2014. május 18. - 14:46:33 »
0 Show voters
Rendben köszi a ban és a kick sikerült, de a setname-t még nem tudom, hogy hogyan kellene, a játékos adatait az Accounts.db fájlba menti a nevet name-val tárolom és azt szeretném csak átírni hogy meg is maradjon a setname-val.

Parancs hiba /setname és /kick
« Válasz #7 Dátum: 2014. május 18. - 18:09:52 »
0 Show voters
a setname-s részt nem értem, bocs. :)
nem tom mit csináljak vele...
irjam neked egyet?

Parancs hiba /setname és /kick
« Válasz #8 Dátum: 2014. május 18. - 18:27:16 »
0 Show voters
Ha tudsz írj légyszíves, a fájlokat Accounts.db-be kell módosítani a player nevét és a játékba is módosuljon, mert nekem a legutolsó próbálkozásnál elvesztek az adott játékos adatai :/ a changepass parancs az mûködik, az alapján próbáltam megírni ezt is, de nem sok sikerrel. A  changepass így néz ki: 
CMD:changepass(playerid, params[])
{
if(AccInfo[playerid][LoggedIn] == 1)
{
    new pass[40], string[128], userid;
    userid = BUD::GetNameUID(PlayerName2(playerid));
//----------------------------------------------------------------------
if(sscanf(params, \"s[40]\", pass)) return
    SendClientMessage(playerid, LIGHTBLUE2, \"Használat: /changepass [Új jelszavad]\") &&
    SendClientMessage(playerid, orange, \"Funkció: Meg tudod vele változtatni a jelszavad ezzel a paranccsal.\");
    //----------------------------------------------------------------------
if(strlen(params) < 4 || strlen(params) > 40) return
SendClientMessage(playerid,red,\"Hiba: Hibás jelszó hosszúság!\");
//----------------------------------------------------------------------
BUD::SetStringEntry(userid, \"APass\", pass, 40);
PlayerPlaySound(playerid, 1057,0.0,0.0,0.0);
        format(string, 128,\"{00C0FF} {F81414}(Infó) {F81414} {FF9900}A jelszavad sikeresen meg lett változtatva erre a jelszóra: {00BBF6}\\\"%s\\\"!\",pass);
return SendClientMessage(playerid, red, string);
}
else return SendClientMessage(playerid, red, \"Hiba: Regisztrálnod kell, hogy használhasd ezt a parancsot.\");
}

 
A setname : 
CMD:setname(playerid, params[])
{
if(AccInfo[playerid][Level] >= 6 || IsPlayerAdmin(playerid))
    {
    new pID, setnames[24];
    if(sscanf(params, \"us[24]\", pID, setnames)) SendClientMessage(playerid, 0x33CCFFAA, \"Használat: /setname [Játékos ID] [Új név]      ||   Fontos, hogy elõtte adja el a házát majd ha kész vegye meg!\");
else if(!IsPlayerConnected(pID) || IsPlayerNPC(pID)) SendClientMessage(playerid, red, \"Hiba: A játékos nincs csatlakozva!\");
else SetPlayerName(pID, setnames);
}
else SendClientMessage(playerid, red, \"Hiba: Legalább 6-os szintû adminnak kellene lenned ennek a parancsnak a használatához!\");
    return 1;
}

 
Segítségeiteket várom.
« Utoljára szerkesztve: 2014. május 18. - 18:30:38 írta [PRO]AcErBiS_V8 »

Parancs hiba /setname és /kick
« Válasz #9 Dátum: 2014. május 18. - 18:45:55 »
0 Show voters
ez milyen fájlkezelõ:
 
BUD::SetStringEntry(userid, \"APass\", pass, 40);

 
az Accounts.db-be hogy néz ki a név?

Parancs hiba /setname és /kick
« Válasz #10 Dátum: 2014. május 18. - 18:58:00 »
0 Show voters
Az APass a jelszót tárolja a nevet a name

Parancs hiba /setname és /kick
« Válasz #11 Dátum: 2014. május 18. - 19:31:13 »
0 Show voters
nem azt kérdeztem :)
hanem az Accounts.db-be hogy van a játékosnév le/beírva?
Nem lenne egyszerûbb ha egy mappában minden játékost tárolnál(minden játékosra 1 fájl, a fájl neve a játékos nevével lenne egyenlõ)

Parancs hiba /setname és /kick
« Válasz #12 Dátum: 2014. május 18. - 19:46:32 »
0 Show voters
uid           name             passhash               APass  stb stb.... így van felsorolva
   1           Acerbis          oi%da6/sdap.....     teszt
   2           Kövei név      kövi jelszó              jelszó    stb.......
Így van az Accounts.db-be táblázatosan fel sorolva.

Parancs hiba /setname és /kick
« Válasz #13 Dátum: 2014. május 19. - 16:55:30 »
0 Show voters
:question:
Hát erre még logikám sincs, hogy hogy lehetne megoldani.
A regisztrációs rész küld el, abban hátha bennevan.
U.I: nem ismerem a fájlkezelõt :(

Parancs hiba /setname és /kick
« Válasz #14 Dátum: 2014. május 19. - 17:41:07 »
0 Show voters
Privátba nem tudnál segíteni, adok skype-t Privát Üzenetben vagy adj te és bejelöllek.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal