Hellosztok,publikálom elsõ saját scriptem
Elöször is ez egy Uttisztitó munka FC-Fort Carson városba,lényege random kapod a CP-ket,ahogy bemész egy CP-be pénzt kapsz(0-30)között
nagyjából ennyi lenne nyugodtan adhattok hozzá CP-ket,stb(RP-re ajánlom)
SolidFiles:http://www.solidfiles.com/d/b6cb9489ed/
#include <a_samp>
#include <fixchars>
#define COLOR_DARKGOLD 0x808000AA
#define COLOR_RED 0xFF0000AA
new Float:UTTCP[][3] =
{
{-198.9397,1200.7389,19.2109},
{-198.8139,1102.5273,19.2109},
{-265.6208,1100.9165,19.2109},
{-307.8145,1101.0642,19.3189},
{-278.9261,1048.2590,19.3165},
{-208.7537,1015.4998,19.3124},
{-187.1165,1083.9224,19.3120},
{-122.5049,1095.8171,19.3190},
{-68.4627,1056.6543,19.3189},
{-13.1399,1085.2062,19.3145},
{30.7575,1141.9417,19.3189}
};
new utt = 0;
public OnFilterScriptInit()
{
Create3DTextLabel(\"Uttisztitó munka:\\n/utt hogy elkezd\", 0x008080FF, 60.7443,1188.3911,18.8296, 40.0, 0, 0);
AddStaticVehicle(574,52.2531,1185.4080,18.8829,306.0154,1,1); // utt1
AddStaticVehicle(574,62.0376,1186.1332,18.7899,313.7253,1,1); // utt2
AddStaticVehicle(574,69.6886,1185.7770,18.7278,324.5579,1,1); // utt3
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/utt\", cmdtext, true, 10) == 0)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 574)
{
utt = 1;
new rand = random(sizeof(UTTCP));
SetPlayerCheckpoint(playerid, UTTCP[rand][0],UTTCP[rand][1],UTTCP[rand][2], 4);
GameTextForPlayer(playerid, \"~g~Elkezdtaed a munkát!\", 3000, 3);
return 1;
}
SendClientMessage(playerid, COLOR_DARKGOLD,\"Uttisztitó kocsiba kell hogy legyél\");
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
{
{
new rand = random(sizeof(UTTCP));
SetPlayerCheckpoint(playerid, UTTCP[rand][0],UTTCP[rand][1],UTTCP[rand][2], 4);
}
}
{
{
new rand = random(sizeof(UTTCP));
SetPlayerCheckpoint(playerid, UTTCP[rand][0],UTTCP[rand][1],UTTCP[rand][2], 4);
new amt = random(30);
GivePlayerMoney(playerid, amt);
}
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 574)
{
SendClientMessage(playerid, COLOR_RED, \"HASZNÁLD:/utt\");
}
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if((utt) == 1)
{
utt = 0;
DisablePlayerCheckpoint(playerid);
}else if((utt) == 0){
}
}
public OnPlayerDeath(playerid, killerid, reason)
{
DisablePlayerCheckpoint(playerid);
utt = 0;
return 1;
}
Szép-szép. De mégse szép. Egy baja van. Nem tudod betenni olyan szerverbe, amiben van Checkpoint. :s
Ha elfogadsz egy tanácsot: A CP-knek adj azonosítószámot. Hozz létre játékos változót, vagy változót, ami minden játékosra kiterjed. Majd OnPlayerEnterCheckpointnál lekéred az azonosítószámot.
Erre a legjobb megoldás a Dinamikus checkpoint. Kell hozzá Incognito Streamer pluginja. De persze az is jó, amit te mondtál. :)
Am a script a cp-t félretéve jó.
Kezdõk számára írom ki, mert gondolom Bence, te tudod már. :D
Példa Script:
#include < a_samp >
#include < streamer >
new
CP;
public OnFilterScriptInit( )
{
CP = CreateDynamicCP( 0.0, 0.0, 0.0, 4.0, -1, -1, -1, 100 );
}
public OnPlayerEnterDynamicCP( playerid, checkpointid )
{
if ( checkpointid == CP )
{
SendClientMessage( playerid, 0xFF0000AA, \" Beleléptél egy dinamikus cpbe! \" );
}
return 1;
}
Native:
native CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0);