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: tudvari - 2012. március 17. - 20:42:57

Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 20:42:57
Hello,
van az admin jail paramcsom,de ha beírom akkor nem találja a játékost.Pl.: az id-m: 0 és ha beírom hogy /aj 0 mert 60 akkor azt írja ki hogy beraktam -t (vagyis semmit) admin jailbe.
 
CMD:aj(playerid,params[])
{
new id,ok,ido;
if(sscanf(params,\"isd\",id,ok,ido))return SendClientMessage(playerid,SZURKE,\"Használat: /aj [Játékos ID] [Ok] [idõ]\");
{
    if (Belepve[playerid] != 0)
    {
   if(JatekosInfo[playerid][Admin] >= 1)
   {
      if (id != INVALID_PLAYER_ID)
      {
                    JatekosInfo[id][AdminBorton] = ido;
                    SetPlayerPos(id,1302.519897,-1.787510,1001.028259);
                    SetPlayerInterior(id,18);
                    new string[256];
                    new string2[256];
                    GetPlayerName(playerid,nev,sizeof(nev));
                    new lecsukottszemely[MAX_PLAYER_NAME];
                    GetPlayerName(id,lecsukottszemely,sizeof(lecsukottszemely));
                    format(string,sizeof(string),\"%s berakott %d percre az Admin Börtönbe! Ok: %s\",nev,ido,ok);
                    format(string2,sizeof(string2),\"%s Admin Börtönbe rakta %s-t %d percre.Ok: %s\",nev,lecsukottszemely,ido,ok);
                    SendClientMessage(playerid, SARGA, string2);
                    SendClientMessage(id, NARANCS, string);
                    AdminnakUzenet(VNARANCS,string2,1);
                    TextDrawShowForPlayer(playerid,borton[id]);
      }
                else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
 
   }
   else SendClientMessage(playerid, HIBA, \"Minimum 1-es szintû adminnak kell lenned!\");
}
        else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
}
return 0;
}

 
Másik problémám,hogy van a parancsom,ami elfogadja a játékos hívását,de ha beírom az ID-t nem érzékeli ID-nek. (Kiírja a használati útmutatoját(Használat: /elfogadhivas [iD]))
[pawn]
CMD:elfogadhivas(playerid,vehicleid,params[])
{
if (Belepve[playerid] != 0)
{
    new id;
    if(sscanf(params,\"i\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /elfogadhivas [iD]\");
   {
      if(JatekosInfo[playerid][Frakcio] == 2)
      {
         if(id != INVALID_PLAYER_ID)
         {
             if(JatekosInfo[id][MentotHivott] == 1)
             {
                 JatekosInfo[id][MentotHivott] = 0;
               new Float:x,Float:y,Float:z;
               GetPlayerPos(id,x,y,z);
               SetPlayerCheckpoint(playerid,x,y,z,2);
               GetPlayerName(playerid,nev,sizeof(nev));
               SendClientMessage(playerid, SIKERES, \"Elfogadtad a hívást.Menj ki a helyszínre!\");
               new string[256];
               format(string,sizeof(string),\"%s elfogadta a hívásodat.Várj amíg kiérkezik a mentõs!\",nev);
               SendClientMessage(id, NARANCS,string);
               new hivonev[MAX_PLAYER_NAME];
               GetPlayerName(id,hivonev,sizeof(hivonev));
               new string2[256];
               format(string2,sizeof(string2),\"Mentõs %s elfogadta %s hívását.\",nev,hivonev);
               printf(string2);
             }
             else SendClientMessage(playerid, HIBA, \"A játékos nem hívott mentõt!\");
         }
         else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
      }
      if(JatekosInfo[playerid][Frakcio] == 4)
      {
      if(id != INVALID_PLAYER_ID)
         {
             if(JatekosInfo[id][TaxitHivott] == 1)
             {
                 JatekosInfo[id][TaxitHivott] = 0;
               new Float:x,Float:y,Float:z;
               GetPlayerPos(id,x,y,z);
               SetPlayerCheckpoint(playerid,x,y,z,2);
               GetPlayerName(playerid,nev,sizeof(nev));
               SendClientMessage(playerid, SIKERES, \"Elfogadtad a hívást.Menj ki a hívóhoz!\");
               new string[256];
               format(string,sizeof(string),\"%s elfogadta a hívásodat.Várj amíg megérkezik a taxi.\",nev);
               SendClientMessage(id, NARANCS,string);
               new hivonev[MAX_PLAYER_NAME];
               GetPlayerName(id,hivonev,sizeof(hivonev));
               new string2[256];
               format(string2,sizeof(string2),\"Taxis %s elfogadta %s hívását.\",nev,hivonev);
               printf(string2);
             }
             else SendClientMessage(playerid, HIBA, \"A játékos nem hívott taxit!\");
         }
         else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
      }
   }
    }
    else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 0;
}[/pawn]
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: Fighter - 2012. március 17. - 20:58:14
Szerintm az id a játékos id  u paramétert kellene irnod.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 21:06:23
De máshol jó az i,d is.
Ui.: u sem jó.
Ugyan úgy:  Tudvari Admin Börtönbe rakta *-t 10 percre.Ok: DM (* helyére kéne az id változóhoz tartozó név,de már magát az id változó playerid-jét nem találja meg)
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: Gabor.. - 2012. március 17. - 21:24:02
Ez nagyon összevisszaság, nem lehet kivenni belõle semmit  ??? Szerintem a lecsukottszemely változó az fölösleges, vagy nemtudom, de nem látok át a scripten.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 21:37:11
Nem tudom,szerintem átláható.Miért lenne fölösleges a lecsukottszemely változó?Abban tárolom a \"célszemély\" nevét.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: Gabor.. - 2012. március 17. - 21:48:36
Bár, az igaz, de szerintem nem nagyon átllátható
 
GetPlayerName(playerid, lecsukottszemely, MAX_PLAYER_NAME);

 Így próbáld meg
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 22:02:35
De már magával az id-vel van a probléma.Nem helyez át sehova,nem állítja át a börtönidõt stb.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: Gabor.. - 2012. március 17. - 22:06:05
if(sscanf(params,\"uis[128]\",id,ido,ok)) return SendClientMessage(playerid,SZURKE,\"Használat: /aj [Játékos ID] [idõ] [Ok]\");

Így?
UI.:Majd leszek, mert most egy filmet kezdek el nézni.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 22:17:42
Köszi,megy :D az elsõ akkor megoldva.
Másik problémám,hogy van a parancsom,ami elfogadja a játékos hívását,de ha beírom az ID-t nem érzékeli ID-nek. (Kiírja a használati útmutatoját(Használat: /elfogadhivas [iD]))
[pawn]
CMD:elfogadhivas(playerid,vehicleid,params[])
{
if (Belepve[playerid] != 0)
{
    new id;
    if(sscanf(params,\"i\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /elfogadhivas [iD]\");
   {
      if(JatekosInfo[playerid][Frakcio] == 2)
      {
         if(id != INVALID_PLAYER_ID)
         {
             if(JatekosInfo[id][MentotHivott] == 1)
             {
                 JatekosInfo[id][MentotHivott] = 0;
               new Float:x,Float:y,Float:z;
               GetPlayerPos(id,x,y,z);
               SetPlayerCheckpoint(playerid,x,y,z,2);
               GetPlayerName(playerid,nev,sizeof(nev));
               SendClientMessage(playerid, SIKERES, \"Elfogadtad a hívást.Menj ki a helyszínre!\");
               new string[256];
               format(string,sizeof(string),\"%s elfogadta a hívásodat.Várj amíg kiérkezik a mentõs!\",nev);
               SendClientMessage(id, NARANCS,string);
               new hivonev[MAX_PLAYER_NAME];
               GetPlayerName(id,hivonev,sizeof(hivonev));
               new string2[256];
               format(string2,sizeof(string2),\"Mentõs %s elfogadta %s hívását.\",nev,hivonev);
               printf(string2);
             }
             else SendClientMessage(playerid, HIBA, \"A játékos nem hívott mentõt!\");
         }
         else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
      }
      if(JatekosInfo[playerid][Frakcio] == 4)
      {
      if(id != INVALID_PLAYER_ID)
         {
             if(JatekosInfo[id][TaxitHivott] == 1)
             {
                 JatekosInfo[id][TaxitHivott] = 0;
               new Float:x,Float:y,Float:z;
               GetPlayerPos(id,x,y,z);
               SetPlayerCheckpoint(playerid,x,y,z,2);
               GetPlayerName(playerid,nev,sizeof(nev));
               SendClientMessage(playerid, SIKERES, \"Elfogadtad a hívást.Menj ki a hívóhoz!\");
               new string[256];
               format(string,sizeof(string),\"%s elfogadta a hívásodat.Várj amíg megérkezik a taxi.\",nev);
               SendClientMessage(id, NARANCS,string);
               new hivonev[MAX_PLAYER_NAME];
               GetPlayerName(id,hivonev,sizeof(hivonev));
               new string2[256];
               format(string2,sizeof(string2),\"Taxis %s elfogadta %s hívását.\",nev,hivonev);
               printf(string2);
             }
             else SendClientMessage(playerid, HIBA, \"A játékos nem hívott taxit!\");
         }
         else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
      }
   }
    }
    else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 0;
}[/pawn]
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: DrAkE - 2012. március 17. - 22:20:13
Ez mi?!
 

if(sscanf(params,\"isd\",id,ok,ido))return SendClientMessage(playerid,SZURKE,\"Használat: /aj [Játékos ID] [Ok] [idõ]\");
{ //ITT EZ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4444444444444444444444négynégynégynégynégy!!44!44
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 22:24:11
Azt már megoldottuk,de még most se tudom,miért nem jó ez a sorrend :D
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: 1ST_Chr - 2012. március 17. - 22:53:08
Mi ez a vehicleid? Az nem kell oda...
 

CMD:elfogadhivas(playerid,params[])
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 17. - 23:22:58
Ja bocsi,még egy másik megoldási módszerhez kellet volna.Ettõl megoldódna a probléma?
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: Gabor.. - 2012. március 18. - 07:17:31
if(sscanf(params,\"u\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /elfogadhivas [iD]\");

 Lehet ennél  is ez a baj. \'i\' helyet \'u\'-t írj mindig a Nevek, és az ID-ék használatakor!
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 18. - 09:17:01
Nem jó :S
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: 1ST_Chr - 2012. március 18. - 09:35:56
Bocsi, le tudnád írni mégegyszer, hogy melyik paranccsal mi a probléma? :/
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 18. - 09:41:06
Most már csak a /elfogadhivas a rossz.AZ a baj,hogy pl.: 0-as id-jû vagyok,hívtam is mentõt,de már ott megakad a parancs,hogy azt érzékeli,hogy a kritériumoknak nem megfelelõen írtam be a parancsot.
/elfogadhivas 0 és kiírja hogy: Használat: /elfogadhivas [iD]
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: lackos888 - 2012. március 18. - 09:52:08
Sscanf frissítés?..
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 18. - 09:54:42
az összes többi parancs tök jól megy,és ott pl.: i-vel meg d-vel is jelölöm az id paraméterét és mindkettõt elfogadja.
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: 1ST_Chr - 2012. március 18. - 11:07:51
Azt a vehicleid-s dolgot kijavítottad?
Na meg az amit drake mondott:
 

if(sscanf(params,\"i\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /elfogadhivas [iD]\");
{ //ez helyett
 
if(sscanf(params,\"i\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /elfogadhivas [iD]\");
else
{//így
Cím: Adminjail probléma | nem érzékeli id-nek.
Írta: tudvari - 2012. március 18. - 11:48:30
nem jó.Ezeknél is ugyan az a hiba.
[pawn]CMD:goto(playerid,vehicleid,params[])
{
if (Belepve[playerid] != 0)
{
    new id;
    if(sscanf(params,\"d\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /goto [iD]\");
    {
        if(id != INVALID_PLAYER_ID)
        {
         if(JatekosInfo[playerid][Admin] >= 1)
         {
             new Float:x,Float:y,Float:z;
             GetPlayerPos(id,x,y,z);
            if (GetPlayerState(playerid) == 2)
            {
                new kocsi = GetPlayerVehicleID(playerid);
                SetVehiclePos(kocsi,x,y+4,z);
                SetVehicleVirtualWorld(kocsi,GetPlayerVirtualWorld(id));
            }
            if (GetPlayerState(playerid) != 2)
            {
               SetPlayerPos(playerid,x,y+2,z);
               SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
               SetPlayerInterior(playerid, GetPlayerInterior(id));
            }
         }
           else SendClientMessage(playerid, HIBA, \"Minimum 1-es szintû adminnak kell lenned!\");
            }
           else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
   }
    }
    else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 0;
}
CMD:gethere(playerid,vehicleid,params[])
{
if (Belepve[playerid] != 0)
{
    new id;
    if(sscanf(params,\"d\",id))return SendClientMessage(playerid,SZURKE,\"Használat: /gethere [iD]\");
    {
        if(id != INVALID_PLAYER_ID)
        {
         if(JatekosInfo[playerid][Admin] >= 1)
         {
             new Float:x,Float:y,Float:z;
             GetPlayerPos(playerid,x,y,z);
            if (GetPlayerState(id) == 2)
            {
                new kocsi = GetPlayerVehicleID(id);
                SetVehiclePos(kocsi,x,y+4,z);
                SetVehicleVirtualWorld(kocsi,GetPlayerVirtualWorld(playerid));
            }
            if (GetPlayerState(id) != 2)
            {
               SetPlayerPos(id,x,y+2,z);
               SetPlayerVirtualWorld(id,GetPlayerVirtualWorld(playerid));
               SetPlayerInterior(id, GetPlayerInterior(playerid));
            }
         }
           else SendClientMessage(playerid, HIBA, \"Minimum 1-es szintû adminnak kell lenned!\");
            }
           else SendClientMessage(playerid, HIBA, \"Nincs ilyen játékos!\");
   }
    }
    else SendClientMessage(playerid, HIBA, \"Be kell jelentkezned!\");
return 0;
}[/pawn]