[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
-
-
Du hast für diesen Befehl bereits einen Thread offen: Befehl Frage
Bleibe daher in diesem Thread und verteile den Code nicht überall, das führt nur zu Überschneidungen bei Lösungsversuchen und ist absolut nicht zielführend. -
-
Mag jemand mir mal die Tage helfen YSI aus meinem Script zu eliminieren?
Habe nichts aus dem Script drin, aber wenn ich es streiche, schmiert der Compiler ab.
Habe damals y_ini genutzt, nun komplett gestrichen, aber wenn ich es rausnehme schmiert das Ding einfach ab.Habe eine Funktion geschrieben zum Runden von Integern.
Kann man diese auch mit Bitwise Verknuepfungen und Shifts darstellen? -
Habe eine Funktion geschrieben zum Runden von Integern.
Kann man diese auch mit Bitwise Verknuepfungen und Shifts darstellen?Kannst du mal Beispiele geben, was du als Input eingibst und als Output raushaben magst?

-
Beispiel: Ich gebe 24 ein, und es soll 20 rauskommen, oder ich gebe 25 ein, und es soll 30 rauskommen
Also auf und abrunden von Integern. -
Gebe ich den erste Fahrzeug TÜV Funktioniert das.
Gebe ich den Zweiten Fahrzeug TÜV Funktioniert das nicht mehr.C
Alles anzeigenocmd:tuv(playerid, params[]) { new pID, string[128], cmd, Float:pos[3]; if(!IsLoggedIn(playerid))return 1; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); if(sscanf(params,"dd", pID, cmd)) return SendClientMessage(playerid, COLOR_WHITE,"{247BA6}* Benutze: {00CC00}/tuv [SpielerID/Name] [1 = Bestanden | 0 = Nicht Bestanden]"); if(Spieler[pID][pWanteds] > 0) return SendClientMessage(playerid, COLOR_WHITE,"{AFAFAF}Der angegebene Spieler wird von der Polizei gesucht!"); if(!IsPlayerInRangeOfPoint(pID, 10.0, pos[0], pos[1], pos[2]))return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Der Spieler ist nicht in deiner Nähe."); if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE); if(IsPlayerNPC(pID))return 1; //if(pID == playerid) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du kannst keine Prüfung an deinem eigenen Auto durchführen!"); if(!IsPlayerInAnyVehicle(pID)) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Der angegebene Spieler befindet sich nicht in seinem Fahrzeug!"); new vehicleid = GetPlayerVehicleID(pID); if(cmd == 0) { if(IsPlayerInVehicle(pID, vehicleid)) { for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++) { if(vehicleid == PrivateVehicle[pID][vehSlot][vehID]) { format(string, sizeof(string), "{C2A2DA}* %s %s entfernt die Prüfplakette von %s Auto", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), GetName(pID)); RoundMessage(playerid, COLOR_WHITE, string, 10.0); PrivateVehicle[pID][vehSlot][vehTuv] = 0; PrivateVehicle[pID][vehSlot][vehTuvAbgelaufen] = 0; return 1; } } } } if(cmd == 1) { if(IsPlayerInVehicle(pID, vehicleid)) { for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++) { if(vehicleid == PrivateVehicle[pID][vehSlot][vehID]) { format(string, sizeof(string), "{C2A2DA}* %s %s klebt eine Prüfplakette (Gültigkeit 7 Tage) an das Auto von %s", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), GetName(pID)); RoundMessage(playerid, COLOR_WHITE, string, 10.0); PrivateVehicle[pID][vehSlot][vehTuv] = 1; PrivateVehicle[pID][vehSlot][vehTuvAbgelaufen] = gettime()+(60*60*24*7); return 1; } } } } return 1; } -
Beitrag von Shifty420 ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Thread konnte ebend nicht erstellt werden (). -
Nabend,
Wie kann ich abfragen ob ein String, 2 Buchstaben und 3 Zahlen oder 1 Buchstabe und 4 Zahlen hat ? -
Mit 2 einfachen Funktionen kannst du das realisieren:
C
Alles anzeigenstock CountCharsInString(const string[]) { new c; for(new i=strlen(string)-1; i!=-1; i--) { if((string[i] >= 'A' && string[i] <= 'Z') || (string[i] >= 'a' && string[i] <= 'z')) c++; } return c; } stock CountNumbersInString(const string[]) { new c; for(new i=strlen(string)-1; i!=-1; i--) { if(string[i] >= '0' && string[i] <= '9') c++; } return c; }
Und dann kannst du ja einfach abfragen: -
-
Hey,
Code
Alles anzeigenstock ApplyNumberPlate2(playerid, number) //Zulassung { new d = GetPVarInt(playerid,"_tmp_veh"); DeletePVar(playerid, "_tmp_veh"); PCar[playerid][d][P_KZ] = number; new string[50]; format(string, sizeof(string), "LS-%d",PCar[playerid][d][P_KZ]); SetVehicleNumberPlate(PCar[playerid][d][P_VID],string); new query[256]; mysql_format(handle, query, sizeof(query), "INSERT INTO personalcars (P_KZ) VALUES ('%d')",PCar[playerid][d][P_KZ]); mysql_pquery(handle,query); }
Kurze Frage zu INSERT Wenn ich das Fahrzeug wieder abmelde, kann ich dann weiterhin diesen stock aufrufen und INSERT benutzen?
Weil man ja UPDATE benutzt.Ich benutzte INSERT weil am Anfang nichts eingetragen ist, wenn ich das Fahrzeug abmelde ist der Wert ja 0
-
Wenn du eine vorhandene Spalte ändern willst (Was in dem Falle so ist) musst du UPDATE nutzen. INSERT bedeutet, dass er immer einen neuen Eintrag erstellt.
-
INSERT = Erstellt einen neuen Eintrag in der Datenbank (mit neuer ID etc.)
UPDATE = Bearbeitet einen oder mehrere bestehende Einträge
DELETE = Löscht einen oder mehrere Einträge -
Gibts eine einfache Möglichkeit wenn ich bspw pGeld = 20000 habe, dass ich es bei einer Übersicht für den Spieler mit einen Punkt anzeigen lassen (also ab den 1000er) also: 20.000 ohne das Geld System ändern zu müssen?
-
Gibts eine einfache Möglichkeit wenn ich bspw pGeld = 20000 habe, dass ich es bei einer Übersicht für den Spieler mit einen Punkt anzeigen lassen (also ab den 1000er) also: 20.000 ohne das Geld System ändern zu müssen?
Hatte dafür mal eine Funktion geschrieben gehabt:
Cstock sMoney(geld) { new str[24],i; valstr(str,geld),i=(geld > 0) ? strlen(str)-3 : strlen(str)-4; for(; i>0; i-=3) strins(str,".",(geld > 0) ? i : i+1,24); return str; }Nutzung einfach so:
format(string,sizeof(string),"Habe soviel Geld: %s$",sMoney(pGeld)); //Output: Habe soviel Geld: 20.000$
-
Alles anzeigen
Falls dir das zu umständlich ist, könntest du auch einfach eine Funktion in das Callback vom Gamemode packen und diese dann im Include aufrufen.
//Also z.B. im Gamemode
public OnPlayerConnect(playerid)
{
Spieler_OnPlayerConnect(playerid);
return 1;
}//Und dann im Spieler Include
stock Spieler_OnPlayerConnect(playerid)
{} Alles anzeigen Dann hätteste du auch immer eine chronologische Reihenfolge und eine direkte Übersicht über alle Includes im Gamemode.
Bin gerade dies am umsetzen, allerdings spuckt mir der Compiler immer Error 017 "undefined symbol" aus.
C
Alles anzeigen// Gamemode #include modules\login\main.inc public OnGameModeInit() { SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // MODULES loginOnGameModeInit(); return 1; } // Include stock loginOnGameModeInit() { SetupMySQLConnection(); return 1; } -
Wie sieht denn deine Ordnerstruktur aus bei Pawno/Includes?
Bist du sicher, dass du das richtige Pawno öffnest und auch die Include abgespeichert hast?

Schreib es btw mal so:
#include <modules/login/main>
Dann solltest du unter Pawno/includes/modules/login/main.inc haben.
-
Tatsächlich! Daran lag es. Sobald ich \ statt / nutze, tauchen die Errors wieder auf.
-
Gibt es bei SQLite auch sowas wie InsertID?
-
Gibt es bei SQLite auch sowas wie InsertID?
Was genau meinst du?
