Ich meinte pRegData = %s und den inhalt welchen du an diesen platzhalter übergibst entfernen.
Ja, das ist es ja das klappt nicht. Es wird nix in die Datenbank geschrieben wenn ich das entferne
Ich meinte pRegData = %s und den inhalt welchen du an diesen platzhalter übergibst entfernen.
Ja, das ist es ja das klappt nicht. Es wird nix in die Datenbank geschrieben wenn ich das entferne
Kann mir jemand den /pm befehl bitte fixen? Ich gebe auf..
Hab den 2 Seiten zuvor gepostet..
Es wird immer der No Admins Dialog angezeigt
Warum geht das nicht?
public OnPlayerText(playerid, text[])
{
if(realchat)
{
new str[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new pos = strfind(name, "."), pos1 = strfind(name, "_");
if(pos != -1) name[pos] = ' ';
else if(pos1 != -1) name[pos1] = ' ';
format(str, sizeof(str),"%s sagt: %s",name,text);
ProxDetector(20.0, playerid, str,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return 0;
}
return 1;
}
Du hast strfind vor GetPlayerName benutzt.
^kann man das auch als stock machen?
Das heiß nicht stock sondern Funktion.
stock ReplaceName(playerid)
{
new str[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new pos = strfind(name, "."), pos1 = strfind(name, "_");
if(pos != -1) name[pos] = ' ';
else if(pos1 != -1) name[pos1] = ' ';
return name;
}
nicht getestet sollte aber funktionieren.
Ja, das ist es ja das klappt nicht. Es wird nix in die Datenbank geschrieben wenn ich das entferne
Das passiert normal nciht zeig mal dazu einen logauschnitt ich denke du entfernst etwas falsch dadurch hast du einen Fehler in deinem MySQL Syntax, auch den code von oben verwendet ?
Hier eine etwas kompaktere Funktion, die mehr deinen Wünschen entspricht:
stock EditName(name[]) {
static delimiter[][] = {"_",".",","},i,pos; //Du kannst das Array beliebig fortführen
for(; i<sizeof delimiter; ++i) {
pos = strfind(name,delimiter[i]);
if(pos == -1) continue;
name[pos] = ' ';
}
return name;
}
mfg.
Das passiert normal nciht zeig mal dazu einen logauschnitt ich denke du entfernst etwas falsch dadurch hast du einen Fehler in deinem MySQL Syntax, auch den code von oben verwendet ?
In der Log wird nichts angezeigt, wie wäre es, wenn du versuchst das Script mal bei dir zu starten?
In der Log wird nichts angezeigt, wie wäre es, wenn du versuchst das Script mal bei dir zu starten?
nächstesmal überprüfe deine queries dein INSERT -Befehl zum beispiel und ebenso wie man strings ausließt die in einem enum sind.
Hier bitte:
Gibt es eine FERTIGE Funktion, mit der man die Geschwindigkeit des Spielers erhöhen kann?
Das heißt, ich kann sie per ( z.B. ) "SetPlayerSpeed(playerid,50)" erhöhen / sinken.
Wäre nett, wenn mir jemand eine Funktion schicken / machen könnte, da ich mit dem Kram nicht klar komme, da
man ja auch die "Facing-Angle" abfragen muss und das Ganze umrechnen ...
Gibt es eine FERTIGE Funktion, mit der man die Geschwindigkeit des Spielers erhöhen kann?
Ich denke nicht.
Ich hab aber vor geraumer Zeit mal was gemacht, das ist zwar nicht perfekt, da ich nur probieren wollte ob es überhaupt machbar ist, aber es funktioniert: http://forum.sa-mp.de/gta-mult…hnelligkeit-2#post1694731 Eigentlich wollte ich daran weiterarbeiten, aber ich habe nie wirklich die Zeit dazu gefunden, aber so weit funktioniert es. Du musst es vielleicht in Teilen abändern, aber das dürfte nicht all zu schwer werden.
Danke dir, probiere es morgen mal aus
Danke dir, probiere es morgen mal aus
Solch eine Funktion, welche du suchst gibt es schon
stock SetVehicleSpeed(vehicleid, Float:speed)
{
new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a;
GetVehicleVelocity(vehicleid, x1, y1, z1);
GetVehiclePos(vehicleid, x2, y2, z2);
GetVehicleZAngle(vehicleid, a); a = 360 - a;
x1 = (floatsin(a, degrees) * (speed/100) + floatcos(a, degrees) * 0 + x2) - x2;
y1 = (floatcos(a, degrees) * (speed/100) + floatsin(a, degrees) * 0 + y2) - y2;
SetVehicleVelocity(vehicleid, x1, y1, z1);
}
Sorry, habe vergessen zu erwähnen, bzw deutlichzuschreiben (wie auch immer das geschrieben wird), dass ich die Geschwindigkeit eines Spielers erhöhen will.. Deswegen auch "SetPLAYERSpeed", aber anscheinend sollte ich mich besser ausdrücken..
Also dann nochmal von neu, ist das auch möglich?
Ich würde eig nochmal versuchen, z.B. den Code von Jeffry umzuändern und es dann zu testen. Habe es schonmal mit einem anderen Code versucht, das klappte aber leider nicht. Koennte auch sein, dass ich etwas falsch gescriptet habe.
Ich versuche es morgen einfach nochmal, falls es ueberhaupt moeglich ist.
#Handy
Sorry, habe vergessen zu erwähnen, bzw deutlichzuschreiben (wie auch immer das geschrieben wird), dass ich die Geschwindigkeit eines Spielers erhöhen will.. Deswegen auch "SetPLAYERSpeed", aber anscheinend sollte ich mich besser ausdrücken..
Also dann nochmal von neu, ist das auch möglich?
Willst du ihn schneller laufen lassen, oder soll es im Auto funktionieren?
Den Code, so wie ich ihn dir gegeben habe, erhöht die Geschwindigkeit des Spielers im Auto, wenn eine bestimmte Geschwindigkeit erreicht wurde, und hält sie, solange du das Gas drückst.
Die Funktion von Prototypel wird dir nur einen kurzen boost geben.
Ich wollte eigentlich die Geschwindigkeit des Spielers erhöhen (wenn er läuft)..
Ich würde davor einfach deinen Code bearbeiten und es testen..
Aber ist es denn moeglich, sie zu erhöhen?
#Handy
Ich wollte eigentlich die Geschwindigkeit des Spielers erhöhen (wenn er läuft)..
Ich würde davor einfach deinen Code bearbeiten und es testen..
Aber ist es denn moeglich, sie zu erhöhen?
Ja, erhöhen kannst du die Geschwindigkeit. Wie das dann aussieht ist die andere Frage.
http://wiki.sa-mp.com/wiki/SetPlayerVelocity
Dürfte aber machbar sein, wenn du den Code von mir abänderst. Wenn du Fehler bekommst, poste einfach nochmal.
Hey,
habe den Code angepasst und getestet..
Jedoch sterbe ich jedes mal, wenn ich laufe.
Habe den Code auch schon oft bearbeitet und es versucht, jedoch klappts nicht wirklich.
Hier mal so, wie ich es geändert habe ( nur deinen Code bearbeitet
stock SetPlayerSpeed(playerid, Float:_speed){
if(playerid == INVALID_PLAYER_ID)return INVALID_PLAYER_ID;
else if(IsPlayerNPC(playerid))return 1;
else if(IsPlayerInAnyVehicle(playerid))return 1;
else if(!Sprinted[playerid])return 1;
new Float:x1, Float:y1, Float:z1, Float:a;
GetPlayerVelocity(playerid, x1, y1, z1);
GetPlayerZAngle(playerid, a);
return SetPlayerVelocity(playerid, x1*202.0/_speed.0, y1*202.0/_speed.0, z1);
}
//OnPlayerKey
if(newkeys & KEY_SPRINT)Sprinted[playerid] = true;
else Sprinted[playerid] = false;
//OnPlayerUpdate
if(!IsPlayerInAnyVehicle(playerid) && Sprinted[playerid])
{
new speed = GetPlayerSpeed(playerid);
if(speed > 40)SetPlayerSpeed(playerid,60.0);
}
Wie gesagt, habe es schon oft verändert..
Wenn ich mir die km/h ausprinten lasse, kommt irgendwas mit 1 Mio+ raus..
Der Code ist ja auch nicht richtig.
stock SetPlayerSpeed(playerid, Float:_speed, Float:_isspeed){
if(playerid == INVALID_PLAYER_ID)return INVALID_PLAYER_ID;
else if(IsPlayerNPC(playerid))return 1;
else if(IsPlayerInAnyVehicle(playerid))return 1;
else if(!Sprinted[playerid])return 1;
new Float:x1, Float:y1, Float:z1, Float:a;
GetPlayerVelocity(playerid, x1, y1, z1);
GetPlayerFacingAngle(playerid, a);
return SetPlayerVelocity(playerid, x1*(1+(1/(1+(_speed/_isspeed)))), y1*(1+(1/(1+(_speed/_isspeed)))), z1);
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SPRINT)Sprinted[playerid] = true;
else Sprinted[playerid] = false;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(!IsPlayerInAnyVehicle(playerid) && Sprinted[playerid])
{
new Float:speed;
GetPlayerSpeed(playerid, speed);
if(speed > 20 && speed < 40)SetPlayerSpeed(playerid, 40.0, speed);
}
return 1;
}
Ich hab's jetzt mal so gemacht. Besser hab ich es auf die Schnelle nicht hinbekommen, kannst ja noch dran rumspielen.
Hmm..
Jetzt gibt er zwar an, dass die Geschwindigkeit erhöht wurde, jedoch merkt man nichts von..
Und wenn ich die noch höher setzte genau so
Code ist so, wie du es gemacht hast, außer das:
if(!IsPlayerInAnyVehicle(playerid) && Sprinted[playerid])
{
new Float:speed;
GetPlayerSpeed(playerid, speed);
if(speed > 20 && speed < 40)SetPlayerSpeed(playerid, 40.0, speed);
}
Das hab ich so:
if(!IsPlayerInAnyVehicle(playerid) && Sprinted[playerid])
{
new Float:speed = GetPlayerSpeed(playerid);
if(speed >= 38.0 && speed <= 40.0){
SetPlayerSpeed(playerid, 70.0, speed); // Hier habe ich vieles versucht ( 50, 60, 70, .. )
}
}
Die Funktion "GetPlayerSpeed" hat ja nur einen Parametet, der ist für die Player-ID.
So sollte das mit der Speed-Festlegung doch auch gehen, oder?