Geplaatst: 4 juli 201014 jaren comment_1684690 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 201014 jaren door alex.naoumov
Geplaatst: 4 juli 201014 jaren comment_1684713 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);
Geplaatst: 5 juli 201014 jaren comment_1685205 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
Geplaatst: 5 juli 201014 jaren comment_1685237 Die TextDrawSetString zet je uiteraard in je timer ... SetTimer("speedupdate",speedupdate,1);
Hey,
Heb nu dit scriptje gemaakt voor mijn speedometer.
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: door alex.naoumov