/* Array mit sechs Einträgen:
1 - 3: Eingangskoordinaten.
4 - 6: Pay'n'Spray Koordinaten. */
new Float:PayNSprays[][6] = {
{1963.0222, 2162.1836, 10.8203, 1974.9702, 2162.5818, 11.0703},
{1963.0222, 2162.1836, 10.8203, 1974.9702, 2162.5818, 11.0703}
};
/* Array für alle Spieler setzen, um Daten des Timers zu
speichern. - Ansonsten wird der Timer schneller sein,
wenn mehr Spieler connected sind. */
new PNSTimerData[MAX_PLAYERS];
ocmd:repair(playerid, params[])
{
for(new i; i < sizeof(PayNSprays); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 10, PayNSprays[i][0], PayNSprays[i][1], PayNSprays[i][2]))
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, FRot, "Du musst in einem Auto sein, um den Pay'n'Spray zu nutzen.");
new vehicleid = GetPlayerVehicleID(playerid);
SetVehiclePos(vehicleid, PayNSprays[i][3], PayNSprays[i][4], PayNSprays[i][5]);
/* Daten dem Array zuweisen und Timer Starten (Hier: 5 Sekunden). */
PNSTimerData[playerid] = SetTimerEx("PNSTimer", 5000, false, "dd", playerid, i);
return 1;
}
}
SendClientMessage(playerid, FRot, "Du bist nicht in der nehe eines PayN Spray's");
return 1;
}
/* Public's müssen ge'forwarded werden. Hier 'playerid' nicht vergessen, da wir die benötigen. */
forward PNSTimer(playerid, id);
public PNSTimer(playerid, id) // Callback des Timers deklarieren.
{
/* Auto zu den neuen Koordinaten teleportieren. */
SetVehiclePos(GetPlayerVehicleID(playerid), PayNSprays[id][0], PayNSprays[id][1], PayNSprays[id][2]);
GivePlayerMoney(playerid, -2000);
GameTextForPlayer(playerid, "-2000 $", 3000, 3);
}