17.05.2009, 14:38
I have a big problem. I want to make a Speedometer for my Server but I don't understand, why it doesn't work:
I have the Speedo sourcecode once in a filterscript and once in a gamemode. But the Speedo only works in the gamemode. In the filterscript, the Speedo doesn't announced.
although it's the same code:
gamemode:
filterscript:
I don't understand it, please help me
I have the Speedo sourcecode once in a filterscript and once in a gamemode. But the Speedo only works in the gamemode. In the filterscript, the Speedo doesn't announced.
although it's the same code:
gamemode:
Code:
#include <a_samp> forward TankVerbrauch(playerid); forward Fahrzeuganzeige(playerid); new Float:newX[MAX_PLAYERS], Float:newY[MAX_PLAYERS], Float:newZ[MAX_PLAYERS]; new Float:oldX[MAX_PLAYERS], Float:oldY[MAX_PLAYERS], Float:oldZ[MAX_PLAYERS]; new Float:diffX[MAX_PLAYERS], Float:diffY[MAX_PLAYERS], Float:diffZ[MAX_PLAYERS]; new Float:Num[MAX_PLAYERS]; new FahrzeugID; new Tankinhalt[MAX_VEHICLES]; new GameText; main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } public OnGameModeInit() { SetTimer("TankVerbrauch",5000, true); SetTimer("Fahrzeuganzeige",1000,1); GameText = 0; new Vehicles; for(Vehicles = 0; Vehicles < MAX_VEHICLES; Vehicles++) { Tankinhalt[Vehicles] = 100; } SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddStaticVehicle(581, 1958.3783, 1343.1572, 15.3746, 269.1425,53,1); AddStaticVehicle(581, 1958.3783, 1343.1572, 15.3746, 269.1425,53,1); return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public TankVerbrauch(playerid) { if(GameText == 0) { FahrzeugID = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)) { Tankinhalt[FahrzeugID] -= 1; } } } public Fahrzeuganzeige(playerid) { for(new i=0; i<MAX_PLAYERS; i++) { new string[256]; FahrzeugID = GetPlayerVehicleID(i); if(IsPlayerInAnyVehicle(playerid) == 1) { GetPlayerPos(playerid, newX[i],newY[i], newZ[i]); diffX[i] = (newX[i]) - (oldX[i]); diffY[i] = (newY[i]) - (oldY[i]); diffZ[i] = (newZ[i]) - (oldZ[i]); Num[i] = floatsqroot((diffX[i] * diffX[i])+(diffY[i] * diffY[i])+(diffZ[i] * diffZ[i])); oldX[i] = newX[i]; oldY[i] = newY[i]; oldZ[i] = newZ[i]; Num[i] = Num[i] * 4; if(Tankinhalt[FahrzeugID] > 0) { if(Tankinhalt[FahrzeugID] < 31) { format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~g~%0.0f/~r~%d", Num[i],Tankinhalt[FahrzeugID]); GameTextForPlayer(i,string,1500,5); } else { format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~g~%0.0f/~g~%d", Num[i],Tankinhalt[FahrzeugID]); GameTextForPlayer(i,string,1500,5); } } else { RemovePlayerFromVehicle(playerid); } } } }
Code:
#include <a_samp> forward TankVerbrauch(playerid); forward Fahrzeuganzeige(playerid); new GameText; new Float:newX[MAX_PLAYERS], Float:newY[MAX_PLAYERS], Float:newZ[MAX_PLAYERS]; new Float:oldX[MAX_PLAYERS], Float:oldY[MAX_PLAYERS], Float:oldZ[MAX_PLAYERS]; new Float:diffX[MAX_PLAYERS], Float:diffY[MAX_PLAYERS], Float:diffZ[MAX_PLAYERS]; new Float:Num[MAX_PLAYERS]; new FahrzeugID; new Tankinhalt[MAX_VEHICLES]; #if defined FILTERSCRIPT public OnFilterScriptInit() { SetTimer("TankVerbrauch",5000, true); SetTimer("Fahrzeuganzeige",1000,1); GameText = 0; new Vehicles; for(Vehicles = 0; Vehicles < MAX_VEHICLES; Vehicles++) { Tankinhalt[Vehicles] = 100; } SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddStaticVehicle(581, 1958.3783, 1343.1572, 15.3746, 269.1425,53,1); AddStaticVehicle(581, 1958.3783, 1343.1572, 15.3746, 269.1425,53,1); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public TankVerbrauch(playerid) { if(GameText == 0) { FahrzeugID = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)) { Tankinhalt[FahrzeugID] -= 1; } } } public Fahrzeuganzeige(playerid) { for(new i=0; i<MAX_PLAYERS; i++) { new string[256]; FahrzeugID = GetPlayerVehicleID(i); if(IsPlayerInAnyVehicle(playerid) == 1) { GetPlayerPos(playerid, newX[i],newY[i], newZ[i]); diffX[i] = (newX[i]) - (oldX[i]); diffY[i] = (newY[i]) - (oldY[i]); diffZ[i] = (newZ[i]) - (oldZ[i]); Num[i] = floatsqroot((diffX[i] * diffX[i])+(diffY[i] * diffY[i])+(diffZ[i] * diffZ[i])); oldX[i] = newX[i]; oldY[i] = newY[i]; oldZ[i] = newZ[i]; Num[i] = Num[i] * 4; if(Tankinhalt[FahrzeugID] > 0) { if(Tankinhalt[FahrzeugID] < 31) { format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~g~%0.0f/~r~%d", Num[i],Tankinhalt[FahrzeugID]); GameTextForPlayer(i,string,1500,5); } else { format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~g~%0.0f/~g~%d", Num[i],Tankinhalt[FahrzeugID]); GameTextForPlayer(i,string,1500,5); } } else { RemovePlayerFromVehicle(playerid); } } } }
