Beiträge von IPrototypeI
-
-
einfach mal den wert printen lassen beispiel für den wert i eine 1 einsetzen
sscanf(Query, "e<p<|>s[24]dffffdd>",AutoInfo[1]);
nix erstellen lassen einfach mal die daten printen -
1. Hast du mysql_debug(true);
2. Ja muss ins script sollte ein error in der log stehen kannst den printen lassen also ausgeben
3. DU kannst ja mal probieren ob er wenigstens 1 Fahrzeug aus der datenbank printet
4. Entspricht das enum der integer welche in dem sscanf string drinne sind weil dort liegt meist der fehler überprüfs nochmal -
wie schon gesagt was sagt die mysql log und die erros über OnQueryError
-
Hm Erros schau mal in die Mysql log und benutz mal OnQueryError und poste mal den inhalt
hm und ich überlege gerade eigentlich wird es ja schon gesplittet per enumalso gehen wir mal ein stück zurück ^^und
benutzen nur
while(mysql_fetch_row_format(Query))//edit dumme Frage hast du dann ihrgend was in deiner tabelle zum laden
-
probiers mal mit mysql_fetch_row_format
laut dem native sollte das gehen
-
die kannst du ja per command verändert wird doch gespeichert
sprich wenn du dir ein command machst der pAutoLock auf 1 verändert wird dies auch in der datenbank verändert wenn es gespeichert wird
beim speichern wäre es nicht schlecht eine for schleife zu benutzen -
nein Splitten ist das man die Spalten aufteilt wenn du nur Select * From machst dann tut er alles in 1ner Zeile
mit den | Splittest du es damit es getrent bleibthm dann wäre es beim laden mehrere daten empfehlenswert ?
dann solltest du das ab ändern in
while(mysql_fetch_row(Query,"|"))
-
stock Autoladen()
{
new Query[255], i=0;
format(Query, sizeof(Query), "SELECT * FROM autos");
mysql_query(Query);
mysql_store_result();
while(mysql_fetch_row(Query))
{
sscanf(Query, "e<p<|>s[24]dffffdd>",AutoInfo[i]);
CreateVehicle(AutoInfo[i][pAutoModel],AutoInfo[i][pAuto_X],AutoInfo[i][pAuto_Y],AutoInfo[i][pAuto_Z],AutoInfo[i][pAuto_R],0,0,-1);
i++;
}
}kannst ja mal so probieren
-
schau doch bitte nochmal in das wiki oder in deine vorherigen fragen nach
http://wiki.sa-mp.com/wiki/OnP…e#Detecting_holding_a_key
siehe How to check for multiple keys
-
Auch nicht anders als beim Login und Registersystem
außer das du beim laden eine while schleife brauchst um alle zu laden und beim speichern ist das auch nicht anders
dort musst halt wie beim speichern die daten mit INSERT INTO über die query
wo ist da das problem sowas nachzuvollziehen -
In dem du das ganze umscriptest siehe tutorial by maddin download mysql plugin rc6
-
Ich finde deine Signatures gut mir gefallen am besten die Signaturen 5 und 6
und muss dazu hin sagen das sie gut mit den Effekten eingearbeitet sind obwohl deine momentane Signatur die beste ist von deinen die du hier gepostet hast
mach weiter so

-
Jedoch habt ihr alle was vergessen und zwar wenn man manuel mit den Fahrzeugparameter arbeitet
das
ManualVehicleEngineAndLights();
bei OnGamemodeInit -
Ist eine nette Idee und soweit ich weiß wurde solch eine Idee als Job noch nicht releast.
Zum scripttechnischen naja viel könnte man auch nicht besser machen können vllt noch sscanf einbringen xD geht auch in strcmp befehle.
aber auch egla klein und fein
.
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}hättest noch rasu machen können

-
Dialoge sind Menüs,oder täusche ich mich da gerade?
nein es gibt auch Menüs
so nun zum wesentlichen
oben im script
new Menu:Name;
Bei OnGameModeInit erstellst du dein menüBsp:
Name= CreateMenu("Name", 1, 50.0, 180.0, 200.0, 200.0); //hier noch positionen eingebbar
SetMenuColumnHeader(Name, 0, "Name"); // Überschrifteinstellbar
AddMenuItem(Name, 0, "Test");// Mit Addmenuitem werden die menüs hinzugefügt
AddMenuItem(Name, 0, "Exit");weitere einzelheiten
http://wiki.sa-mp.com/wiki/CreateMenu
http://wiki.sa-mp.com/wiki/SetMenuColumnHeaderund nun noch die Funktion zu weisen
bei
public OnPlayerSelectedMenuRow(playerid, row)
dort jedoch noch dies ergänzen
new Menu:CurrentMenu = GetPlayerMenu(playerid);
vereinfacht die Sache bisslealso
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid);nun zur funktionszuweisung
if(CurrentMenu == Name)
{
switch(row)
{
case 0:
{
SendClientMessage(playerid,0xFFFFFFAA,"Hallo");
}
case 1:
{
HideMenuForPlayer(Name, playerid);
}geht man nun beim menü auf Test kommt Hallo bei Exit schließt sich das ganze wieder
nun noch bissle zusatz material
http://wiki.sa-mp.com/wiki/AddMenuItem // AddMenuItem
http://wiki.sa-mp.com/wiki/OnPlayerSelectedMenuRow // Das ganze public OnPlayerSelectedMenuRow
http://wiki.sa-mp.com/wiki/DestroyMenu und um die Menüs zu zerstören -
Hab mal eine frage, wie tut man gescheit bool werte speichern und laden lassen?
beim laden musst du strval benutzen und den string in einen integer umwandeln und danach abspeichern oder laden
-
wird in deinem falle überhaupt onplayerspawn angesteuert anderfalls könntest es über SetPlayerSpawn probieren
-
jo da hast du recht ich hab dir mal mein code geschickt in dem pastbin und bei mir funktionierts jedoch denk ich eher du hast den selben
-
mal eine frage kommt da ein error wenn du das compilst da ich so gesehen kein fehler erkennen kann
und es für ein problem nur an
plidliegt und darum hast du plid auch definiert du kannst ja gern mal was testen
CMD:kick(playerid, params[])
{
new pID;
levelerror(3);
if(sscanf(params, "us[200]", pID, estring)) return SendErrorMessage(playerid, "Usage: /kick <id> <reason>");
if (!IsPlayerConnected(pID)) return SendErrorMessage(playerid, "Player Not Connected!");
format(string, sizeof(string), "You have kicked {FFFFFF}%s(%d)", PlayerName(plid), plid);
SendClientMessage(playerid, 0x66FF33, string);
format(largestring, sizeof(largestring), "You have been kicked from the server by admin %s(%d) \r\nReason:%s", escpname(playerid), playerid, estring);
ShowPlayerDialog(pID, DIALOG_KICK, DIALOG_STYLE_MSGBOX, "You have been kicked", largestring, "Ok", "Cancel");
Kick(pID);
return 1;
}