Bekomme das mit Floatround irgendwie nicht hin. Es kommt immer 0.0000 egal wie ich es mache.
Ich habe es so :
new facveh;
facveh = GetPlayerVehicleID(playerid);
new Float:fac_msg;
new fmsg[128];
GetVehicleZAngle(facveh,fac_msg);
format(fmsg,sizeof(fmsg),"%f",floatround(fac_msg,floatround_round));
SendClientMessage(playerid,COLOR_RED,fmsg);
und so probiert :
new facveh;
facveh = GetPlayerVehicleID(playerid);
new Float:fac_msg;
new fmsg[128];
GetVehicleZAngle(facveh,fac_msg);
format(fmsg,sizeof(fmsg),"%f",floatround(fac_msg));
SendClientMessage(playerid,COLOR_RED,fmsg);
Hilfe wäre nett:)
Beiträge von Oskaar1994
-
-
Ich scripte gerade an einem Ostereiersuchevent, aber ich will überprüfen ob in jedem 'Eifeld' in der Datenbank etwas steht. Also ich will überprüfen ob er alle Eier hat, sodass er sein Geschenk bekommen kann.
Könnte das so gehen ?
new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM `user` WHERE id = '%i' AND ei1 = '1' AND ei2 = '1' AND ei3 = '1' AND ei4 = '1' AND ei5 = '1' ", sInfo[playerid][id]);//1440
mysql_query(dbhandle,lQuery);mysql_store_result();
if(mysql_num_rows()) {
SendClientMessage(playerid,COLOR_RED,"You already completed the event-"); -
Warum ein 2. Thema?
Case funktioniert nicht richtigansonsten debugge es mal die vehicleid und in den case auch wo er ist
Wie debugge ich es ?*edit* Habe es jetzt debuggt aber dürften keine Fehler drin sein.
-
Habe vor ein paar Wochen schonmal das gleiche Problem gehabt. Nur dort habe ich if/else if verwendet. Mir wurde gesagt ich solle Switch und Case benutzen. Nun benutze ich Switch und Case aber es funktioniert immer noch nicht richtig. Es funktioniert nur der erste Case, bei den anderen kommt Unkonwn Command als returnt Samp da irgentwie 0.
if(!strcmp(cmdtext, "/work1", true))switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 511,519,593: //nur dieses Case funktioniert ingame
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Splanes[id][x],Splanes[id][y],Splanes[id][z],0,0,0,Splanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Splanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
case 488,497,548,563:
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Hplanes[id][x],Hplanes[id][y],Hplanes[id][z],0,0,0,Hplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Hplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
case 417,425,447,469,487:
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Hplanes[id][x],Hplanes[id][y],Hplanes[id][z],0,0,0,Hplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Hplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
case 592,577:
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Bplanes[id][x],Bplanes[id][y],Bplanes[id][z],0,0,0,Bplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Bplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
} -
Hey,
kann mir jemand sagen in welcher Datei die Preise des Spiels festgelegt sind ? Also ich will z.B wenn ich in ein Pay n' Spray fahre Geld bekommen Oder gibt es dafür ein Moddingtool ? -
Habe da mal eine Frage. Wie erstelle ich ein Stock mit Parametern. Ich gebe unten mal ein Beispiel. Das Beispiel ergibt nicht wirklich Sinn aber man weiß was gemeint ist.
Stock Switch(playerid,floatx,floaty,floatz)
{
SetPlayerPos(playerid,floatx,floaty,floatz);
return 1;
}
//und jetzt z.B beim Spawn
OnPlayerSpawn
{
Switch(playerid,-12,34,35);
return 1;
}
Ist wie gesagt nur ein Beispiel. Aber wie mache ich es, dass es auch richtig funktioniert ?2.Frage: Gibt so eine Art Callback für InterPolateCamera(womit ich die Spielerkamera bewege) namens OnPlayerCameraMoved ? Denn ich will SetPlayerPos erst anwenden wenn die Kamera fertig mit bewegen ist.
-
Oh ist mir garnicht aufgefallen, dass es ja 4 Floats sind.
-
CreatePickup(1274, 1,1772.5284,-1895.9347,13.5527,266.3724,-1);//
So ?Komisch müsste eigentlich funktionieren. Wo erstellst du das Pickup ? Unter OnGameModeInit ?
-
Aber was ich dann nicht Verstehe warum ist : 1772.5284,-1895.9347,13.5527,266.3724 falsch? Also es geht nicht.
Zeig mal wie du das Pickup erstellst.
-
Das macht bei SA:MP keinen Unterschied, denn Pawno kann den SA:MP Server nicht starten. Pawno gibt es ja nicht nur für SA:MP, es ist nur ein Editor für Pawn. Und normalerweise kann der Editor auch direkt die Pawn-Scripte starten, nur mit einem SA:MP Script funktioniert dies eben nicht.
Gehört jetzt nicht zum Thema aber ich dachte Pawn ist nur für SAMP ?
-
Genau immer die ersten 3 Floats nach der Skin, welche die erste Zahl ist.
-
Oskaar1994
-
Du meinst wohl eher Vehikel , nun gut das funktioniert auch so ist jedoch nicht die schönste Artob
if(x == a)
if(x == b)
if(x == c)
if(x == d)
if(x == e)
oder
if(x == b)
else if(x == c)
else if(x == d)
else if(x == e)oder
switch(x){
case a:
case b:
case c:
case d:
case e:
}Ist hier relative es führt alles zum gewünschten ziel.
Ich hab es jetzt mit else if gemacht, aber immernoch das gleiche. Nur die erste if Abfrage funktioniert. Wenn ich in den Fahrzeugen der anderen Abfragen sitze kommt immernoch Invalid Command. -
Ich meinte der Befehl funktioniert nur bei der ersten Abfrage, bei den anderen nicht. Und alle Klammern hab ich doch geschlossen ? Was mache ich falsch ?
-
Habe ein kleines Problem, wenn ich meinen Befehl eingebe funktioniert er nur in den Vehicleid's 511,519 und 593. Wenn ich es in den anderen Flugzeugen/Heli's mache sagt der Server invalid Command und es wird kein Checkpoint gesetzt. Ich weiß, ist nicht sehr schön eingerückt aber sollte dennoch funktionieren.
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/work", true))if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 511 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 519 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 593)//Beagle+Dodo+Shamal
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Splanes[id][x],Splanes[id][y],Splanes[id][z],0,0,0,Splanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Splanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);return 1;
}
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 488 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 497 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 548 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 563)//helis
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Hplanes[id][x],Hplanes[id][y],Hplanes[id][z],0,0,0,Hplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Hplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 417 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 425 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 447 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 469 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 487)
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Hplanes[id][x],Hplanes[id][y],Hplanes[id][z],0,0,0,Hplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Hplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 592 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 577)
{
new id = GetNearestAirport(playerid);
Flughafen[playerid] = id;
FlughafenNr[playerid] = 1;
DisablePlayerCheckpoint(playerid);
new message[128];
SetPlayerRaceCheckpoint(playerid,2,Bplanes[id][x],Bplanes[id][y],Bplanes[id][z],0,0,0,Bplanes[id][size]);
format(message,sizeof(message), "Head to {1B8AE4}%s {FFFFFF}and pick up your passengers.", Bplanes[id][LocationName]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
return 1;
}return 0;
} -
mysql_num_rows fragt ab ob ein wert in dem feld ist, aber nicht ob es 1,2 oder 2300 ist.
Ok danke -
Wenn du kein Ergebnis zurückbekommst (also kein "Test" bei dir ausgegeben wird") kann man das Haus nicht kaufen. Ansonsten kann man dieses eine Haus kaufen.
Bedeutet wenn nichts im Feld steht oder einfach etwas anderes als 1 ? -
Mach aus dem %i mal ein %d. Für den Tag Missmatch musst du deine Connection einfügen (du hast ja irgendwoe xyz = mysql_connect), z.B. mysql_query(xyz, lQuery)
Tag Missmatch habe ich schon gelöst, das andere probier ich jetzt
*edit* Tag Missmatch kommt doch nicht vom %i sondern von meinem hinteren i weil es eigentlich für eine Schleife vorgesehen ist.
Und danke für die Hilfe Noch eine Frage. Also wenn nichts im Feld steht kann ich es nicht kaufen und mit einer 1 schon ,oder ? -
Poste doch mal deine Funktion + Fehlermeldungen, dann können wir dir besser weiterhelfen.
Ich habe es jetzt noch nicht in die Funktion selber aber ein Test Command gemacht. Und beim zweiten Fehler weiß ich wie ich ihn löse weil das an der Mysql Version/ der Native liegt.
CMD:test(playerid, params[])
{new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM houses WHERE hID = '%i' AND forsale = '1' ", hausInfo[i][hID]);//1440
mysql_query(lQuery);mysql_store_result();
if(mysql_num_rows()) {
SendClientMessage(playerid,COLOR_RED,"Test");
}
mysql_free_result();return 1;
}Die Fehler :
BeThePilot.pwn(1440) : error 017: undefined symbol "i"
BeThePilot.pwn(1441) : error 035: argument type mismatch (argument 1) -
new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM houses WHERE hID = '%i' AND forsale = '1' ", hausInfo[i][hID]);
mysql_query(lQuery);mysql_store_result();
if(mysql_num_rows()) {
// -> EINTRAG VORHANDEN
}
mysql_free_result();
Soweit verstanden? Kurze Erklärung: Es werden alle Informationen von dem Haus selectet, dessen ID du übergeben hast und bei dem forsale 1 ist. mysql_num_rows überprüft dann, ob Ergebnisse zurückgekommen sind. Wenn nicht, ist das Haus nicht zu verkaufen.
Irgendwie erkennt Pawno den Integer nicht richtig und meckert wegen dem %i undefined Symbol. Komisch.