[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
Es sind wahrscheinlich Beschädigte Spielerdaten also ein Datenfeld ist nicht das was es sein soll. Diese Fehler treten oft vor wenn ungültige Daten gespeichert werden. Ihr müsst jede Zeile in OnQueryFinish manuell Überprüfen und herausfinden welches es ist.
Am besten nachschauen seit wann das Problem besteht mit dem crash Nico
-
Oke danke dir erstmal wir schauen nach.
-
Irgendwie möchte der Timer nicht wirklich.. jetzt steht da ganze Zeit "Du kannst nur alle 30 Seknuden Angeln"
Code
Alles anzeigenocmd:angeln(playerid) { SetPVarInt(playerid,!"fisch_fangen",gettime()+30); new rand = random(2), fischgewicht = random(4)+1; if(!AmSteg(playerid))return SCM(playerid,COLOR_RED,"[Info]: {FFFFFF}Du bist nicht an einem Steg."); if(SpielerInfo[playerid][sNetz] < 1)return SCM(playerid,COLOR_RED,"[Info]: {FFFFFF}Du musst Netz haben um dort die Fische reinzulegen."); if(GetPVarInt(playerid,!"fisch_fangen") > gettime()) { SendClientMessage(playerid,COLOR_RED,"Du kannst nur alle 30 Sekunden Angeln"); } else if(rand == 0) { SpielerInfo[playerid][sFisch] += fischrand; new string[128]; format(string,sizeof(string),"[Info]: {FFFFFF}Du hast gerade %d Fische gefangen!",fischrand); SCM(playerid,COLOR_SUPER,string); } if(SpielerInfo[playerid][sFisch] >= 20) { SCM(playerid,COLOR_INFO,"[Info]: {FFFFFF}Mehr Fische kannst du nicht halten."); SCM(playerid,COLOR_INFO,"[Info]: {FFFFFF}Gehe zum Markt und Verkaufe sie."); } return 1; }
-
Edit:
Die Uhrzeit macht's aus.. xd
Wie gesagt, SetPVarInt(playerid,!"fisch_fangen",gettime()+30); wird direkt gesetzt.
Mach das dahin, wo man auch wirklich ein Fisch fängt.
Also nach der Abfrage
-
Code
g_Actor[0] = CreateActor(11, 809.2540, -1339.0031, 13.5675, 229.8580); //Noob Spawn SetActorVirtualWorld(g_Actor[0], 0); ApplyActorAnimation(g_Actor[0], "ON_LOOKERS","wave_loop", 4.0, 1, 0, 0, 0, 0);
Hey,
Kurze frage der Actor führt die Animation nicht permanent aus weiß jemand warum? bzw soll die Dauerhaft winken.
-
Kurze frage der Actor führt die Animation nicht permanent aus weiß jemand warum? bzw soll die Dauerhaft winken.
...was bedeutet nicht permanent?
Nur kurz oder wenn du weg gehst und wieder hin gehst, dass er dann die Animation nicht mehr ausführt?
-
Also ich gehe zum Actor und er steht Permanent still da.
-
-
Code
[22:34:32] [debug] Server crashed while executing server.amx [22:34:32] [debug] AMX backtrace: [22:34:32] [debug] #0 native cache_get_field_content_int () in mysql.so [22:34:32] [debug] #1 005ca330 in public LoadPlayerVehicles (playerid=0, slot=0) at C:\Users\PC\Desktop\SERVER\gamemodes\server.pwn:45765
Code
Alles anzeigenpublic LoadPlayerVehicles(playerid, slot) { new result[25], rows, fields; cache_get_data(rows, fields); if(rows) { PlayerHaveCar[playerid][slot] = 1; cache_get_field_content(0, "vehBesitzer", result); format(PrivateVehicle[playerid][slot][vehBesitzer], 32, result); PrivateVehicle[playerid][slot][CarModel] = cache_get_field_content_int(0, "modelid"); PrivateVehicle[playerid][slot][vehPosX] = cache_get_field_content_float(0, "vehPosX"); PrivateVehicle[playerid][slot][vehPosY] = cache_get_field_content_float(0, "vehPosY"); PrivateVehicle[playerid][slot][vehPosZ] = cache_get_field_content_float(0, "vehPosZ"); PrivateVehicle[playerid][slot][vehPosA] = cache_get_field_content_float(0, "vehPosA"); PrivateVehicle[playerid][slot][vehColor1] = cache_get_field_content_int(0, "vehColor1"); PrivateVehicle[playerid][slot][vehColor2] = cache_get_field_content_int(0, "vehColor2"); PrivateVehicle[playerid][slot][vehPaintjob] = cache_get_field_content_int(0, "vehPaintjob"); PrivateVehicle[playerid][slot][vehSpoiler] = cache_get_field_content_int(0, "vehSpoiler"); PrivateVehicle[playerid][slot][vehHood] = cache_get_field_content_int(0, "vehHood"); PrivateVehicle[playerid][slot][vehRoof] = cache_get_field_content_int(0, "vehRoof"); PrivateVehicle[playerid][slot][vehSideskirt] = cache_get_field_content_int(0, "vehSideskirt"); PrivateVehicle[playerid][slot][vehLamps] = cache_get_field_content_int(0, "vehLamps"); PrivateVehicle[playerid][slot][vehNitro] = cache_get_field_content_int(0, "vehNitro"); PrivateVehicle[playerid][slot][vehExhaust] = cache_get_field_content_int(0, "vehExhaust"); PrivateVehicle[playerid][slot][vehWheels] = cache_get_field_content_int(0, "vehWheels"); PrivateVehicle[playerid][slot][vehStereo] = cache_get_field_content_int(0, "vehStereo"); PrivateVehicle[playerid][slot][vehHydraulics] = cache_get_field_content_int(0, "vehHydraulics"); PrivateVehicle[playerid][slot][vehFrontBumper] = cache_get_field_content_int(0, "vehFrontBumper"); PrivateVehicle[playerid][slot][vehRearBumper] = cache_get_field_content_int(0, "vehRearBumper"); PrivateVehicle[playerid][slot][vehVentRight] = cache_get_field_content_int(0, "vehVentRight"); PrivateVehicle[playerid][slot][vehVentLeft] = cache_get_field_content_int(0, "vehVentLeft"); //45765 PrivateVehicle[playerid][slot][vehPreis] = cache_get_field_content_int(0, "vehPreis"); PrivateVehicle[playerid][slot][vehState] = cache_get_field_content_int(0, "vehState"); PrivateVehicle[playerid][slot][vehNeonID] = cache_get_field_content_int(0, "vehNeonID"); PrivateVehicle[playerid][slot][isSpecialTuned] = cache_get_field_content_int(0, "SpezialTuning"); cache_get_field_content(0, "vehNumberPlate", PrivateVehicle[playerid][slot][vehNumberPlate], gSQL, 32); PrivateVehicle[playerid][slot][vehAbgeschleppt] = cache_get_field_content_int(0, "vehAbgeschleppt"); cache_get_field_content(0, "vehAbgeschlepptVon", PrivateVehicle[playerid][slot][vehAbgeschlepptVon], gSQL, 32); PrivateVehicle[playerid][slot][vehKaution] = cache_get_field_content_int(0, "vehKaution"); PrivateVehicle[playerid][slot][vehFahrgestell] = cache_get_field_content_int(0, "vehFahrgestell"); PrivateVehicle[playerid][slot][vehInterior] = cache_get_field_content_int(0, "vehInterior"); PrivateVehicle[playerid][slot][vehWorld] = cache_get_field_content_int(0, "vehWorld"); PrivateVehicle[playerid][slot][vehPeilsender] = cache_get_field_content_int(0, "vehPeilsender"); PrivateVehicle[playerid][slot][vehTUV] = cache_get_field_content_int(0, "vehTUV"); if(!PrivateVehicle[playerid][slot][vehAbgeschleppt]) { PrivateVehicle[playerid][slot][vehID] = CreateVehicleEx(PrivateVehicle[playerid][slot][CarModel], PrivateVehicle[playerid][slot][vehPosX], PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2], -1, false, 0); Vehicle[PrivateVehicle[playerid][slot][vehID]][vehFuel] = cache_get_field_content_int(0, "vehFuel"); g_VehicleDistance[PrivateVehicle[playerid][slot][vehID]] = cache_get_field_content_int(0, "vehKMStand"); VehicleTuning(playerid, slot); } } return 1; }
Warum Crasht deswegen der Server?
MySQL R39-3
-
Also wenn bei deinen Stats rein garnichts gespeichert wird, könnte es daran liegen, dass deine Query-Size zu gering ist.
Ich hatte außerdem selbes Problem, da ich zu viele Werte in einem einzelnen mysql_format eingefügt hab.
Du könntest also versuchen:
C
Alles anzeigen// 1. Die Query-Size erhöhen: new query[512]; // 2. Das ganze in zwei Format zu unterteilen: mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', tutorial = '%d', kills = '%d', deaths = '%d'",PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pTutorial], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths]); mysql_format(handle, query, sizeof(query), "%s, rpname = '%s', admin = '%d' WHERE id = '%d'", query, PlayerInfo[playerid][pRPName], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][p_id]); mysql_pquery(handle, query);
------
Welche Zeile ist denn die 64323te ?
Ich habe mal die query size erhöht und etwas anderes ausprobiert.
strmid(Playerinfo[playerid][pRPName],inputtext,0,strlen(inputtext),32);
Das ganze hat mir geholfen, trotzdem Danke.
-
Hey, eine Kleine Frage am Rande Möchte auf meinem Server Connecten wo ich ein Script hochgeladen habe. Doch komme ich nicht weiter, siehe Screenshot.
Eingetragen ist eigentlich soweit alles.
Screen: https://www.pic-upload.de/view-36689538/sa-mp-010.png.html
-
Keine Verbindung zum MySQL Server
-
Hat jemand zufällig gerade Koordinaten parat, dass der Spieler Eine Spraycan (Objekt) in der Hand halt, ggf. auch gleich als Funktion, dass es auf jeden Skin angepasst ist.
-
Hat jemand zufällig gerade Koordinaten parat, dass der Spieler Eine Spraycan (Objekt) in der Hand halt, ggf. auch gleich als Funktion, dass es auf jeden Skin angepasst ist.
Gib ihm es doch einfach temporär als Waffe?
-
Beitrag von static ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Gib ihm es doch einfach temporär als Waffe?
Ungerne. Stehe nebenbei noch vor einer Frage und finde keinen vernünftigen Converter oder Lösungsansatz.
Ich will bei der Funktion SetObjectMaterialText Eine Farbe angeben. Mit meinem HEX Werten (0xFF1E00FF) funktioniert es nicht.
Habe was von ARGB Format gehört? -
Habe was von ARGB Format gehört?
ARGB bedeutet: Alpha Red Green Blue.
Und ja, in diesem Format muss es angegeben werden.
0xFF1E00FF dein Hex in RGBA ist: FF -> Red | 1E -> Green | 00 -> Blue | FF -> Alpha
Also musst du die Reihenfolge ändern und es wird zu: 0xFFFF1E00
Musst die Alpha Werte an den Anfang stellen.
-
Code
format(string, sizeof(string), "%s\n", OfflineInfo[i][pickName], ((reason)?("Timeout"):("Verlassen"):("Gekickt/Gebannt"))); OfflineLable[i] = CreateDynamic3DTextLabel(string, COLOR_WHITE, OfflineInfo[i][pickPos][0], OfflineInfo[i][pickPos][1], OfflineInfo[i][pickPos][2], 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
Hey, Kurze frage bin dabei ein Offline Pickup zu entwickeln möchte gerne ein Reason Ausgeben aus welchen Grund das funktioniert so ganz nicht..
-
das funktioniert so ganz nicht
Mach es so:
-