Volt egy kis idõm, és írtam neked egy egyszerûbb MUNKA rendszert. EZ Cp-t, kocsit igényel. Remélem segíthettem. Ha nem is neked, de másnak!
/*
Szükséges hozzá a ZCMD.inc!
Ha nincs, akkor módosítsd kérlek ezt. Ez csak egy test verzió.
Így nem olvadnak egymásba a CP-k.
Jó szórakozást. Készítette: AdamHawer | Idõ: 5 perc
*/
Az oldal tetejére:
#define COLOR_HIBA 0xFF0000FF // Piros
#define COLOR_MUNKA 0xFFFF00FF // Sárga
New-ok:
new
MunkaCP[MAX_PLAYERS];
bool:Munka[MAX_PLAYERS];
A játékmódhoz:
public OnGameModeInit()
{
// Adj meg koordinátákat.
Create3DTextLabel(\"Munka felvevõhely:\\n/munka\\n\\nMunka leadóhely:\\n/munkavege\",COLOR_HIBA, x,y,z,+1,40.0,0);
// Ugyan az legyen mint a Create3D-nél mert ez egy forgó nyíl.
AddStaticPickup(1318, 1, x,y,z);
return 1;
}
A connecthez:
public OnPlayerConnect(playerid)
{
MunkaCP[playerid] = 0, Munka[playerid] = false;
return 1;
}
ZCMD parancs:
// Munka kezdés:
CMD:munka(playerid, params[]) // Módosíthatod a \"munka\" parancsot bármire.
{
if(IsPlayerInRangeOfPoint(playerid, 3, x,y,z)) // Ahol felveheted az elsõ CP-t.
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 400) // Jármû ID beraktam alapnak a 400 (telepjáró)
{
SendClientMessage(playerid, COLOR_MUNKA,\"* Felvetted a munkát.\");
SetPlayerCheckpoint(playerid, x,y,z, 3.0); // 1 CP módosítsd.
Munka[playerid] = true;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_HIBA,\"* Hiba: Csak xy jármûvel veheted fel a munkát.\");
}
return 1;
}
// Munka befejezés:
CMD:munkavege(playerid, params[]) // Módosíthatod a \"munkavege\" parancsot bármire.
{
if(Munka[playerid] = true)
{
DisablePlayerCheckpoint(playerid);
MunkaCP[playerid] = 0; // A CP-k újra 0-án állnak.
Munka[playerid] = false; // Már nem érvényes a munka. (false)
SendClientMessage(playerid, COLOR_MUNKA,\"* A munkát sikeresen befejezted.\"); // Szöveg melyet megkapsz.
}
else
{
// Hibaüzenet:
SendClientMessage(playerid, COLOR_HIBA, \"* Hiba: Nem fejezhetsz be olyan munkát, amelyet el sem kezdtél.\");
}
return 1;
}
A cp-be lépéskor:
public OnPlayerEnterCheckpoint(playerid)
{
if(Munka[playerid] == true)
switch(MunkaCP[playerid]) // Minden CP 1000$-t ad ez persze módosítható. A pozíciókat te add meg.
{
case 0:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 2 CP
}
case 1:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 3 CP
}
case 2:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 4 CP
}
case 3:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 5 CP
}
case 4:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 6 CP
}
case 5:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 7 CP
}
case 6:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 8 CP
}
case 7:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 9 CP
}
case 8:
{
MunkaCP[playerid] ++;
GivePlayerMoney(playerid, +1000);
SetPlayerCheckpoint(playerid, x, y, z, 3.0); // 10 CP
}
case 9:
{
MunkaCP[playerid] = 0;
Munka[playerid] = false;
SendClientMessage(playerid, COLOR_MUNKA,\"* Végeztél a munkával.\");
DisablePlayerCheckpoint(playerid);
}
}
return 1;
}