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: smart - 2011. március 15. - 11:14:58

Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 11:14:58
Csá all! Valamiért nem mûködik ez a /elrabol DCMD-s parancs, ha beírom nem történik semmi és nem tudom mi lehet a hiba :D Remélem ti rájöttök. :D
 
//==========DCMD Parancsok=================//
dcmd_elrabol(playerid,params[])
{
new giveplayerid;
if (sscanf(params, \"u\", giveplayerid))
{
    if(GetPlayerTeam(playerid) == Zsaru)
    {
        SendClientMessage(playerid, COLOR_RED,\"Te hatósági személy vagy! Hogy képzeled hogy embereket rabolsz???\");
}
else
{
       new Float:X;
           new Float:Y;
           new Float:Z;
           GetPlayerPos(giveplayerid, X, Y, Z);
       if(IsPlayerInRangeOfPoint(playerid, 5, X, Y, Z))
       {
      new rablokocsi;
          rablokocsi = GetPlayerVehicleID(playerid);
               if(rablokocsi == 413 | 418 | 459)
          {
              new vehid;
              vehid = GetPlayerVehicleID(giveplayerid);
              if(IsPlayerInVehicle(giveplayerid, vehid))
              {
                  SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Akit kiszemeltél jármûben van! Nem tudod elrabolni, próbálkozz késõbb!\");
         }
         else
         {
                PutPlayerInVehicle(giveplayerid,rablokocsi,3);
         }
      }
      else
      {
          SendClientMessage(playerid, COLOR_ULTRARED,\"Ezzel a verdával nem rabolhatsz embereket!\");
      }
   }
   else
   {
       SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy elég közel a játékoshoz, hogy elrabold!\");
   }
}
}
else
{
if(giveplayerid == INVALID_PLAYER_ID)
{
   SendClientMessage(playerid, COLOR_WHITE,\"Hiba: a játékos akit elakartál rabolni nincs fent a szerveren!\");
   }
}
return 1;
}

 
Várom az ötleteket :D
E: szerintem az IsPlayerInRangeOfPointtal lesz a hiba. Lehet, hogy  PlayerToPoint kellene?
Cím: /elrablás [id] parancs DCMD-vel
Írta: jana4 - 2011. március 15. - 11:38:31
Lehet, hogy ezt a fontos lépést nem tetted meg:
 

public OnPlayerCommandText(playerid, cmdtext[])
{
      dcmd(elrabol, 7, cmdtext);
      return 0;
}
Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 11:43:38
dede ezek is megvannak :D :D de jó tipp volt ;)
Cím: /elrablás [id] parancs DCMD-vel
Írta: jana4 - 2011. március 15. - 11:48:57
Írd át ZCMD-re. A DCMD idejétmúlt.

Nincs ötletem, hogy miért ne müködne.
Cím: /elrablás [id] parancs DCMD-vel
Írta: Epsilon - 2011. március 15. - 14:23:34
{ } -ket cseszted el.
Cím: /elrablás [id] parancs DCMD-vel
Írta: ChuckNorris - 2011. március 15. - 15:36:43
Idézetet írta: Epsilon date=1300195414\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6834\" data-ipsquote-contentclass=\"forums_Topic
{ } -ket cseszted el.
 
Nem,a sscanfot használja rosszul.
Tesk: (Nem teszteltem,csak itt írtam)
 
dcmd_elrabol(playerid,params[])
{
new giveplayerid,Float:pPos[3];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"Használd: /elrabol [id]\");
if(GetPlayerTeam(playerid) == Zsaru) return SendClientMessage(playerid, COLOR_RED,\"Te hatósági személy vagy! Hogy képzeled hogy embereket rabolsz???\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE,\"Hiba: a játékos akit elakartál rabolni nincs fent a szerveren!\");
GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 5, pPos[0], pPos[1], pPos[2])) return SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy elég közel a játékoshoz, hogy elrabold!\");
if(GetPlayerVehicleID(playerid) != 413 | 418 | 459) return SendClientMessage(playerid, COLOR_ULTRARED,\"Ezzel a verdával nem rabolhatsz embereket!\");
if(IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(giveplayerid))) return SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Akit kiszemeltél jármûben van! Nem tudod elrabolni, próbálkozz késõbb!\");
return PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(playerid),3);
}
Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 16:24:06
A legendás Chuck Norris :D köszönöm a válaszokat! Ki is próbálom, ha jó akkor zárok :D
E: hiába vagyok a rablókocsival azt írja hogy azzal nem lehet rabolni  :dodge:
Cím: /elrablás [id] parancs DCMD-vel
Írta: Csabesz - 2011. március 15. - 16:34:15
Idézetet írta: smart date=1300202646\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6834\" data-ipsquote-contentclass=\"forums_Topic
hiába vagyok a rablókocsival azt írja hogy azzal nem lehet rabolni  :dodge:
 
Próbáld meg ezt, nem tudom, hogy jó lesz-e, de remélem.  ;)
 
dcmd_elrabol(playerid,params[])
{
new giveplayerid,Float:pPos[3];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"Használd: /elrabol [id]\");
if(GetPlayerTeam(playerid) == Zsaru) return SendClientMessage(playerid, COLOR_RED,\"Te hatósági személy vagy! Hogy képzeled hogy embereket rabolsz???\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE,\"Hiba: a játékos akit elakartál rabolni nincs fent a szerveren!\");
GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 5, pPos[0], pPos[1], pPos[2])) return SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy elég közel a játékoshoz, hogy elrabold!\");
if(GetPlayerVehicleID(playerid) != 413 || GetPlayerVehicleID(playerid) != 418 || GetPlayerVehicleID(playerid) != 459) return SendClientMessage(playerid, COLOR_ULTRARED,\"Ezzel a verdával nem rabolhatsz embereket!\");
if(IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(giveplayerid))) return SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Akit kiszemeltél jármûben van! Nem tudod elrabolni, próbálkozz késõbb!\");
return PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(playerid),3);
}
Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 16:42:33
még mindig ugyanaz a hiba :D de már jó úton haladunk ;)
Cím: /elrablás [id] parancs DCMD-vel
Írta: Csabesz - 2011. március 15. - 16:59:34
Idézetet írta: smart date=1300203753\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6834\" data-ipsquote-contentclass=\"forums_Topic
még mindig ugyanaz a hiba :D de már jó úton haladunk ;)
 
