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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: hunpeesta - 2011. Október 17. - 18:22:45

Cím: Besül az admin
Írta: hunpeesta - 2011. Október 17. - 18:22:45
Hali
Van egy összetákolt admin rendszerem és az a bajom vele ha lemegy valaki a szerverrõl akkor besül és az admin parancsok használhatatlanok és folyton erre a hibára hivatkoznak \"Rossz id-t irtál be\".Ha jól figyeltem meg akkor a id 0-ás játékos lemegy akkor vége besül de ha betöltik az id 0-t akkor meg ujra mûködik..
Valaki valami ötlet?
Cím: Besül az admin
Írta: kadaradam - 2011. Október 17. - 19:18:14
Nem tudom hogy néz ki a scripted!
Cím: Besül az admin
Írta: hunpeesta - 2011. Október 17. - 20:49:40
Az mind1 csak tippeket kérnék mik okozhatják a hibát.
Cím: Besül az admin
Írta: Koncz_Norbert - 2011. Október 17. - 20:59:55
Idézetet írta: hunpeesta date=1318868565\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12574\" data-ipsquote-contentclass=\"forums_Topic
... admin rendszerem és az a bajom vele ha lemegy valaki a szerverrõl akkor besül és az admin ...
 
Egyértelmû. OnPlayerDisconnect
Cím: Besül az admin
Írta: .:Secur:. - 2011. Október 17. - 21:45:20
Lehet nem jó a visszatérés, vagy valami... biztos, hogy az OnPlayerDisconnect el lehet probláma.
Nézd át.
Cím: Besül az admin
Írta: [HUN]0.3c Scripter - 2011. Október 18. - 19:14:59
Idézetet írta: 0xC01DFACE date=1318877995\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"12574\" data-ipsquote-contentclass=\"forums_Topic


... admin rendszerem és az a bajom vele ha lemegy valaki a szerverrõl akkor besül és az admin ...
 
Egyértelmû. OnPlayerDisconnect
 
