Tessék írtam neked egyet unalmas perceimben
#include <a_samp>
new Float:kocsihelyek[][4] = {
{0.0,0.0,0.0,0.0}, // ide rakd be a koordinátákat, ahovaa szeretnéd hogy véletlenszerûen spawnoljon a kocsi.
{1.0,1.0,1.0,1.0}, // X,Y,Z,Angle (pl.: 1231.21,3512.46,2134.45,0)
{2.0,2.0,2.0,2.0}, // akár többet is rakhatsz!
{3.0,3.0,3.0,3.0}
};
#define OSSZEG 40000 // ide írd azt, hogy mennyit szeretnél ha kapjon a játékos.
#define OSSZEG2 \"40.000\" // ide ugyanazt az összeget írd, ez csak azért kell hogy ki tudja iratni a szkript.
#define PENZPERC 5 //ide írd, hogy hány PERCENKÉNT kapjon pénzt a játékos, hogyha benne ül a bónuszkocsiban.
#define PENZPERC2 \"5\" // ide szintén ugyanazt!
#define RESIPERC 3 //ide írd, hogy hány perc múlva tûnjön el a kocsi, hogyha kiszállnak belõle
#define RESIPERC2 \"3\" // ide szintén ugyanazt!
#define KOCSISPAWNPERC 5 //ide írd, hogy hány percentként spawnolódjon a bónuszautó.
new bonusztimer;
new bonuszauto;
new penztimer;
new resitimer;
forward BonuszautoSpawn();
forward Bonuszpenz(playerid);
forward KocsiResi();
public KocsiResi()
{
SendClientMessageToAll(-1,\"A bónuszkocsi megsemmisült, 5 perc múlva újra spawnol!\");
KillTimer(penztimer);
bonusztimer = SetTimer(\"BonuszautoSpawn\",1000*60*KOCSISPAWNPERC,false); // elindítjuk, hogy 5 perc múlva spawnolódjon egy bonuszkocsi
DestroyVehicle(bonuszauto);
return 1;
}
public Bonuszpenz(playerid)
{
SendClientMessage(playerid, -1, \"Eltelt 5 perc, a szerzett összeg: \"OSSZEG2\".\");
GivePlayerMoney(playerid, OSSZEG);
}
public BonuszautoSpawn()
{
new rand = random(sizeof(kocsihelyek));
bonuszauto = CreateVehicle(402,kocsihelyek[rand][0],kocsihelyek[rand][1],kocsihelyek[rand][2],kocsihelyek[rand][3],6,6,0);
SendClientMessageToAll(-1,\"Bonuszautó spawnolt le! Aki megtalálja; könnyen pénzhez juthat.\");
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vehid = GetPlayerVehicleID(playerid);
if(vehid == bonuszauto)
{
new name[30];
new str[90];
GetPlayerName(playerid,name,30);
format(str, sizeof(str),\"%s megtalálta a bónuszautót!\",name);
SendClientMessage(playerid, -1,\"\"PENZPERC2\"percenként kapni fogsz \"OSSZEG2\" dollárt. Vigyázz! Ha kiszálsz újra kezdõdik az idõ számolása!\");
SendClientMessageToAll(-1,str);
KillTimer(bonusztimer);
KillTimer(resitimer);
penztimer = SetTimerEx(\"Bonuszpenz\",1000*60*PENZPERC,true,\"i\",playerid); // elindult a Timer ami 5 percenéknt pénzt ad neki.
}
}
else if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
{
new vehid = GetPlayerVehicleID(playerid);
if(vehid == bonuszauto)
{
SendClientMessage(playerid, -1, \"Szállj vissza, vagy a kocsi \"RESIPERC2\" percen belül eltûnik!\");
resitimer = SetTimer(\"KocsiResi\",1000*60*RESIPERC,false);
}
}
return 0;
}
///==========================================================================///
public OnFilterScriptInit(){
print(\"\\n--------------------------------------\");
print(\" Bónuszautó szkript betöltve \");
print(\"--------------------------------------\\n\");
bonusztimer = SetTimer(\"BonuszautoSpawn\",1000*60*5,false); // elindítjuk, hogy 5 perc múlva spawnolódjon egy bonuszkocsi
return 1;}
public OnFilterScriptExit(){return 1;}
main(){}
Nem teszteltem, elméletbe jónak kell lennie. Hibátlanul lefutott a compile. Ha nem jó privátban nyugodtan írhatsz.
UI.: Kedves voltam, hogyha az összeget, vagy az idõket változtatni szeretnéd, a mód tetején a zölden leírtak alapján megoldhatod. Elég 1 helyen átírni. (na jó, 2.. De így tudtam megoldani gyorsan, hogy az idõt is írja ki :/)