Várj, most a 413, 418, 459 a jármû tipúsát vagy azonosítóját jelölni?
Cím: /elrablás [id] parancs DCMD-vel
Írta: jana4 - 2011. március 15. - 17:00:55
Szerintem kell a GetVehicleModel függvény használata. ;)
Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 17:18:06
Idézetet írta: IceMan™ date=1300204774\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6834\" data-ipsquote-contentclass=\"forums_Topic


még mindig ugyanaz a hiba :D de már jó úton haladunk ;)
 
Várj, most a 413, 418, 459 a jármû tipúsát vagy azonosítóját jelölni?
 
[/quote]
ez a kocsi ID-je ;)
Cím: /elrablás [id] parancs DCMD-vel
Írta: ChuckNorris - 2011. március 15. - 18:39:42
Ha azt akarod,hogy az tudjon rabolni aki abban a bizonyos jármûvek egyikében ül: (Tehát jármû azonosító)
 
dcmd_elrabol(playerid,params[])
{
new giveplayerid,Float:pPos[3];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"Használd: /elrabol [id]\");
if(GetPlayerTeam(playerid) == Zsaru) return SendClientMessage(playerid, COLOR_RED,\"Te hatósági személy vagy! Hogy képzeled hogy embereket rabolsz???\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE,\"Hiba: a játékos akit elakartál rabolni nincs fent a szerveren!\");
GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 5, pPos[0], pPos[1], pPos[2])) return SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy elég közel a játékoshoz, hogy elrabold!\");
if(GetPlayerVehicleID(playerid) != 413 && GetPlayerVehicleID(playerid) != 418 && GetPlayerVehicleID(playerid) != 459) return SendClientMessage(playerid, COLOR_ULTRARED,\"Ezzel a verdával nem rabolhatsz embereket!\");
if(IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(giveplayerid))) return SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Akit kiszemeltél jármûben van! Nem tudod elrabolni, próbálkozz késõbb!\");
return PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(playerid),3);
}

 
Vagy ha azt akarod,hogy azzal a bizonyos jármû modellel mûködjön: (Tehát ha pl van egy elegy-ed és azt aakrod hogy csak azzal menjen akkor a fenti,ha viszont az összes elegyet akarod akkor ez a kód kell neked)
 
dcmd_elrabol(playerid,params[])
{
new giveplayerid,Float:pPos[3];
if(sscanf(params, \"u\", giveplayerid)) return SendClientMessage(playerid, COLOR_RED,\"Használd: /elrabol [id]\");
if(GetPlayerTeam(playerid) == Zsaru) return SendClientMessage(playerid, COLOR_RED,\"Te hatósági személy vagy! Hogy képzeled hogy embereket rabolsz???\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE,\"Hiba: a játékos akit elakartál rabolni nincs fent a szerveren!\");
GetPlayerPos(giveplayerid, pPos[0], pPos[1], pPos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 5, pPos[0], pPos[1], pPos[2])) return SendClientMessage(playerid, COLOR_ORANGE, \"Nem vagy elég közel a játékoshoz, hogy elrabold!\");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 413 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 418 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 459) return SendClientMessage(playerid, COLOR_ULTRARED,\"Ezzel a verdával nem rabolhatsz embereket!\");
if(IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(giveplayerid))) return SendClientMessage(playerid,COLOR_LIGHTBLUE,\"Akit kiszemeltél jármûben van! Nem tudod elrabolni, próbálkozz késõbb!\");
return PutPlayerInVehicle(giveplayerid,GetPlayerVehicleID(playerid),3);
}
Cím: /elrablás [id] parancs DCMD-vel
Írta: smart - 2011. március 15. - 19:48:04
Chuck a PROFI!! :D Minden tiszteletem a tiéd! >:D a Többieknek is köszönöm ám  ;D
 zárok :D