Szerző Téma: fegyver lekérdezés,dupla parancs  (Megtekintve 1442 alkalommal)

fegyver lekérdezés,dupla parancs
« Dátum: 2013. december 16. - 00:43:46 »
0 Show voters
Hellotok lenne pár kérdésem.:
1.Hogy lehet azt megoldani hogy beírom hogy /lampa akkor felkapcsolja majd megint beírom hogy /lampa akkor kikapcsol.
nekem nem az kell hogy ki és bekapcsoljon hanem csak az hogy ha egy parancsot eslõre beírom akkor tegyen valamit,majd ha megint beírom akkor mást tegyen:DD
2.A rabláshoz szeretném lekérdezni azt hogy van-e a játékos kezébe fegyver.!
Megvan hogy elvileg ez a függvény kell -> GetPlayerWeaponData
De nem tudom hogy lehet megoldani hogy kizárja az \"öklöt\" mint fegyvert és csak akkor engedjen tovább a parancsba hogyha van nála valamilyen másik fegyver.
3.Hogy lehetne megoldani hogy pl..: egy játékos vesz egy ládát a boltba,és az lerakja és abba tudd tenni dolgokat:S?

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
fegyver lekérdezés,dupla parancs
« Válasz #1 Dátum: 2013. december 16. - 07:38:36 »
+1 Show voters
1.
http://wiki.sa-mp.com/wiki/GetVehicleParamsEx
http://wiki.sa-mp.com/wiki/SetVehicleParamsEx
vagy bool-ban eltárolod hogy fel van kapcsolva ( true ) vagy le van kapcsolva ( false )
2.
http://wiki.sa-mp.com/wiki/GetPlayerWeapon
erre van szükséged...a GetPlayerWeaponData a nála levõ összes fegyvert kérdezi le, ez meg csak a kezében levõt...
http://wiki.sa-mp.com/wiki/Weapons
itt vannak a fegyver ID-k
az ököl ellenõrzéséhez erre lesz szükséged:
http://wiki.sa-mp.com/wiki/Control_Structures#if
3.
én is éppen ilyen rendszeren dolgozom, csak én külön fejlesztettem egy item rendszert a tárolás mellett, szóval teljesen kompatibilis a kettõ...nálad nem tudom milyen dolgok vannak és hogyan megoldva...de kiindulhatsz egy általános széf rendszerbõl...eltárolhatsz benne drogot, fegyvert, pénzt és hozzávalót...de ha az elsõ két dolog nem ment akkor ezt nem is részletezem, még neked magas lenne :) egy széf rendszert átalakítva talán megtudnád oldani
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

fegyver lekérdezés,dupla parancs
« Válasz #2 Dátum: 2013. december 16. - 15:50:47 »
0 Show voters

1.
http://wiki.sa-mp.com/wiki/GetVehicleParamsEx
http://wiki.sa-mp.com/wiki/SetVehicleParamsEx
vagy bool-ban eltárolod hogy fel van kapcsolva ( true ) vagy le van kapcsolva ( false )
2.
http://wiki.sa-mp.com/wiki/GetPlayerWeapon
erre van szükséged...a GetPlayerWeaponData a nála levõ összes fegyvert kérdezi le, ez meg csak a kezében levõt...
http://wiki.sa-mp.com/wiki/Weapons
itt vannak a fegyver ID-k
az ököl ellenõrzéséhez erre lesz szükséged:
http://wiki.sa-mp.com/wiki/Control_Structures#if
3.
én is éppen ilyen rendszeren dolgozom, csak én külön fejlesztettem egy item rendszert a tárolás mellett, szóval teljesen kompatibilis a kettõ...nálad nem tudom milyen dolgok vannak és hogyan megoldva...de kiindulhatsz egy általános széf rendszerbõl...eltárolhatsz benne drogot, fegyvert, pénzt és hozzávalót...de ha az elsõ két dolog nem ment akkor ezt nem is részletezem, még neked magas lenne :) egy széf rendszert átalakítva talán megtudnád oldani
 
[/quote]köszönöm a segítséged.:DD
egy kérdésem lenne hogy ez miért erroros?
 
