Dann ist aller Wahrscheinlichkeit nach eines der Queries das du da hast zu klein (query, query2, query3 oder hauptquery). Erhöhe das mal die Größe.
Außerdem könntest du das auch alles in eins machen, dann sparst du dir Speicher.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Spoiler anzeigen Function LoadFrakMats()
{
new arrCoords[11][64];
new strFromFile2[256];
new File: file = fopen("/Fraktion/FrakMats.ini", io_read);
if (file)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
LCNMats = strval(arrCoords[0]);
YakMats = strval(arrCoords[1]);
TriadMats = strval(arrCoords[2]);
GroveMats = strval(arrCoords[3]);
BallasMats = strval(arrCoords[4]);
BikerMats = strval(arrCoords[5]);
VagosMats = strval(arrCoords[6]);
AztecaMats = strval(arrCoords[7]);
RSMats = strval(arrCoords[8]);
TerrorMats = strval(arrCoords[9]);
BrigadaMats = strval(arrCoords[10]);
fclose(file);
}
else
{
printf("FRAKMATS.INI FEHLT");
}
return 1;
}Spoiler anzeigen Function SaveFrakMats()
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", LCNMats, YakMats, TriadMats, GroveMats, BallasMats, BikerMats, VagosMats, AztecaMats, RSMats, TerrorDrugs, BrigadaMats);
new File: file2 = fopen("/Fraktion/FrakMats.ini", io_write);
fwrite(file2, coordsstring);
fclose(file2);
return 1;
}Spoiler anzeigen Function SaveFrakDrugs()
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", LCNDrugs, YakDrugs, TriadDrugs, GroveDrugs, BallasDrugs, BikerDrugs, VagosDrugs, AztecaDrugs, RSDrugs, TerrorDrugs, BrigadaDrugs);
new File: file2 = fopen("/Fraktion/FrakDrugs.ini", io_write);
fwrite(file2, coordsstring);
fclose(file2);
return 1;
}Spoiler anzeigen Function LoadFrakDrugs()
{
new arrCoords[11][64];
new strFromFile2[256];
new File: file = fopen("/Fraktion/FrakDrugs.ini", io_read);
if (file)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
LCNDrugs = strval(arrCoords[0]);
YakDrugs = strval(arrCoords[1]);
TriadDrugs = strval(arrCoords[2]);
GroveDrugs = strval(arrCoords[3]);
BallasDrugs = strval(arrCoords[4]);
BikerDrugs = strval(arrCoords[5]);
VagosDrugs = strval(arrCoords[6]);
AztecaDrugs = strval(arrCoords[7]);
RSDrugs = strval(arrCoords[8]);
TerrorDrugs = strval(arrCoords[9]);
BrigadaDrugs = strval(arrCoords[10]);
fclose(file);
}
else
{
printf("FRAKDRUGS.INI FEHLT");
}
return 1;
}Könte mir das jemand in MySQL um schreiben auf die Tabelle _fraktion
Wäre nett, weil ich kein MySQL kann.... -
@SkillerZ:
Wenn du kein MySQL kannst, warum sollten andere Leute dir das dann umschreiben?
1.) Du solltest das erlernen, wenn du es auch verwenden möchtest & 2.) ist das irgendwie keine kleine Scriptingfrage. -
Ich komme hier nicht weiter:
#define MAX_FRAKTIONEN 24 //
enum fInfo
{
fFrak,
fKasse,
fMats,
fDrogen,
fRang1,
fRang2,
fRang3,
fRang4,
fRang5,
fRang6,
}new FrakInfo[MAX_FRAKTIONEN][fInfo];
Function SaveFraktionen()
{
new query[275];
for(new frak=1;frak<MAX_FRAKTIONEN;frak++)
{
format(query,sizeof(query),"UPDATE "#DATENBANK"_fraktions SET fMats = '%d', fKasse = '%d', fDrogen = '%d', fRang1 = '%s', fRang2 = '%s', fRang3 = '%s', fRang4= '%s', fRang5 '%s', fRang6 '%s' WHERE frakid = '%d'",
FrakInfo[frak][fMats],FrakInfo[frak][fKasse],FrakInfo[frak][fDrogen],FrakInfo[frak][fRang1],FrakInfo[frak][fRang2],FrakInfo[frak][fRang3],FrakInfo[frak][fRang4],FrakInfo[frak][fRang5],FrakInfo[frak][fRang6],frak);
mysql_function_query(MYSQLVerbindung,query,false,"","");
}
return true;
}
Wie connectet MySQL den?Function OnPlayerConnect(playerid)//Bin da
{
new MYSQLVerbindung;
MYSQLVerbindung(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);Bekomme Error:
CodeC:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : error 012: invalid function call, not a valid address C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : warning 215: expression has no effect C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : warning 215: expression has no effect C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : warning 215: expression has no effect C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : warning 215: expression has no effect C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : error 001: expected token: ";", but found ")" C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : error 029: invalid expression, assumed zero C:\Users\Kevin\Desktop\GTA & SAMP (all)\GNR Script\gamemodes\GNR.pwn(4277) : fatal error 107: too many error messages on one line
-
Wie kann ich von etwas 3 viertel nehmen? Gibt es da eine einfache Lösung? Mann kann ja die hälfte mit einem schlichtem /2 nehmen z.B.
GivePlayerMoney(playerid,5000/2);
Aber wie nehme ich z.B. 3/4 davon?
-
(5000/4)*3
-
Vielen dank!
Edit: Es klappt nit.. Dadurch bekommt man mehr und nit weniger :p
-
Warum funktioniert das nicht? Also die Kamera ist da wo die eigentlich sein sollte.
public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 102,103,104:
{
InterpolateCameraPos(playerid, 2080.508300, -1770.675415, 21.305747, 2072.433349, -1770.615112, 18.449674, 2000);
InterpolateCameraLookAt(playerid, 2075.827392, -1770.689453, 19.548332, 2067.589599, -1770.685791, 17.211372, 2000);
gTeam[playerid] = TEAM_BALLAS; // FrontYard Ballas(102,103,104)
}
case 105,106,107:
{
InterpolateCameraPos(playerid, 2494.229248, -1675.041625, 30.090682, 2494.307373, -1686.206054, 26.451690, 2000);
InterpolateCameraLookAt(playerid, 2494.139404, -1679.788940, 28.523782, 2494.271972, -1691.024658, 25.117563, 2000);
gTeam[playerid] = TEAM_GROVE; // Grove Street Family(105,106,107)
}
case 108,109,110:
{
InterpolateCameraPos(playerid, 2640.679931, -1069.494873, 81.089004, 2631.218505, -1069.198364, 78.690437, 2000);
InterpolateCameraLookAt(playerid, 2635.858886, -1069.415405, 79.765930, 2626.574707, -1069.089477, 76.840423, 2000);
gTeam[playerid] = TEAM_VAGOS; // Los Santos Vagos(108,109,110)
}
}
return 1;
} -
Wie kann ich es am besten machen das die 4 Objekte sich gleichzeitig um ca 4 ( meter ?! ) nach oben gehen
CreateObject(2679,1793.1000000,-1698.6000000,12.5000000,90.0000000,90.0000000,0.0000000); //object(cj_chris_crate_rd) (1)
CreateObject(2679,1795.5000000,-1698.6000000,12.5000000,90.0000000,90.0000000,0.0000000); //object(cj_chris_crate_rd) (2)
CreateObject(2679,1795.5000000,-1700.7000000,12.5000000,90.0000000,90.0000000,0.0000000); //object(cj_chris_crate_rd) (3)
CreateObject(2679,1793.1000000,-1700.7000000,12.5000000,90.0000000,90.0000000,0.0000000); //object(cj_chris_crate_rd) (4)Mit MoveObject?
-
Ja, mit MoveObject.
http://wiki.sa-mp.com/wiki/MoveObject -
-
Guten Morgen Liebe Community,
Ich habe folgendes Problem, ich habe von nem Bekannten ein Script bekommen wenn ich es jetzt Compilieren will kommt Folgender Fehler: C:\Scripten\Server\gamemodes\GSR.pwn(53) : fatal error 100: cannot read from file: "progressbar"
Ich weis das mir das include progressbar fehlt. Habe mittlerweile auch mal danach gegoogelt was mir nicht gerade weiter geholfen hat.
Wäre jemand von euch so Freundlich und würde das include hochladen oder mich auf eine Seite verweisen?MFG _J0K3R_
//edit Hat sich erledigt
-
Beitrag von kleinkiko ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Habe momentan das Problem das mein Tor falsch aufgeht. Es geht immer schräg nach hinten in den Boden dabei soll es sich nur in den Boden fahren.
Hier mal mein Code:{
if (strcmp("/auf", cmdtext, true) == 0)
{
SendClientMessage(playerid,ROT,"Das Tor hat sich geöffnet");
MoveObject(METor,13028, 1789.4, -1700.1, 10., 0, 0, 0,5);
return 1;
}Die Normalstellung des Tors wenn es geschlossen ist ist:
13028, 1789.4, -1700.1, 14,Wo ist der Fehler?
-
Versuche es so:
MoveObject(METor,13028, 1789.4, -1700.1, 10.0, 1.0); -
Kann man das zufällig mit einer Schleife lösen?
AttachTrailerToVehicle(JobAttacher[0], JobTraktor[0]);
AttachTrailerToVehicle(JobAttacher[1], JobTraktor[1]);
AttachTrailerToVehicle(JobAttacher[2], JobTraktor[2]);
AttachTrailerToVehicle(JobAttacher[3], JobTraktor[3]);
AttachTrailerToVehicle(JobAttacher[4], JobTraktor[4]);
AttachTrailerToVehicle(JobAttacher[5], JobTraktor[5]);
AttachTrailerToVehicle(JobAttacher[6], JobTraktor[6]);
AttachTrailerToVehicle(JobAttacher[7], JobTraktor[7]);
AttachTrailerToVehicle(JobAttacher[8], JobTraktor[8]);
AttachTrailerToVehicle(JobAttacher[9], JobTraktor[9]); -
for(new i=0; i<sizeof(JobAttacher); i++) AttachTrailerToVehicle(JobAttacher[i], JobTraktor[i]);
-
MoveObject(METor,13028, 1789.4, -1700.1, 10.0, 1.0);
Leider immer noch der selbe Fehler. Hier mal ein Bild wie sie aufgeht:
-
Warum setzt er hier alles falsch beim Befehl: /hauskaufen
[14:51:53] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_hauser SET Owner = 'Niemand', Sell='0', Rent='0', Pric", callback: "(null)", format: "(null)"
[14:51:53] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[14:51:54] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 19.295 milliseconds
[14:51:54] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result savingCOMMAND:hauskaufen(playerid)
{
if(Spieler[playerid][Eingeloggt] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt!");
if(Spieler[playerid][pAFK] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist AFK. Benutze /back");
if(Spieler[playerid][pGetazert] == 1) return SendClientMessage(playerid,ROT,"Du bist getazert!");
new uMoney = Spieler[playerid][pGeld], HouseText[275], HouseIText[120];
if(Spieler[playerid][pHouseID] != defaulth && Spieler[playerid][pMieter] != defaulth) return SendClientMessage(playerid,ROT,"Du besitzt schon ein Haus (/hausverkaufen) oder bist in einem Haus eingemietet (/ausmieten)!");
for(new houseID = 0; houseID < MAX_HOUSE; houseID++)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,HouseInfo[houseID][hPos][0],HouseInfo[houseID][hPos][1],HouseInfo[houseID][hPos][2]))
{
if(HouseInfo[houseID][hSell] == 1) return SendClientMessage(playerid,ROT,"Dieses Haus kannst du nicht kaufen!");
if(uMoney < HouseInfo[houseID][hPrice]) return SendClientMessage(playerid,ROT,"Dieses Haus kannst du dir nicht leisten!");
if(Spieler[playerid][pLevel] < HouseInfo[houseID][hLevel]) return SendClientMessage(playerid,ROT,"Dein Level ist zu niedrig!");
format( HouseInfo[houseID][hOwner], 35, "%s", Spieler[playerid][pName]);
HouseInfo[houseID][hSell] = 1;
HouseInfo[houseID][hMietPreis] = 500;
Delete3DTextLabel(HouseInfo[houseID][hText]);
format(HouseText,sizeof(HouseText),""#HTML_LOGIN"HausID: %i\n"#HTML_LOGIN"Hausbesitzer: "#HTML_WHITE"%s\n"#HTML_LOGIN"Mietpreis: "#HTML_WHITE"%i$\n"#HTML_LOGIN"Mieter:"#HTML_WHITE"%i/%i\n"#HTML_LOGIN"Müll:"#HTML_WHITE"%d\n\nUm dich einzumieten benutze /einmieten"#HTML_WHITE" ein!\nZum Betreten 'F'", HouseInfo[houseID][hID], HouseInfo[houseID][hOwner], HouseInfo[houseID][hMietPreis], HouseInfo[houseID][hRentcount], HouseInfo[houseID][hMaxRent], HouseInfo[houseID][hMuell]);
HouseInfo[houseID][hText] = Create3DTextLabel(HouseText, WEISS, HouseInfo[houseID][hPos][0], HouseInfo[houseID][hPos][1], HouseInfo[houseID][hPos][2], 10, 0);DestroyDynamicPickup(HouseInfo[houseID][hPickup]);
HouseInfo[houseID][hPickup] = CreateDynamicPickup(1272, 1, HouseInfo[houseID][hPos][0], HouseInfo[houseID][hPos][1], HouseInfo[houseID][hPos][2],0);
Spieler[playerid][pHouseID] = houseID;
ACMoney(playerid, -HouseInfo[houseID][hPrice]);
ERTextHide(playerid);
format(HouseIText,sizeof(HouseIText),"Haus gekauft:~n~ID:%d~n~Name:%s~n~Preis:%d",HouseInfo[houseID][hID], HouseInfo[houseID][hOwner], HouseInfo[houseID][hPrice]);
ERText(playerid,HouseIText,5000);
SaveHouse(HouseInfo[houseID][hID]);
}
}
return true;
}stock SaveHouse(sid)
{
new query[500];
format(query,sizeof(query),"UPDATE "#DATENBANK"_hauser SET Owner = '%s', Sell='%d', Rent='%d', Price='%d', Locked='%d', Rentcount='%d', MaxRentcount = '%d', Posx='%f', Posy='%f', Posz='%f', Posix='%f', Posiy='%f', Posiz='%f', hLevel='%d', vworld='%d', hint='%d', Bank='%d', Muell='%d', waterprice='%d', stromprice='%d', heizprice='%d' , Mietpreis ='%d', Upgrade1 = '%d', Upgrade2 = '%d' WHERE hID = '%d'",
HouseInfo[sid][hOwner], HouseInfo[sid][hSell], HouseInfo[sid][hRent], HouseInfo[sid][hPrice], HouseInfo[sid][hLocked], HouseInfo[sid][hRentcount], HouseInfo[sid][hMaxRent], HouseInfo[sid][hPos][0], HouseInfo[sid][hPos][1], HouseInfo[sid][hPos][2], HouseInfo[sid][hiPos][0], HouseInfo[sid][hiPos][1],
HouseInfo[sid][hiPos][2], HouseInfo[sid][hLevel], HouseInfo[sid][hvWorld], HouseInfo[sid][hint], HouseInfo[sid][hBank], HouseInfo[sid][hMuell],HouseInfo[sid][hWaterprice],HouseInfo[sid][hStromprice], HouseInfo[sid][hHeizprice], HouseInfo[sid][hMietPreis],
HouseInfo[sid][hUpgrade][0],HouseInfo[sid][hUpgrade][1],HouseInfo[sid][hID]);
mysql_function_query(MYSQLVerbindung,query,false,"","");
} -
-
Oben im Script:
new METor;Und unter OnGamemodeInit:
METor = CreateObject(13028, 1789.4, -1700.1, 14, 0, 0, 0); // TorUnd dann:
public OnPlayerCommandText(playerid, cmdtext[])
//Mechaniker Tor
{
if (strcmp("/auf", cmdtext, true) == 0)
{
SendClientMessage(playerid,ROT,"Das Tor hat sich geöffnet");
//MoveObject(METor,13028, 1789.4000, -1700.1000, 10.0000, 0, 0, 0,5);
MoveObject(METor,13028, 1789.4, -1700.1, 10.0, 1.0);
return 1;
}