return 1;
[SAMMELTHREAD] Scripting Fragen.
-
-
Vincent Petritz schrieb:
return 1;
[pwn] ocmd:a(playerid,params[])
if(!IsPlayerAnAdmin(playerid))return SendClientMessage(playerid,Rot,"Du bist kein Administrator.");
new string[128], text[128];
new pname[MAX_PLAYER_NAME]; GetPlayerName(playerid,pname,sizeof(pname));
if(sscanf(params,"s",text))return SendClientMessage(playerid,Grau,"Benutze: /a [TEXT]");
format(string,sizeof(string),"[Admin - %s]: %s",pname,text);
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerAnAdmin(i) && IsPlayerConnected(i)) { SendClientMessage(i,Geld,string); }
}
return 1;
}[/pwn]
ob so
[pwn] if(IsPlayerAnAdmin(i) && IsPlayerConnected(i)) { SendClientMessage(i,Geld,string); }
return 1;[/pwn]
oder wie oben geht nicht. (Ja ich weiß ich bin ein Noob ^^)Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Giulio ()
-
[pwn]ocmd:a(playerid,params[]) {
if(!IsPlayerAnAdmin(playerid))
return SendClientMessage(playerid,Rot,"Du bist kein Administrator.");
new string[128], text[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
if(sscanf(params,"s",text))return SendClientMessage(playerid,Grau,"Benutze: /a [TEXT]");
format(string,sizeof(string),"[Admin - %s]: %s",pname,text);
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerAnAdmin(i) && IsPlayerConnected(i)) { SendClientMessage(i,Geld,string); }
}
return 1;
}[/pwn] -
Immer unknowd command aber egal ich machs einfach mit dem "Standart", trotzdem Danke
-
Was ist hier Falsch?
Code:
[pwn]format(SQL, sizeof(SQL), "INSERT INTO spielerautos (Besitzer, Name, Modelid, PosX, PosY, PosZ, PosA) VALUES ('%s', '%s', '%i', '%f', '%f', '%f', '%f')", SpielerName(playerid), KaufAuto[akName], KaufAuto[i][akModelid], Autohaus[j][ahspawnx], Autohaus[j][ahspawny], Autohaus[j][ahspawnz], Autohaus[j][ahspawna]);
mysql_query(SQL);[/pwn]
Das sind die Positionen (X, Y, Z, R)
[pwn]-1956.0542, 303.2367, 35.0244, 132.8802[/pwn]
Aber in die Datenbank wird das geschrieben:
Der Rest wird richtig gespeichert.[Blockierte Grafik: http://imageshack.us/a/img829/1465/signaturbaby.png]
-
Ich würde fast behaupten, dass du in "Autohaus[j][ahspawnx]" schon nur einen Integer drinnen hast,
lass ihn dooch mal ausgeben.
An sonsten wie lädst du die Koordinaten da rein?
Ich befürchte ja nicht als Float -
Also der enum sieht so aus
[pwn]enum AutoHInfo //Autohausinfo
{
ahName[50],
Float:ahposx,
Float:ahposy,
Float:ahposz,
Float:ahspawnx,
Float:ahspawny,
Float:ahspawnz,
Float:ahspawna,
ahKasse,
ahBesitzer[MAX_PLAYER_NAME]
}[/pwn]
Laden tu ichs so
[pwn]PrivCar[vehicleid][vPoSx] = mysql_GetFloat("spielerautos", "PosX", "ID", str);[/pwn]
Und speichern so:
[pwn]mysql_SetFloat("spielerautos", "PoSx", PrivCar[vehicleid][vPoSx], "ID", str);[/pwn]
das Autohaus lasse ich durch eine for schleife rausfinden also so:
[pwn]for(new j = 0; j < sizeof Autohaus; j++)[/pwn]
MfG
(in der MySQL Tabelle steht auch "float"
#e gerade den fehler gesehen
[pwn]mysql_SetFloat("spielerautos", "PoSx", PrivCar[vehicleid][vPoSx], "ID", str);//das ist falsch (weil PoSx steht in der DB nicht)
mysql_SetFloat("spielerautos", "PosX", PrivCar[vehicleid][vPoSx], "ID", str);//das ist richtig[/pwn]
Jedoch wirds ja trotzdem falsch eingetragen
#e2
Print sagt:
[pwn]printf("X %f | Y %f | Z %f | R %f", Autohaus[j][ahspawnx], Autohaus[j][ahspawny], Autohaus[j][ahspawnz], Autohaus[j][ahspawna]);[/pwn]
[15:18:48] X -1990.825195 | Y 244.299194 | Z 34.727401 | R 263.897186
#e3
Hier ein Dump der DB[Blockierte Grafik: http://imageshack.us/a/img829/1465/signaturbaby.png]
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von [BlaZZeR]BirD ()
-
Wenn bei printf die richtigen Koordinaten ausgegeben werden, dann kann eigentlich nur dein mysql_setfloat befehl falsch sein, anders kann ich mir das
sonst nicht erklären. -
Kann eigentlich nicht sein da der "mysql_SetFloat" stock bei meinem: HausSystem, InteriorSystem und BizSystem funktioniert.
vlt liegts ja an der DB (hab ja oben die dump Datei angehängt.[Blockierte Grafik: http://imageshack.us/a/img829/1465/signaturbaby.png]
-
Dann vergleiche dein jetziges nicht funktionierendes System mit den anderen Systemen, beim Speichern, vielleicht fällt dir ja was auf
-
Ich hab den Fehler gefunden, der Fehler war das in der Tabelle bei "Length" eine "11" anstatt einer "0" standt. (musste die Tabelle ja leider Manuell angeben da das Script anscheinend nur 4 Tabellen auf einmal erstellen kann und nicht 6...)
jedoch ein Problem, das Fahrzeug wird jetzt nicht nach einem Serverrestart erstellt.
Code:
[pwn]stock LoadPlayerCars()
{
new vehicleid = 1;
while(vehicleid < MAX_KNOWING_VEHICLES)
{
format(str, sizeof str, "%i", vehicleid);
format(PrivCar[vehicleid][vBesitzer], MAX_PLAYER_NAME, mysql_GetString("spielerautos", "Besitzer", "ID", str));
format(PrivCar[vehicleid][vName], 35, mysql_GetString("spielerautos", "Name", "ID", str));
PrivCar[vehicleid][vModelid] = mysql_GetInt("spielerautos", "Modelid", "ID", str);
format(PrivCar[vehicleid][vNummernschild], 20, mysql_GetString("spielerautos", "Nummernschild", "ID", str));
PrivCar[vehicleid][vPoSx] = mysql_GetFloat("spielerautos", "PosX", "ID", str);
PrivCar[vehicleid][vPoSy] = mysql_GetFloat("spielerautos", "PosY", "ID", str);
PrivCar[vehicleid][vPoSz] = mysql_GetFloat("spielerautos", "PosZ", "ID", str);
PrivCar[vehicleid][vPoSa] = mysql_GetFloat("spielerautos", "PosA", "ID", str);
PrivCar[vehicleid][vAbgeschlossen] = mysql_GetInt("spielerautos", "Abgeschlossen", "ID", str);
PrivCar[vehicleid][vFarbe1] = mysql_GetInt("spielerautos", "Farbe1", "ID", str);
PrivCar[vehicleid][vFarbe2] = mysql_GetInt("spielerautos", "Farbe2", "ID", str);
PrivCar[vehicleid][vPaintjob] = mysql_GetInt("spielerautos", "Paintjob", "ID", str);
PrivCar[vehicleid][vSpoiler] = mysql_GetInt("spielerautos", "Spoiler", "ID", str);
PrivCar[vehicleid][vHood] = mysql_GetInt("spielerautos", "Hood", "ID", str);
PrivCar[vehicleid][vRoof] = mysql_GetInt("spielerautos", "Roof", "ID", str);
PrivCar[vehicleid][vSideskirt] = mysql_GetInt("spielerautos", "Sideskirt", "ID", str);
PrivCar[vehicleid][vLamps] = mysql_GetInt("spielerautos", "Lamps", "ID", str);
PrivCar[vehicleid][vNitro] = mysql_GetInt("spielerautos", "Nitro", "ID", str);
PrivCar[vehicleid][vExhaust] = mysql_GetInt("spielerautos", "Exhaust", "ID", str);
PrivCar[vehicleid][vWheels] = mysql_GetInt("spielerautos", "Wheels", "ID", str);
PrivCar[vehicleid][vStereo] = mysql_GetInt("spielerautos", "Stereo", "ID", str);
PrivCar[vehicleid][vHydraulics] = mysql_GetInt("spielerautos", "Hydraulics", "ID", str);
PrivCar[vehicleid][vFrontBumper] = mysql_GetInt("spielerautos", "FrontBumper", "ID", str);
PrivCar[vehicleid][vRearBumper] = mysql_GetInt("spielerautos", "RearBumper", "ID", str);
PrivCar[vehicleid][vVentRight] = mysql_GetInt("spielerautos", "VentRight", "ID", str);
PrivCar[vehicleid][vVentLeft] = mysql_GetInt("spielerautos", "VentLeft", "ID", str);
PrivCar[vehicleid][vAbgeschleppt] = mysql_GetInt("spielerautos", "Abgeschleppt", "ID", str);
SetVehicleNumberPlate(CreateVehicle(PrivCar[vehicleid][vModelid], PrivCar[vehicleid][vPoSx], PrivCar[vehicleid][vPoSy], PrivCar[vehicleid][vPoSz], PrivCar[vehicleid][vPoSa], PrivCar[vehicleid][vFarbe1], PrivCar[vehicleid][vFarbe2], -1), PrivCar[vehicleid][vNummernschild]);
vehicleid ++;
}
return 1;
}[/pwn][Blockierte Grafik: http://imageshack.us/a/img829/1465/signaturbaby.png]
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von [BlaZZeR]BirD ()
-
Guten Tag,
Und zwar habe ich eine Frage, wie kann ich das Geburtsdatum mit MySQL so abfragen, dass das Geburtsdatum und das Alter gespeichert werden. Sprich, wenn ich jetzt zbs. 18.11.1994 eingebe ist man 18 Jahre. Und die beiden sollten Abgespeichert werden. Ich habe das Register System von Maddin ( aus Breadfish ) benutzt. Wäre echt klasse wenn mir da jemand weiter Helfen könnte. Hier ist nochmal das Script was ich gerade mache pastebin.com/dxfP0LMv.
MfG: Eddy[tabmenu]
[tab='Projekt',http://www.smshosting.bg/images/slider-icons/gta.png]
Name:
Forum:
Script:
Rang:
Tätigkeit:
[tab='Über mich',http://icons.iconarchive.com/icons/dario-arnaez/genesis-3G/48/User-Files-icon.png]
[subtab='Lebenslauf',http://icons.iconarchive.com/icons/dario-arnaez/genesis-3G/48/User-Files-icon.png]
Name: Eddy
Alter: 18
Wohnort: Hamburg
Hobbys: Mappen / Fußball
[subtab='Kontakt',http://icons.iconarchive.com/icons/graphics-vibe/retro-social/128/skype-icon.png]
Skype: eddyforever15
ICQ: 636138678
[/tabmenu] -
Du erstellst 2 Felder (z.B. "birthday" (mach'n Varchar draus) und "age" (Integer)) und dann heißt es "Feinarbeit", also rechnen (so wie ich mir das ausmale). Du machst folgendes: Fragst mit strfind ab, ob Punkte enthalten sind, dann splittest du:
[pwn]split(inputtext, birthday, '.');[/pwn]
du das ganze. Hast dann 'n Array:
birthday[0] = 18
birthday[1] = 11
birthday[2] = 1994
Und dann musst du rechnen, also holst du dir das Date: wiki.sa-mp.com/wiki/Getdate also das Jahr und den Monat (ich sag mal Variable "year" und "month") und rechnest dann:
new age = (year - birthday[2]);
dann dürfte da 18 rauskommen.
Ich hoffe das Prinzip ist klar - bei Fragen, nur zu, frag ruhig! -
Nur das Problem ist ich bin Anfänger in Pawno. Kannst du mir ein Beispiel zu dem ganzen machen, was ich halt nur anpassen brauche?[tabmenu]
[tab='Projekt',http://www.smshosting.bg/images/slider-icons/gta.png]
Name:
Forum:
Script:
Rang:
Tätigkeit:
[tab='Über mich',http://icons.iconarchive.com/icons/dario-arnaez/genesis-3G/48/User-Files-icon.png]
[subtab='Lebenslauf',http://icons.iconarchive.com/icons/dario-arnaez/genesis-3G/48/User-Files-icon.png]
Name: Eddy
Alter: 18
Wohnort: Hamburg
Hobbys: Mappen / Fußball
[subtab='Kontakt',http://icons.iconarchive.com/icons/graphics-vibe/retro-social/128/skype-icon.png]
Skype: eddyforever15
ICQ: 636138678
[/tabmenu] -
Wir sind aber kein "Vorschreibeforum", tut mir leid, hier soll man das ja auch verstehen und selbst den Weg zum Ziel finden.
Was ist am obigen nicht verständlich? - Dann erklär ich dir das. -
Mahlzeit,
da ich das mit dem splitten nicht verstehe, frage ich hier mal nach.
Wie genau funktioniert das?
Angenommen ich habe einen String:
[pwn]new text[100] = "Handy Auto Test Irgendwas";[/pwn]
Wie kann ich den jetzt splitten?
[pwn]new test1[10],test2[10],test3[10], test4[10];
sscanf(text, "p|s[10]s[10]s[10]s[10]", test1, test2, test3, test4);[/pwn]
Würde es so gehen? -
Bis auf eine Kleinigkeit ist das richtig.
[pwn]"p<|>s[10]s[10]s[10]s[10]"[/pwn]
Das p<> (diese größer/kleiner Zeichen werden seit dem sscanf-Plugin benötigt) dort gibt an, welches Zeichen zum Abtrennen verwendet wird. Hier ist das: |
Wenn man das p<> weglässt, nimmt sscanf einfach das Leerzeichen zum Abtrennen, wie es für den Fall hier funktionieren würde. -
Danke für die schnelle Antwort.
Habe gerade noch ein Problem:
[pwn]
text = "Schokolade blub";
sscanf(text, "p<>s[15]s[15]", s1, s2);[/pwn]
Wenn ich das jetzt ausgebe, dann ist es folgendermaßen:
s1 = Schokolade blub
s2 =
(also leer). -
Wieso benutzt du auch hier bitte p<> ?
p Benutzt man nur wenn man eine ganze Spalte auslesen will bzw. den Delemiter extra angeben will.
Mach also das p weg, müsste dann eigentlich funktionieren.
LG -
Ohhhh.
Ich dachte man braucht p für's splitten.
Danke dir.
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0