alex.naoumov Geplaatst: 4 juli 2010 Rapport Geplaatst: 4 juli 2010 (bewerkt) Hey, Heb nu dit scriptje gemaakt voor mijn speedometer. //test script for speedometer #include <a_samp> #define speedupdate 1000 new Text:textdraw[MAX_PLAYERS]; public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Speedometer by [RTA]Alex LOADED......."); print("--------------------------------------\n"); SetTimer("speedupdate",speedupdate,1); for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) { textdraw[playerid] = TextDrawCreate(505.000000,419.000000,"TEST"); } return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerUpdate(playerid) { if(GetPlayerSpeed(playerid) > 300) { } if(IsPlayerInAnyVehicle(playerid)) { TextDrawShowForPlayer(playerid,textdraw[playerid]); } return 1; } public OnFilterScriptExit() { return 1; } stock GetPlayerSpeed(playerid) { new Float:X, Float:Y, Float:Z; if(IsPlayerInAnyVehicle(playerid)) { GetVehicleVelocity(GetPlayerVehicleID(playerid), X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } else { GetPlayerVelocity(playerid, X, Y, Z); return floatround(floatmul(floatmul(floatsqroot(floatpower(floatabs(X), 2) + floatpower(floatabs(Y), 2) + floatpower(floatabs(Z), 2)), 100), 1.621371192), floatround_round); } } Hoe moet ik er nou voor zorgen dat de GetPlayerSpeed output word weergeven in die Textdraw. Liefst met uitleg, moet er ook wat van leren natuurlijk . Gr, Alex Bewerkt: 4 juli 2010 door alex.naoumov Reageren
Big Boss Geplaatst: 4 juli 2010 Rapport Geplaatst: 4 juli 2010 Ik zou om te beginnen iets anders gebruiken dan OnPlayerUpdate om de tekst op het scherm te zetten. Persoonlijk zou ik het zo doen: public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { TextDrawShowForPlayer(playerid,textdraw[playerid]); } else { TextDrawHideForPlayer(playerid, textdraw[playerid]); } return 1; } Dan, om de snelheid te krijgen: new speed[32]; format(speed, sizeof(speed), "%d Km/h", GetPlayerSpeed(playerid)); TextDrawSetString(textdraw[playerid], speed); Reageren
CAR Geplaatst: 5 juli 2010 Rapport Geplaatst: 5 juli 2010 Ik zou om te beginnen iets anders gebruiken dan OnPlayerUpdate om de tekst op het scherm te zetten. Persoonlijk zou ik het zo doen: public OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { TextDrawShowForPlayer(playerid,textdraw[playerid]); } else { TextDrawHideForPlayer(playerid, textdraw[playerid]); } return 1; } Dan, om de snelheid te krijgen: new speed[32]; format(speed, sizeof(speed), "%d Km/h", GetPlayerSpeed(playerid)); TextDrawSetString(textdraw[playerid], speed); Maar dan zou je Speed op een snelheid blijven hangen en niet veranderen.. als je harder of langzamer gaat Reageren
Big Boss Geplaatst: 5 juli 2010 Rapport Geplaatst: 5 juli 2010 Die TextDrawSetString zet je uiteraard in je timer ... SetTimer("speedupdate",speedupdate,1); Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.