Szerző Téma: Objekt lövő  (Megtekintve 1683 alkalommal)

Objekt lövő
« Dátum: 2015. Július 25. - 17:07:43 »
+2
Teszteletlen, de mivel vihar van csak gyors megírom.
Objekteket lehet kilőni vele.
Szükséges fegyver: Rifle(sima)
Parancsok:
/edit-Lövés után kapcsolható vele a szerkesztő mód
/obj-objektid változtatható meg
Spoiler for kód:


#define FILTERSCRIPT
#include <a_samp>
#define DIALOG_OBJ 666
new obj[MAX_PLAYERS] = 0;
new placed[MAX_PLAYERS];
new editter[MAX_PLAYERS];
public OnFilterScriptInit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
        if (strcmp(\"/obj\", cmdtext, true, 10) == 0)
        {
            ShowPlayerDialog(playerid,DIALOG_OBJ, DIALOG_STYLE_INPUT, \"Objektlövő by JD\", \"ObjektID:\", \"Választ\", \"Bezár\");
           return 1;
        }
        if (strcmp(\"/edit\", cmdtext, true, 10) == 0)
        {
            switch(editter[playerid])
            {
      case 0:editter[playerid]=1;
      case 1:editter[playerid]=0;
   }
   return 1;
        }
        return 1;
}
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(1<obj[playerid]<19486 && weaponid == 33)
{
placed[playerid]=CreateObject(strval(obj), fX, fY, fZ, 0.0, 0.0, 0.0);
if(editter[playerid]==1)
{
   EditObject(playerid, placed[playerid]);
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_OBJ)
    {
        if(!response)
        {
        }
        else
        {
            new beirt = strval(inputtext);
            if (1>beirt>19486)
            {
               SendClientMessage(playerid, -1, \"Helytelen objektID!\");
   }
   else
   {
      obj[playerid] = strval(inputtext);
   }
}
        return 1;
    }
    return 0;
}
public OnPlayerConnect(playerid)
{
editter[playerid]=0;
return 1;
}

Objekt lövő
« Válasz #1 Dátum: 2015. Július 26. - 17:49:37 »
0
Hát nálam nem volt warning ;)
EDIT: Most nézem, látom itt is sikerült kimásolnod az eredeti kódot.
« Utoljára szerkesztve: 2015. Július 26. - 17:55:37 írta JacksonDavis »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Objekt lövő
« Válasz #2 Dátum: 2015. Július 26. - 18:45:02 »
0
ismét kijavítanálak...
ugyan nem teszteltem, de első ránnézésre ez szemet szúrt:
 

switch(editter[playerid])
            {
                                case 0:editter[playerid]=1;
                                case 1:editter[playerid]=0;
                        }

 
ez így kevés a boldogsághoz....
 
EditObject(playerid, object);

 
enélkül a kód nélkül nem fogod tudni szerkeszteni az objectet.
DenesMester pedig azért talál mindig warningot, mivel a fórumon pawn tag.ek közé tett scriptekben elcsúszhatnak a sorok, így mindig loose identional warningot kap, aki beteszi az innen másolt kódokat. és mivel Ő azt hiszi, hogy ez a publikáló hibája, okosnak akar tűnni, de ha Ő ettől boldog....pacsi a fiataloknak.
« Utoljára szerkesztve: 2015. Július 26. - 18:48:49 írta JustaCube »

Objekt lövő
« Válasz #3 Dátum: 2015. Július 26. - 18:48:30 »
0
Az editobject bele van írva.

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Objekt lövő
« Válasz #4 Dátum: 2015. Július 26. - 18:52:23 »
0
az oké, hogy belevan írva. de ebben a formában jelenleg csak akkor tudod szerkeszteni, amikor leraktad az objectet. és így a /edit parancs teljesen feleslegessé válik...

Objekt lövő
« Válasz #5 Dátum: 2015. Július 26. - 19:05:34 »
0
Ha az objekt ki lett lőve és az edit be van kapcsolva, akkor lehet szerkeszteni.

Objekt lövő
« Válasz #6 Dátum: 2016. Szeptember 03. - 16:11:10 »
0
Van benne 2 warning  :D
 javítottam neked  8)
 
#define FILTERSCRIPT
#include <a_samp>
#define DIALOG_OBJ 666
new obj[MAX_PLAYERS] = 0;
new placed[MAX_PLAYERS];
new editter[MAX_PLAYERS];
public OnFilterScriptInit()
{
        return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
        if (strcmp(\"/obj\", cmdtext, true, 10) == 0)
        {
            ShowPlayerDialog(playerid,DIALOG_OBJ, DIALOG_STYLE_INPUT, \"Objektlövő by JD\", \"ObjektID:\", \"Választ\", \"Bezár\");
            return 1;
        }
        if (strcmp(\"/edit\", cmdtext, true, 10) == 0)
        {
            switch(editter[playerid])
            {
   case 0:editter[playerid]=1;
   case 1:editter[playerid]=0;
            }
      return 1;
        }
        return 1;
}
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
        if(1<obj[playerid]<19486 && weaponid == 33)
        {
                placed[playerid]=CreateObject(strval(obj), fX, fY, fZ, 0.0, 0.0, 0.0);
                if(editter[playerid]==1)
                {
                        EditObject(playerid, placed[playerid]);
                }
        }
        return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_OBJ)
    {
        if(!response)
        {
        }
        else
        {
            new beirt = strval(inputtext);
            if (1>beirt>19486)
            {
                SendClientMessage(playerid, -1, \"Helytelen objektID!\");
                        }
                        else
                        {
                                obj[playerid] = strval(inputtext);
                        }
                }
        return 1;
    }
    return 0;
}
public OnPlayerConnect(playerid)
{
        editter[playerid]=0;
        return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal