Neon csövek Sziasztok!
Anno jó sok változat készült Neon scriptekből.
Na de itt van egy, ami szerintem a lehető legjobb választás.
Feltétele a GVar plugin, melynek használatát maximálisan ajánlom.
Forráskód #define FILTERSCRIPT
#include <a_samp>
#include <gvar>
#include <streamer>
#include <zcmd>
#define DIALOG_NEON 2048
new string[144];
enum e_Neons { neonName[32], neonObjectID, Float:nPosX, Float:nPosY, Float:nPosZ, Float:nPosRotX, Float:nPosRotY, Float:nPosRotZ, bool:nDouble }
new Neons[][e_Neons] = {
{\"Kék\", 18648, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Piros\", 18647, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Zöld\", 18649, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Fehér\", 18652, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Rózsaszín\", 18651, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Sárga\", 18650, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Rendőr fény\", 18646, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0, true}, // + -0.8
{\"Interior Fény\", 18646, 0.0, 0.0, 0.0, 2.0, 2.0, 3.0, false},
{\"Hátsó Neon\", 18646, 0.0, -1.5, -1.0, 2.0, 2.0, 3.0, false},
{\"Első Neon\", 18646, 0.0, 1.5, -0.6, 2.0, 2.0, 3.0, false},
{\"Tető Neon\", 18646, -0.5, -0.2, 0.8, 2.0, 2.0, 3.0, false}
};
CMD:neon(playerid) {
new dialog_string[512];
for(new x; x < sizeof(Neons); x++) {
format(dialog_string, sizeof(dialog_string), \"%s%s\\n\", dialog_string, Neons
}
format(dialog_string, sizeof(dialog_string), \"%sMinden neon törlése\", dialog_string);
ShowPlayerDialog(playerid, DIALOG_NEON, DIALOG_STYLE_LIST, \"Válassz a lehetőségek közül\", dialog_string, \"Kiválaszt\", \"Kilépés\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch(dialogid) {
case DIALOG_NEON: {
if(!response) return 1;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, \"Hiba! Nem ülsz autóban!\");
new vehicleid = GetPlayerVehicleID(playerid), objectid;
if(listitem == sizeof(Neons)) {
RemoveNeonFromVeh(vehicleid);
SendClientMessage(playerid, 0xAFCCCFFF, \"Neon: Sikeresen törölted az összeset!\");
}else{
objectid = CreateDynamicObject(Neons[listitem][neonObjectID], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(objectid, vehicleid, Neons[listitem][nPosX], Neons[listitem][nPosY], Neons[listitem][nPosZ], Neons[listitem][nPosRotX], Neons[listitem][nPosRotY], Neons[listitem][nPosRotZ]);
format(string, 32, \"Neon%i\", listitem);
SetGVarInt(string, objectid, vehicleid);
if(Neons[listitem][nDouble] == true) {
objectid = CreateDynamicObject(Neons[listitem][neonObjectID], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachDynamicObjectToVehicle(objectid, GetPlayerVehicleID(playerid), -Neons[listitem][nPosX], Neons[listitem][nPosY], Neons[listitem][nPosZ], Neons[listitem][nPosRotX], Neons[listitem][nPosRotY], Neons[listitem][nPosRotZ]);
format(string, 32, \"Neon%i_2\", listitem);
SetGVarInt(string, objectid, vehicleid);
}
format(string, 144, \"Neon: Sikeresen telepítetted a(z) \'%s\' neoncsövet!\", Neons[listitem][neonName]);
SendClientMessage(playerid, 0x00FF00FF, string);
}
}
}
return 0;
}
public OnVehicleSpawn(vehicleid) {
RemoveNeonFromVeh(vehicleid);
return 1;
}
public OnVehicleDeath(vehicleid, killerid) {
RemoveNeonFromVeh(vehicleid);
return 1;
}
stock RemoveNeonFromVeh(vehicleid) {
for(new x; x < sizeof(Neons); x++) {
format(string, 32, \"Neon%i\", x);
if(GetGVarType(string, vehicleid) == GLOBAL_VARTYPE_NONE) continue;
DestroyDynamicObject(GetGVarInt(string, vehicleid));
DeleteGVar(string, vehicleid);
if(Neons
format(string, 32, \"Neon%i_2\", x);
DestroyDynamicObject(GetGVarInt(string, vehicleid));
DeleteGVar(string, vehicleid);
}
}
}
Ezt a szkriptet 2013 nyarán készítettem egyébként. Nem áll módomban fejleszteni, módosítani a szkriptet. Bug esetén természetesen javítom.