if(PlayerToPoint(20.0, playerid, -23.6452,-55.6229,1003.5469) )
      {
          if(GetPlayerWeapon(playerid) == 1 );
         {
             if(PlayerInfo[playerid][szervTag] == 1 || PlayerInfo[playerid][szervLeader] == 1)
            {
            SzervUzi(1, COLOR_LIGHTRED, \"[bANDAÜZENET]: Elkezdtétek pakolni a pénzt!\");
            }
            else if(PlayerInfo[playerid][szervTag] == 2 || PlayerInfo[playerid][szervLeader] == 2)
            {
            SzervUzi(2, COLOR_LIGHTRED, \"[bANDAÜZENET]: Elkezdtétek pakolni a pénzt!\");
            }
            SendClientMessage(playerid,COLOR_LIGHTRED,\"Elkezdted pakolni a pénzt...\");
            RobTimer[playerid] = SetTimerEx(\"elegvolt3\", 300*60*2, false, \"i\", playerid);
            TogglePlayerControllable(playerid, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
            SendRadioMessage(1, 0x33AA33AA,\"Központ:Minden egységnek figyelem!!!\");
            SendRadioMessage(1, 0x33AA33AA,\"Központ:Kirabolták A kisboltot EQ ban!\");
            SendRadioMessage(1, 0x33AA33AA,\"Központ:Minden szabad egység menjen oda!\");
            SendRadioMessage(9, 0x33AA33AA,\"Központ:Minden egységnek figyelem!!!\");
            SendRadioMessage(9, 0x33AA33AA,\"Központ:Kirabolták A kisboltot EQ ban!\");
            SendRadioMessage(9, 0x33AA33AA,\"Központ:Minden szabad egység menjen oda!\");
            new nev[32];
            GetPlayerName(playerid, nev, sizeof(nev));
            format(string, sizeof(string), \"* %s elkezdte pakolni a pénzt a táskába\", nev);
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetPlayerChatBubble(playerid, \"elkezdte pakolni a pénzt a táskába\", COLOR_PURPLE, 80.0, 10000);
         }else SendClientMessage(playerid,0x165AC0FF,\"Nincs fegyvered amivel rabolhatnál!\");
      }else SendClientMessage(playerid,0x165AC0FF,\"Nem vagy kisboltban, vagy nem rég rabolták ki.\");
   }else SendClientMessage(playerid,0x165AC0FF,\"Nem vagy kisboltban, vagy nem rég rabolták ki.\");

 
ujjii.pwn(57783) : error 036: empty statement
C:\\Documents and Settings\\Rendszergazda\\Asztal\\~~~\\ujjii.pwn(57814) : error 029: invalid expression, assumed zero

 

if(GetPlayerWeapon(playerid) == 1 );
                                       {

<- erre írja az elsõ errort a 2.at meg az if zárására

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
fegyver lekérdezés,dupla parancs
« Válasz #3 Dátum: 2013. december 16. - 15:58:12 »
+1 Show voters
mert te írtad :D
nem kell ; az if után()
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

fegyver lekérdezés,dupla parancs
« Válasz #4 Dátum: 2013. december 16. - 15:59:14 »
0 Show voters
ja tényleg :\'D bocs

Dupla hozzászólás automatikusan összefûzve. ( 2013. december 16. - 17:57:05 )

hello van ez a kis codem.!
 
   if(strcmp(cmd, \"/tagok\", true) == 0)
{   
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
new S[23]; // 2+20+1
   if(PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17 )
   {
      for(new i = 0; i < MAX_PLAYERS; i++)
      {   
         SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");
         if(PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17 )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }   
   else if(if(FRAKCIO) )
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_BLUE, \"===|Online Rendõrök|===\");
         if(if(FRAKCIO) )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   else if(if(FRAKCIO) )
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_RED, \"===|Online Tüzoltók|===\");
         if(if(FRAKCIO) )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   else if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7 )
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_BLUE, \"===|Online Testõrök|===\");
         if(if(FRAKCIO) )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   else if(if(FRAKCIO) )
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_BLUE, \"===|Online Rádiósok|===\");
         if(if(FRAKCIO))
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   else if(if(FRAKCIO))
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_BLUE, \"===|Online Rádiósok|===\");
         if(FRAKCIO)
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   else SendClientMessage(playerid,COLOR_RED,\"Nem vagy egy frakció/szerverzet tagja sem!\");
   return 1;
}

az a gond vele hogyha beírom hogy /tagok akkor kiadja kb 60x hogy ===|Onlinge (frakciónév amibe vagyok)|===.
mitõl lehet ez?
« Utoljára szerkesztve: 2013. december 16. - 17:57:05 írta rcsbakos2 »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
fegyver lekérdezés,dupla parancs
« Válasz #5 Dátum: 2013. december 16. - 18:02:56 »
0 Show voters
for(new i = 0; i < MAX_PLAYERS; i++)
{
   SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");

 
->
 
SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");
   for(new i = 0; i < MAX_PLAYERS; i++)
   {

fegyver lekérdezés,dupla parancs
« Válasz #6 Dátum: 2013. december 16. - 19:05:22 »
0 Show voters

 
for(new i = 0; i < MAX_PLAYERS; i++)
{
   SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");

 
->
 
SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");
   for(new i = 0; i < MAX_PLAYERS; i++)
   {

 

[/quote]
 
if(strcmp(cmd, \"/tagok\", true) == 0)
{   
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
new S[23]; // 2+20+1
   if(PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17 )
   {
      for(new i = 0; i < MAX_PLAYERS; i++)
      {   
         SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");
         if(PlayerInfo[pMember] == 17 || PlayerInfo[pLeader] == 17 )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }   
   else if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 )
   {   
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         SendClientMessage(playerid, COLOR_BLUE, \"===|Online Rendõrök|===\");
         if(PlayerInfo[pMember] == 17 || PlayerInfo[pLeader] == 17 )
         {
            format(S, sizeof(S), \"- %s\", sendername);
            SendClientMessage(playerid, COLOR_LIGHTRED, S);
            SendClientMessage(playerid, 0x00ff15AA, \"======================\");
         }
      }
   }
   return 1;
}

így is ://

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
fegyver lekérdezés,dupla parancs
« Válasz #7 Dátum: 2013. december 16. - 19:10:45 »
+1 Show voters
Én nem ezt írtam nekes. Az altalam írt kódban az msg függvényt kivettem a ciklusból, hogy ne ismetelgesse azt, de te nem tettél így... Ha ezt az alapvetõ hibát nem látod, akkor jobb lenne tanulnod még egy kicsit - nem bántásból.

fegyver lekérdezés,dupla parancs
« Válasz #8 Dátum: 2013. december 16. - 19:59:34 »
0 Show voters

Én nem ezt írtam nekes. Az altalam írt kódban az msg függvényt kivettem a ciklusból, hogy ne ismetelgesse azt, de te nem tettél így... Ha ezt az alapvetõ hibát nem látod, akkor jobb lenne tanulnod még egy kicsit - nem bántásból.
 
[/quote]Köszönöm hogy nem írtad le a \"megoldást\" így legalább tanultam a hibámból!:DD

Nem elérhető SSK

  • 232
    • Profil megtekintése
fegyver lekérdezés,dupla parancs
« Válasz #9 Dátum: 2013. december 16. - 20:02:43 »
0 Show voters

 
for(new i = 0; i < MAX_PLAYERS; i++)
{
   SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");

 
->
 
SendClientMessage(playerid, 0x00ff15AA, \"===|Online szerelõk|===\");
   for(new i = 0; i < MAX_PLAYERS; i++)
   {

 

[/quote]
Ez mi ha nem megoldás?
Az üzenetet a for cikluson kívül rakd ahogy azt õ leírta.

fegyver lekérdezés,dupla parancs
« Válasz #10 Dátum: 2013. december 16. - 23:19:56 »
0 Show voters
Légyszíves olvasd át a válaszomat néhányszor.!
õ õ õ
van ez a parancsom, ami azt tárolja hogy a szerelõkocsira lámpát rak.
hogy tudom megoldani hogy amikor beírja 2.x hogy /vlampa akkor leszedje a jelzõfényt?
 
if(strcmp(cmd, \"/vlampa\", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 17)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
      if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
        {
         new vehicleid = GetPlayerVehicleID(playerid);
         szlampa[vehicleid] = CreateObject(19294,0,0,0,0,0,0);
                   szlampak[vehicleid] = CreateObject(19294,0,0,0,0,0,0);
                   AttachObjectToVehicle(szlampa[vehicleid], vehicleid,   0.494999, -0.469999, 1.559998, 0.000000, 0.000000, 0.000000);
                   AttachObjectToVehicle(szlampak[vehicleid], vehicleid,    -0.494999, -0.469999, 1.559998, 0.000000, 0.000000, 0.000000);
      }
   }
}
return 1;
}

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
fegyver lekérdezés,dupla parancs
« Válasz #11 Dátum: 2013. december 16. - 23:46:03 »
0 Show voters
Elégge rosszul fogalmaztad meg, és félreérthetõ volt, még számomra is. A lámpásnál pedig egy változóval ellenõrzöd, hogy fel van e kapcsolva, na meg egyszerûen DestroyObjectet használsz. Pl.:
 
if(lampa == true)
{
   lampa = false;
   DestroyObject
}
else if(lampa == false) // Azért else if, és nem simán else, mert akkor miután alampa-t false állítottuk, lefutna a truera állítás is, így leszedné, majd visszarakná az objectet a kocsira. Így viszont csak az fut le, amelyik hamarabb teljesül, és ott meg is áll.
{
   lampa = true;
   CreateObject
}

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
fegyver lekérdezés,dupla parancs
« Válasz #12 Dátum: 2013. december 17. - 07:37:28 »
0 Show voters
new vehicleid = GetPlayerVehicleID(playerid);
if (GetVehicleModel(vehicleid) == 525)
{
   if(szlampa[vehicleid] == 0) // ; nélkül :D:P
   {
       szlampa[vehicleid] = CreateObject(19294,0,0,0,0,0,0);
       szlampak[vehicleid] = CreateObject(19294,0,0,0,0,0,0);
       AttachObjectToVehicle(szlampa[vehicleid],vehicleid,0.494999,-0.469999,1.559998,0.000000,0.000000,0.000000);
       AttachObjectToVehicle(szlampak[vehicleid],vehicleid,-0.494999,-0.469999,1.559998,0.000000,0.000000,0.000000);
   }
   else
   {
       DestroyObject(szlampa[vehicleid]);
       DestroyObject(szlampak[vehicleid]);
       //
       szlampa[vehicleid] = 0;
       szlampak[vehicleid] = 0;
   }
}
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal