Sziasztok! Nemrégiben kezdtem el tanulgatni a szkriptelést és gondoltam csinálok egy pizzafutár munkát, de amint megcsináltam (SAMP WIKI nagyon sokban segített) egy hibát vettem észre, méghozzá egy eléggé nagyot: Amikor elkezdem a munkát, már alapból megkapom a kiszabott pénzt és nem csak a kijelölt ponton, már vagy fél napja ezen agyalok, úgyhogy gondoltam kérek valakitõl segítséget.
COMMAND:munka(playerid) {
if(IsPlayerInRangeOfPoint(playerid, 6.0, 168.6691,1177.5084,14.7578))
{
SendClientMessage(playerid, ZOLD, \"Munka Sikeresen Felvéve\");
SetPlayerCheckpoint(playerid, 397.6859,1162.5444,7.9129, 1.0);
pickup = CreatePickup(1318, 2, 397.6859,1162.5444,7.9129, -1);
OnPlayerEnterCheckpoint(playerid);
{
GivePlayerMoney(playerid, 70);
DestroyPickup(pickup);
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, NARANCS, \"Sikeres kiszállítás!\");
}
}else{
SendClientMessage(playerid, PIROS, \"Nem vagy a megfelelõ helyen!\");
}
}
Ez lenne a parancs PWN kódja, nos lehet, hogy filterszkriptbe kellett volna rakni, de én a gamemode-m aljára tettem be.
Lol, tudtad használni ezt a parancsot? ??? Mikre nem képes a ZCMD :D Még jó, hogy nem használom.
CMD:munka(playerid) // Annyit azért tudok, hogy COMMAND helyett elég a CMD is
{
if(IsPlayerInRangeOfPoint(playerid, 6.0, 168.6691,1177.5084,14.7578))
{
SendClientMessage(playerid, ZOLD, \"Munka Sikeresen Felvéve\");
SetPlayerCheckpoint(playerid, 397.6859,1162.5444,7.9129, 1.0);
pickup = CreatePickup(1318, 2, 397.6859,1162.5444,7.9129, -1);
}
else
{
SendClientMessage(playerid, PIROS, \"Nem vagy a megfelelõ helyen!\");
}
return 1; // Nem tudom, szükséges e ZCMD-ben
}
public OnPlayerEnterCheckpoint(playerid)
{
GivePlayerMoney(playerid, 70);
DestroyPickup(pickup);
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, NARANCS, \"Sikeres kiszállítás!\");
return 1; // Itt viszont tuti szükséges
}
Remélem minden hibát kijavítottam. Persze ez még mindig nem egy épkézláb forráskód. Mondom is miért. Elõször is ha máshoz is akarsz CP-t használni, már nem fog mûködni úgy a dolog, ahogy azt te szeretnéd. Azon kívül ha használsz pickupot, nem szükséges a CP. Egyszerûen OnPlayerPickUpPickup alatt megnézed, hogy a felvett pickup id-je megegyezik e a pickup változó értékével, valamint azt is, hogy a játékos dolgozik e (ez is hiba, a jelenlegi forráskódban késõbb nem tudod eldönteni, hogy a játékos dolgozik e, avagy sem, tehát beírta e már a munka parancsot, avagy sem) és ha minden stimmel, megadod neki a lóvét és törlöd a pickupot. Utána meg random adhatsz neki másik szállítási pontot is, illetve csinálsz mondjuk \"munkavége\" parancsot, meg amit akarsz. És akkor még nem is beszéltünk a pár soros pénz csalás elleni védelemrõl, amely elengedhetetlen, ha az alap pénzt használod. Tabletrõl vagyok és hajnali 1 múlt, szóval elnézést, de most nem írnék többet, fõleg nem forráskódot, ha megbocsátasz.