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
#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;
}
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.
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;
}