Was willst du damit abfragen?
Beiträge von Jeffry
-
-
Ich möchte hier gerne fragen, welche MYSQL Version derzeit die neueste ist.
Das Tutorial bezieht sich auf die aktuell neuste Version des MySQL Plugins.
Diese ist die R41-4 (welche logischerweise höher als R7 ist).Alle notwendigen Daten findest du im ersten Post des Tutorials auf Seite 1.
-
Bei der Auszahlung z.B.:
new money = strval(inputtext);
pInfo[playerid][pBankGeld] -= money;
GivePlayerMoney(playerid, money);Einzahlung:
new money = strval(inputtext);
pInfo[playerid][pBankGeld] += money;
GivePlayerMoney(playerid, -money); -
if(strval(inputtext) > 350000) return SendClientMessage(playerid, 0xFF0000FF, "Error: Maximal 350.000$ möglich.");
-
Kurze frage ich wollte noch ein kleines stück weiter weg machen wie mach ich das am besten?
GetPosVorVeh(KaufAutoInfo[kaid][kaVehicleID], 5.0, x, y, z);
zu:
GetPosVorVeh(KaufAutoInfo[kaid][kaVehicleID], 8.0, x, y, z);
Zum Beispiel. -
Die kaid ist auch nur der Index aus deinem Array, nicht die vehicleid.
GetPosVorVeh(kaid, 5.0, x, y, z);
zu:
GetPosVorVeh(KaufAutoInfo[kaid][kaVehicleID], 5.0, x, y, z); -
Dann kannst du es so schreiben:
new Float:x, Float:y, Float:z;
GetPosVorVeh(vehicleid, 5.0, x, y, z);
SetPlayerCameraPos(playerid, x, y, z+2); //z+2 damit man etwas von oben auf das Auto schaut, ggf. anpassen
SetPlayerCameraLookAt(playerid, KaufAutoInfo[kaid][kaPosX], KaufAutoInfo[kaid][kaPosY], KaufAutoInfo[kaid][kaPosZ], CAMERA_MOVE);Natürlich das vehicleid weiterhin mit deiner Variable ersetzen, in der die vehicleid steht.
-
Nutze folgende Funktion:
stock GetPosVorVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
{
new Float:a;
GetVehicleZAngle(vehicleid, a);
GetVehiclePos(vehicleid, x, y, z);
x += (dist * floatsin(-a, degrees));
y += (dist * floatcos(-a, degrees));
return true;
}Dann so:
new Float:x, Float:y, Float:z;
GetPosVorVeh(vehicleid, 5.0, x, y, z);
SetPlayerCameraPos(playerid, x, y, z+2); //z+2 damit man etwas von oben auf das Auto schaut, ggf. anpassen
GetVehiclePos(vehicleid, x, y, z);
SetPlayerCameraLookAt(playerid, x, y, z);Dann schaust du frontal auf das Auto.
vehicleid natürlich mit deiner vehicleid-Variable ersetzen. -
Wo soll ich das einfügen und bzw. wie benutze ich den stock sMoney
Ich war so frei und habe den Code etwas sauberer geschrieben:
stock sMoney(money) //©Jeffry
{
new str[24];
valstr(str, money);
for(new i = strlen(str)-3; i>((money > 0) ? 0 : 1); i-=3) strins(str, ".", i, sizeof(str));
return str;
}
Diesen Code musst du ganz unten in deinem Gamemode einfügen, am besten in die letzte Zeile.Anschließend den Code zum Kontostand anzeigen anpassen von:
format(str,sizeof str, "{FFFFFF}Kontostand: %d", pInfo[playerid][pBankGeld]);
zu:
format(str,sizeof str, "{FFFFFF}Kontostand: %s", sMoney(pInfo[playerid][pBankGeld])); -
habt ihr ne Idee?
SendClientMessage(playerid, COLOR_SUCCESS, "%s wurde aus der Fraktion geworfen");
zu:
format(string, sizeof(string), "%s wurde aus der Fraktion geworfen",PlayerInfo[playerid][pName]);
SendClientMessage(playerid, COLOR_SUCCESS, string); -
habe das Problem das wenn ich den Fraktionsnamen ausgeben will er immer den ersten buchstaben abschneidet.
Füge bei den beiden new's jeweils noch ein zusätzliches [] ein.
-
habe das Problem das er bei mir garnichts abspeichert lediglich das Auslesen aus der Datenbank funktioniert.
Lass dir das Query bitte mal printen und poste zusätzlich dazu dann was dir der MySQL Log ausgibt.
-
@Jeffry
Jeffry hat das zulässige Limit für Konversationen bereits erreicht und kann an keinen neuen Konversationen teilnehmen.Ist wieder frei

