Sziasztok, csináltam gyakorlás kép egy olyan scriptet, ami lerak egy karácsonyfát (sok értelme nincs de legalább ezt is kipróbáltam :DD)
Viszont ha már lerakjuk akkor jó lenne törölni is és itt jön a probléma. Lekérem, hogy létezik e az object majd utána törlöm de törlés helyett ott marad, a SendClientMessage szöveg lefut meg minden de a fát nem törli.
CMD:fa(playerid, params[])
{
new Float:x, Float:y, Float:z;
new fa = CreateObject(19076, x, y+1, z-1, 0, 0, 0);
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFFFFFFFF, \"{1E90FF}Teszt Szerver: {FFFFFF}Nem használhatod ezt a parancsot!\");
if(isnull(params))
return SendClientMessage(playerid, 0xFFFFFFFF, \"{1E90FF}Teszt Szerver: {FFFFFF}Használat: /fa [lerak, töröl]\");
if(!strcmp(params, \"lerak\", true))
{
GetPlayerPos(playerid, x, y, z);
fa = CreateObject(19076, x, y+1, z-1, 0, 0, 0);
SendClientMessageToAll(0xFFFFFFFF, \"{1E90FF}Teszt Szerver: {FFFFFF}Sikeresen leraktad a karácsonyfát!\");
}
else if(!strcmp(params, \"töröl\", true))
{
if(IsValidObject(fa)) DestroyObject(fa);
SendClientMessage(playerid, 0xFFFFFFFF, \"{1E90FF}Teszt Szerver: {FFFFFF}Sikeresen törölted a karácsonyfá(ka)t!\");
}
return 1;
}
Köszönöm előre is a válaszokat :)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
public OnFilterScriptInit(){return 1;}
public OnFilterScriptExit()
{
return 1;
}
#define MAXKARACSONYFA 10
enum karacsonyfaenum
{
kFaID,
Float:kFaPoz[3],
bool:kLerakva,
kObject
};
new Karacsonyfa[MAXKARACSONYFA][karacsonyfaenum]
CMD:fa(playerid,params[])
{
new parameterek[32],formazas[32];
new Float:poz[3];
GetPlayerPos(playerid,poz[0],poz[1],poz[2]);
if(sscanf(params, \"s[32]{}\", parameterek))
{
SendClientMessage(playerid,-1,\"/fa [Lerak | Töröl]\");
return 1;
}
if(!strcmp(parameterek,\"lerak\"))
{
new id = -1;
for(new i=0;i<MAXKARACSONYFA;i++)
{
if(Karacsonyfa[kLerakva] == false)
{
id = i;
break;
}
}
if(id == -1)
{
SendClientMessage(playerid,-1,\"Nincs több hely!\");
return 1;
}
Karacsonyfa[id][kFaID] = id;
Karacsonyfa[id][kLerakva] = true;
Karacsonyfa[id][kFaPoz][0] = poz[0];
Karacsonyfa[id][kFaPoz][1] = poz[1]+1;
Karacsonyfa[id][kFaPoz][2] = poz[2]-1;
Karacsonyfa[id][kObject] = CreateObject(19076,poz[0],poz[1]+1,poz[2]-1,0,0,0);
format(formazas,sizeof(formazas),\"Leraktad a %d ID jű fát!\",id);
SendClientMessage(playerid,-1,formazas);
return 1;
}
else if(!strcmp(parameterek,\"töröl\"))
{
new id = -1
if(sscanf(params, \"{s[32]}d\",id))
{
SendClientMessage(playerid,-1,\"Adj meg egy ID-t!\");
return 1;
}
if(Karacsonyfa[id][kLerakva] == false)
{
SendClientMessage(playerid,-1,\"Hiba lepett fel!\");
return 1;
}
Karacsonyfa[id][kFaID] = 0;
Karacsonyfa[id][kLerakva] = false;
Karacsonyfa[id][kFaPoz][0] = 0;
Karacsonyfa[id][kFaPoz][1] = 0;
Karacsonyfa[id][kFaPoz][2] = -50;
DestroyObject(Karacsonyfa[id][kObject]);
format(formazas,sizeof(formazas),\"Törölted a %d ID jű fát!\",id);
SendClientMessage(playerid,-1,formazas);
}
return 1;
}
ha bármi gond lenne írj nyugodtan!
Teszteltem !
MEGY!
ha kell átküldöm a pluginomat is és az include mellé! mert nem mind1!
így most 10 et rakhatsz le! és mind a 10 et KÜLÖN törölheted!