[/quote]
Cím: Besül az admin
Írta: hunpeesta - 2011. Október 18. - 20:24:14
Itt van a Disconnect de hiába variálok nem jó.. :(
 
      public OnPlayerDisconnect(playerid, reason)
{
    Delete3DTextLabel(fixon[playerid]);
    Delete3DTextLabel(fixki[playerid]);
   
    TextDrawDestroy(SpeedoText[playerid]);
   
         new string[64];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    switch(reason)
    {
case 0: format(string,sizeof string,\"%s kilépett. (Idõtúllépés)\",name);
case 1: format(string,sizeof string,\"%s kilépett. (Kilépett)\",name);
case 2: format(string,sizeof string,\"%s kilépett. (Kick/Ban)\",name);
    }
    SendClientMessageToAll(pirosszin,string);
    SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
   
    GetPlayerName(playerid,name,24);
    format(file,sizeof(file),\"Jatekosok/%s.ini\",name);
    if(dini_Exists(file))
    {
        dini_IntSet(file,\"Penz\",GetPlayerMoney(playerid));
        dini_IntSet(file,\"Pontok\",GetPlayerScore(playerid));
        dini_IntSet(file,\"Szin\",GetPlayerColor(playerid));
        dini_IntSet(file,\"Adminszint\",PlayerInfo[playerid][Adminszint]);
        dini_IntSet(file,\"Figyelmeztetesek\",PlayerInfo[playerid][Figyelmeztetesek]);
        dini_IntSet(file,\"Skin\",GetPlayerSkin(playerid));
        dini_IntSet(file,\"Olesek\",PlayerInfo[playerid][Olesek]);
        dini_IntSet(file,\"Halalok\",PlayerInfo[playerid][Halalok]);
        Bejelentkezve[playerid] = 0;
    return 1;
}
return 1;
}
Cím: Besül az admin
Írta: Koncz_Norbert - 2011. Október 18. - 20:39:38
[pawn]
public OnPlayerDisconnect( playerid, reason )
{
Delete3DTextLabel( fixon[ playerid ] );
Delete3DTextLabel( fixki[ playerid ] );
   
TextDrawDestroy( SpeedoText[ playerid ] );
   
new
   string   [              64 ],
   opd_file [              30 ],
   opd_name [ MAX_PLAYER_NAME ],
   opd_name2[ MAX_PLAYER_NAME ]
;
GetPlayerName( playerid, opd_name, MAX_PLAYER_NAME );
switch( reason )
{
   case 0: format( string, sizeof( string ), \"%s kilépett. (Idõtúllépés)\", name );
   case 1: format( string, sizeof( string ),    \"%s kilépett. (Kilépett)\", name );
   case 2: format( string, sizeof( string ),    \"%s kilépett. (Kick/Ban)\", name );
}
SendClientMessageToAll   ( pirosszin, string         );
SendDeathMessage   ( INVALID_PLAYER_ID, playerid, 201   );
   
GetPlayerName   ( playerid, opd_name2, 24                );
format      ( opd_file, sizeof( opd_file ), \"Jatekosok/%s.ini\", opd_name2   );
if ( dini_Exists( opd_file ) )
{
           dini_IntSet( opd_file,             \"Penz\", GetPlayerMoney( playerid )          );
           dini_IntSet( opd_file,           \"Pontok\", GetPlayerScore( playerid )          );
           dini_IntSet( opd_file,             \"Szin\", GetPlayerColor( playerid )          );
           dini_IntSet( opd_file,       \"Adminszint\", PlayerInfo[ playerid ][       Adminszint ]    );
           dini_IntSet( opd_file, \"Figyelmeztetesek\", PlayerInfo[ playerid ][ Figyelmeztetesek ]    );
           dini_IntSet( opd_file,             \"Skin\", GetPlayerSkin( playerid )          );
           dini_IntSet( opd_file,           \"Olesek\", PlayerInfo[ playerid ][  Olesek ]       );
           dini_IntSet( opd_file,          \"Halalok\", PlayerInfo[ playerid ][ Halalok ]       );
           Bejelentkezve[ playerid ] = 0;
}
return 1;
}
[/pawn]
Nem teszteltem.
Cím: Besül az admin
Írta: scripter01 - 2011. Október 18. - 21:28:32
Szerintem is a vissza téréssel lehet a gond de amiket írtak ezelötti hsz-be 2-en is lehet hogy nem jók lehet valami más gond van azon belül!
Nézd át!
Cím: Besül az admin
Írta: hunpeesta - 2011. Október 18. - 21:35:23
Köszönöm a segítséget!De sajnos a hiba még mindig fenn áll, ha lemegy az id0-ás játékos akkor annyi neki de ha fel jön valaki és id0 lesz akkor már minden mûködik.És ha más id-jü játékos megy le akkor semmi baja csak a 0-id jü nél sül be.
Cím: Besül az admin
Írta: Zsolesszka - 2011. Október 18. - 23:15:09
Azokból a parancsokból is publikálhatnál párat amelyekben ez a hiba üzenet keletkezik: \"Rossz id-t irtál be\".
Mert valószínû a parancs/ok felépítésében lehet a gond.
Cím: Besül az admin
Írta: hunpeesta - 2011. Október 19. - 15:15:07
Tessék:
 
      COMMAND:goto(playerid, params[])
{
if(IsPlayerConnected(id))
{
    if(PlayerInfo[playerid][Adminszint] >= 1)
{
if(!sscanf(params, \"ui\", id))
{
       new string[64];
       new interior,world;
                new Float:X;
      new Float:Y;
      new Float:Z;
       GetPlayerName(playerid, name, sizeof(name));
       GetPlayerName(id, PlayerName, sizeof(PlayerName));
       format(string, sizeof(string), \"\"KEK\"%s\"NARANCS\" elteleportált hozzád\", name);
       SendClientMessage(id, 0xD8D8D8FF, string);
       format(string, sizeof(string), \"\"NARANCS\"Elteleportáltál hozzá: \"KEK\"%s\"NARANCS\"\", PlayerName);
       SendClientMessage(playerid, 0xD8D8D8FF, string);
   GetPlayerPos(id,X,Y,Z);
   interior = GetPlayerInterior(id);
   world = GetPlayerVirtualWorld(id);
   if(IsPlayerInAnyVehicle(playerid))
   {
   GetPlayerName(id, PlayerName, sizeof(PlayerName));
   SetVehiclePos(GetPlayerVehicleID(playerid),X+5,Y+3,Z);
   new vehicle;
   vehicle = GetPlayerVehicleID(playerid);
   LinkVehicleToInterior(vehicle,interior);
   SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), world);
   }
   else
   {
   SetPlayerPos(playerid, X+1, Y+1, Z);
   SetPlayerInterior(playerid, interior);
   SetPlayerVirtualWorld(playerid, world);
   }
return 1;
}
else return SendClientMessage(playerid, 0xD8D8D8FF, \"Használat: /goto [iD]\");
}
else return SendClientMessage(playerid, 0xD8D8D8FF, \"Ezt a parancsot nem használhatod!\");
}
else return SendClientMessage(playerid, 0xD8D8D8FF, \"Rossz ID-t adtál meg!\");
}
Cím: Besül az admin
Írta: Zsolesszka - 2011. Október 19. - 17:13:36
Azaz id az honnan van?
 
      COMMAND:goto(playerid, params[])
      {
      if(IsPlayerConnected(id))
[/quote]
Az a változó az oka a nálad tapasztalt hibának. Gondold újra ez egész goto parancs felépítését elég nagy a káosz benne.
Cím: Besül az admin
Írta: hunpeesta - 2011. Október 19. - 17:32:17
Rendben köszönöm a segítséget! :)