Verwendest du denn auch MoveDynamicObject(objectid, Float:x, Float:y, Float:z, Float:speed);
Beiträge von Darklight
-
-
Guten Morgen,
momentan habe ich ein kleines Problem mit der Abfrage, ob der Motor eines Fahrzeuges an- oder ausgeschaltet ist.
Sobald ich eine bestimmte Taste drücke sollte dies überprüft werden und dementsprechend gehandelt werden.
Allerdings wird dies nicht so gehandelt wie ich es mir gedacht habe.
Hier erstmal die Codes:Allgmeine Parameter-Abfrage aller Fahrzeuge, diese wird bei GameModeInit ausgeführt.
public LoadVehicleParams()
{
for(new i=0;i<MAX_VEHICLES;i++)
{
GetVehicleParamsEx(i,engine[i],lights[i],alarm[i],doors[i],bonnet[i],boot[i],objective[i]);
}
print(" -> Parameter erfolgreich geladen");
return 1;
}
Hier wird die bestimmte Taste abgefragt und demnach gehandelt.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
switch(newkeys)
{
case KEY_ANALOG_DOWN:
{
if(!IsPlayerInAnyVehicle(playerid)) return 1;
new vehicleid=GetPlayerVehicleID(playerid);
if(engine[vehicleid] == 0)
{
engine[vehicleid]=1;
SendClientMessage(playerid,GRUEN," Motor wurde gestartet.");
}
else if(engine[vehicleid] == 1)
{
engine[vehicleid]=0;
SendClientMessage(playerid,ROT," Motor wurde ausgeschaltet.");
}
SetVehicleParamsEx(vehicleid,engine[vehicleid],lights[vehicleid],alarm[vehicleid],doors[vehicleid],bonnet[vehicleid],boot[vehicleid],objective[vehicleid]);
}
}
}Ich schätze mal das es an der if-Abfrage scheitert, verstehe aber nicht wieso.
Danke schon mal im Voraus. -
Danke dir.
Funktioniert jetzt -
-
Guten Abend,
wie aus meiner Überschrift zu lesen ist, habe ich ein kleines Problem mit dem Laden von Floats über MySQL.
Ich habe das Tutorial von Maddin ([ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)) verwendet.Jedesmal wenn ich versuche ein Float zu laden, wie z.B. diesen hier:
SetPVarFloat(playerid,"Health",mysql_GetFloat("accounts","Health","Name",Name));Kommt eben dieser Warning:
Das nervt ein wenig. Wo liegt das Problem ?
Danke schon mal im Voraus.//edit: Hier ist noch der Stock zum Laden von Floats:
stock mysql_GetFloat(Table[], Field[], Where[], Is[])
{
new query[128], Float:sqlfloat;
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
mysql_fetch_float(sqlfloat);
mysql_free_result();
return sqlfloat;
} -
Du fragst in deinem Public die Koordinaten der ID 'pID' ab.
Setzt aber keinen Checkpoint. Daran könnte es vllt. liegen. -
Probiere es doch mit einem anderen Funktionsnamen, vielleicht hat Pawn damit Probleme.
Ich versteh es wirklich nicht wie der Name ein Problem sein kann, aber es hat wirklich funktioniert
Danke euch -
Natürlich.
Dann wären wahrscheinlich auch Fehlermeldungen beim compilieren aufgetreten, dem ist aber nicht so. -
Hey,
ich habe momentan ein ziemlich mieses Problem.
CMD:einnehmen(playerid,params[])
{
#pragma unused params
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Einnehmer") == 1)
{
return SendClientMessage(playerid,GRAU," Es gibt schon eine Person welche diese Einnahme leitet.");
}
}
if(GetPVarInt(playerid,"Fraktion") <= 2) return SendClientMessage(playerid,GRAU," Für diesen Befehl musst du einer Gang angehören.");
SetPVarInt(playerid,"Einnehmer",1);
ETimer=SetTimer("Einnahme",1000,1);
print("Timer gestartet");
for(new i=0;i<MAX_PLAYERS;i++)
{
if((GetPVarInt(i,"MitEinnehmer") == 1) || (GetPVarInt(i,"Fraktion") == 1) || (GetPVarInt(i,"Einnehmer") == 1))
{
SendClientMessage(i,0xFF0055FF,"Die Einnahme wurde gestartet");
}
}
return 1;
}
public Einnahme()
{
print("Public 'Einnahme' gestartet");
new string[256];
ECount++;
print("Ecount gezählt");
format(string,sizeof(string)," Die Einnahme läuft nun seit %d Minute(n)",ECount);
print("String formatiert");
for(new i=0;i<MAX_PLAYERS;i++)
{
print("For-Schleife gestartet");
if(GetPVarInt(i,"Einnehmer") == 1 || GetPVarInt(i,"MitEinnehmer") == 1)
{
print("If-Schleife gestartet");
SendClientMessage(i,0xFF0055FF,string);
print("String gesendet");
SendClientMessage(i,0xFF0055FF,"Alle verbliebenen (Mit)Einnehmer bekommen einen Geldzuschuss.");
print("Message gesendet");
GivePlayerMoney(i,5000);
print("Geld gegeben");
}
}
return 1;
}Die Nachricht das die Einnahme gestartet ist wird auch an alle gesendet, von daher gehe ich aus der Timer wurde gestartet.
Das Print "Public 'Einnahme' gestartet" wird nicht ausgeführt.Hoffe ihr könnt mir helfen.
-
Das Zauberwort lautet DINI.
Einfach mal danach googlen, denkbar wäre natürlich auch MySQL. -
Hm, so funktioniert es jedenfalls.
Aber kannst du mir erklären warum meine Methode nicht funktioniert hat ? -
Eigentlich bin ich nicht schlecht im scripten, aber momentan finde ich einfach den Fehler nicht -.-
CMD:freeze(playerid,params[])
{
new pID,amsg[256],pmsg[256],pName[MAX_PLAYER_NAME],aName[MAX_PLAYER_NAME];
if(GetPVarInt(playerid,"Adminlevel") << 3) return SendClientMessage(playerid,GRAU," Für diesen Befehl benötigst du das Adminlevel 3.");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU," Benutze: /freeze [Name|ID]");
TogglePlayerControllable(pID,0);
GetPlayerName(playerid,aName,sizeof(aName));
GetPlayerName(pID,pName,sizeof(pName));
format(amsg,sizeof(amsg),"[/freeze] Admin %s freezte Spieler %s.",aName,pName);
format(pmsg,sizeof(pmsg),"Admin %s hat dich gefreezt",aName);
SendAdminMessage(AGELB,amsg);
SendClientMessage(pID,ORANGE,pmsg);
return 1;
}Das Problem:
Es wird oben abgefragt ob mein Adminlevel kleiner als 3 ist.
Mein Adminlevel auf dem Server ist 5.
Trotzdem wird mir die Nachricht angezeigt, das ich das Adminlevel 3 brauche. -
Erstmal ist dies der falsche Bereich. Nächstes mal stell die Frage bitte unter 'Scriptwünsche'.
Hast du irgendwelche Vorstellungen davon wie der Tacho aussehen soll ?Meld dich einfach mal per PN bei mir.
-
Sieht nach einem Klammerfehler aus.
Viel Spaß beim suchen -
Gib doch einfach mal die Errors durch die auftauchen.
-
Kann mir einer erklären warum jedesmal wenn ich auf 'Spawn' klicke die Meldung "Stay within the World Boundries" kommt und danach nichts mehr geschieht ?
Ich müsste eigentlich alles korrekt eingerichtet haben. -
-
Das iPhone 4.
Im September kommt wahrscheinlich eine neue Version des iPhones heraus. -
Ein iPod ist ganz einfach ein MP3-Player.
Dieser Besitzt ein Touchscreen und eigentlich sonst alles was auch ein iPhone hat, bis auf die Telefonie sowie SMS Möglichkeiten. Er besitzt ebenso kein GPS oder Kompass.
Der einzigste Vorteil eines iPods ist, das er 64GB Speicher haben kann.Das iPhone ist ganz einfach ein iPod, welche die oben genannten Möglichkeiten besitzt.
Das heißt er ist ein iPod mit Telefon und SMS Funktion, GPS, Kompass.Kaufen kannst du diese in vielen Elektronikmärkten.
Schau einfach mal in einen Blödiamarkt oder Mars in deiner Nähe vorbei -