-
Das könnte an einer Einstellung deines Servers liegen, möglicherweise ist der einen Tag hinterher.
Ich würde da aber einfach Folgendes in der Include anpassen:
Timestamp -= 172800; // Delete two days from the current timestamp. This is necessary, because the timestamp retrieved using gettime() includes two too many days.
Zu
Timestamp -= 86400; // ursprünglich 172800:Delete two days from the current timestamp. This is necessary, because the timestamp retrieved using gettime() includes two too many days.Beachte auch diese Korrektur:
http://forum.sa-mp.com/showpost.php?p=3807026&postcount=72 -
new text[128], car[4];
Zu
new text[128], car; -
F:\AAALaptop\GvR\Script\gamemodes\gvrfinal.pwn(2080) : error 017: undefined symbol "CUFF_CuffObjectOffsets"
Sieht so aus, als erkennt er deine Array Deklaration nicht.
Hast du die vielleicht zwischen einem #if und #endif stehen, welches nicht wahr ist, oder in einer Funktion stehen? Prüfe das, bzw. schreibe das Array mal direkt unter deine Includes und teste ob es dann geht. -
In dem zuletzt geposteten Code von dir:
Vehicle[vehicleid][vehFuel] = VehicleData[GetVehicleModel(vehicleid)-400][vehMaxTank];
zu:
Vehicle[SupMobil[playerid]][vehFuel] = VehicleData[GetVehicleModel(SupMobil[playerid])-400][vehMaxTank]; -
C:\Users\Marcel\Desktop\server\gamemodes\test.pwn(31) : error 026: no matching "#if..."
Suche nach
#else
bzw:
#endif
und entferne diese. -
if(sscanf(params,"i",nummer))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /orten [Handynummer]");
if(IsHandyNummerEnable(nummer) == -1)return SendClientMessage(playerid,GRAU,"Nicht ortbar.");
pID = IsHandyNummerEnable(nummer);
zu:
if(sscanf(params,"i",pID))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /orten [playerid]");Und
new pID,nummer,ortungsstring[128],Float:x,Float:y,Float:z;
zu:
new pID,ortungsstring[128],Float:x,Float:y,Float:z;Sprich so:
COMMAND:orten(playerid,params[])
{
if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
new pID,ortungsstring[128],Float:x,Float:y,Float:z;
if(isPlayerInFrakt(playerid,1) || isPlayerInFrakt(playerid,6) || isPlayerInFrakt(playerid,2) || isPlayerInFrakt(playerid,16))
{
if(Spieler[playerid][pOrtungsgeraet] == 0)return SendClientMessage(playerid,GRAU,"Kein Ortungsgerät dabei.");
if(sscanf(params,"i",pID))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /orten [playerid]");
format(ortungsstring,sizeof(ortungsstring),"Du versuchst %s (ID:%i) zu orten...",SpielerName(pID),pID);
SendClientMessage(playerid,GRAU,ortungsstring);
if(Spieler[pID][pHandy] == 0)return SendClientMessage(playerid,GRAU,"Nicht ortbar.");
if(Spieler[pID][pHandystate] == 0)return SendClientMessage(playerid,GRAU,"Nicht ortbar.");
if(Spieler[pID][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Nicht ortbar.");
format(ortungsstring,sizeof(ortungsstring),"Du hast %s (ID:%i) geortet. Nutze '/delcheck' um den Checkpoint zu entfernen.",SpielerName(pID),pID);
SendClientMessage(playerid,GRUEN,ortungsstring);
KillTimer(SpielerOrtenTimer[playerid]);
GetPlayerPos(pID,x,y,z);
SetPlayerCheckpoint(playerid,x,y,z,3);
Spieler[playerid][pOrtenVehORPlayer] = 1;//1 playerid 2 veh 3 service accept
Spieler[playerid][pOrtenVehIDplayerid] = pID;
SpielerOrtenTimer[playerid] = SetTimerEx("SpielerOderFahrzeugOrten",1000,1,"iii",playerid,pID,1);
Spieler[playerid][pIsearch] = 1;
return 1;
}
return SendClientMessage(playerid, WEISS, ERROR_FRAKTION);
} -
Würdest du die Lösung bitte mit uns teilen?