[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
-
-
Kennt sich jemand hier mit pygame aus?
-
//e Fehler gefunden
-
format(query, sizeof(query), "INSERT INTO `ATM` (`ID`, `X`, `Y`, `Z`, `A`) VALUES (`%i`, `%f`, `%f`, `%f`, `%f`,)", i, X, Y, Z, A);
zu:
format(query, sizeof(query), "INSERT INTO `ATM` (`ID`, `X`, `Y`, `Z`, `A`) VALUES (`%i`, `%f`, `%f`, `%f`, `%f`)", i, X, Y, Z, A);Außerdem solltest du "erstellt" dann auf true setzen.
-
@Jeffry
Das erstellen und Speichern klappt nun, nur ist das Problem da, das beim Entfernen einfach nicht Entfernt wird.Code
Alles anzeigencase 0: { new id = IsATM(playerid), query[256]; if(id != -1) { ATMInfo[id][erstellt] = false; ATMInfo[id][aX] = 0.0; ATMInfo[id][aY] = 0.0; ATMInfo[id][aZ] = 0.0; DestroyObject(ATMInfo[id][atmobject]); SendClientMessage(playerid, FARBE_WEISS, "ATM Entfernt!"); format(query, sizeof(query), "SELECT * FROM `ATM` WHERE ID = '%d'", id); format(query, sizeof(query), "DELETE FROM `ATM` WHERE ID = '%d'", id); db_query(Datenbank, query); return 1; }return SendClientMessage(playerid, FARBE_WEISS, "Kein ATM in der Nähe!!"); } stock IsATM(playerid) { new i = 0; while(i != MAX_ATMS) { if(IsPlayerInRangeOfPoint(playerid, 5.0, ATMInfo[i][aX], ATMInfo[i][aY], ATMInfo[i][aZ])) { return i; } i++; } return -1; }
MfG. Black_Air
-
C
for(new w = 0; w < 3; w++) { if(Private[i+100][pGun][w] != 0) { GetWeaponName(Private[i+100][pGun][w],weap,sizeof(weap)); if(strlen(wstr)) format(wstr, sizeof(wstr),"%s, %s", wstr,weap); else format(wstr, sizeof(wstr), "Keine"); } }
Wenn ich Waffen in der Arena habe, dann wird "Keine" angezeigt und wenn ich keine habe dann nichts.
-
C
for(new w = 0; w < 3; w++) { if(Private[i+100][pGun][w] != 0) { GetWeaponName(Private[i+100][pGun][w],weap,sizeof(weap)); if(strlen(wstr)) format(wstr, sizeof(wstr),"%s, %s", wstr,weap); else format(wstr, sizeof(wstr), weap); } } if(!strlen(wstr)) else format(wstr, sizeof(wstr), "Keine");
@Black_Air
Erstelle bitte einen Thread, das sind keine kleinen Fragen mehr und viel zu lange Codes für diesen Thread. -
Ist es möglich ein Adminsystem zu erstellen, sodass aber nur Admins Befehle benutzen können welche vorher Im Script definiert wurden, heißt mit Namen?
-
-
@Jeffry Wow, so simple habe ich das nicht erwartet, liegt aber vielleicht daran das ich das nur 1 % von meinem Vorhaben ausgebaut habe. Und wie mache ich das mit mehreren Name? Habe vor ne Liste mit beispielsweise 10 Namen zu definieren und später ein Befehl erstellen womit ich Ingame Leute zur Liste hinzufügen, aber dazu ganz später..
-
Entweder über ein Array mit Schleife, oder:
Cif(!strcmp(SpielerName(playerid), "Jeffry") || !strcmp(SpielerName(playerid), "Bob")) { //Mach was } else return SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht eingetragen.");
Bzw eben mit einem stock, damit du es nur einmal im Code hast:
C
Alles anzeigenstock CheckAdminName(playerid) { if(!strcmp(SpielerName(playerid), "Jeffry") || !strcmp(SpielerName(playerid), "Bob")) return 1; return 0; } //Und dann: if(CheckAdminName(playerid)) { //Mach was } else return SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht eingetragen.");
-
@Jeffry Ich bin mir nicht sicher ob ich das richtig verstanden habe, aber wenn ich Möglichkeit 1 verwende, müsste ich das extra zu jedem Befehl einfügen, könnte aber theoretisch verschiedene Befehle mit verschiedenen Spielernamen erstellen? Und bei Möglichkeit 2 muss ich das nur einmal definieren, aber dafür kann jeder eingetragene Spielername alle Befehle mit der Abfrage benutzen?
-
Korrekt.
-
-
Nein, sorry.
Ich schätze das ist hier der falsche Bereich, das hat ja nicht wirklich was mit SA-MP zu tun. -
Hi suche den TextDraw Editor kann mir einer einen Link schicken?
-
-
Ne Idee warum das nicht funktioniert? Als FilterScript funktioniert das ohne Probleme..
Code
Alles anzeigenpublic OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/test", cmdtext, true, 10) == 0) { SetPlayerScore(playerid,71); return 1; } if (strcmp("/rconcp", cmdtext, true, 10) == 0) { if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFFFFFFFF,"RCONCP: Please login as RCON-Admin to use this command."); if(GetPVarInt(playerid,"RCONCP") == 0) { new rconcp_string[84][2]; RCPTD[playerid][0] = CreatePlayerTextDraw(playerid,60.000000, 110.000000, "~r~"); PlayerTextDrawBackgroundColor(playerid,RCPTD[playerid][0], 255); PlayerTextDrawFont(playerid,RCPTD[playerid][0], 1); //Textdraws //Textdraws //Textdraws for(new textdraws = 0; textdraws < 19; textdraws++) { PlayerTextDrawShow(playerid, RCPTD[playerid][textdraws]); } SetPVarInt(playerid,"RCONCP",1); SelectTextDraw(playerid,0x6E6E6EFF); TogglePlayerControllable(playerid,false); SendClientMessage(playerid,-1," "); SendClientMessage(playerid,0xFFFFFFFF,"RCON: Ingame Control Panel opened."); } else if(GetPVarInt(playerid,"RCONCP") == 1) { DeletePVar(playerid,"RCONCP"); DeletePVar(playerid,"RCONCP_CHANGE"); CancelSelectTextDraw(playerid); TogglePlayerControllable(playerid,true); for(new textdraws = 0; textdraws < 19; textdraws++) { PlayerTextDrawHide(playerid, RCPTD[playerid][textdraws]); PlayerTextDrawDestroy(playerid, RCPTD[playerid][textdraws]); } SendClientMessage(playerid,-1," "); SendClientMessage(playerid,0xFFFFFFFF,"RCON: Ingame Control Panel closed."); } return 1; } return 0; }
-
Was funktioniert nicht?
-