Eine Textur pro Funktionsaufruf. Du kannst mehrere Texturen durch mehrfaches Verwenden der Funktion bezwecken.
[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
-
-
Wie zum Beispiel ?
//edit erledigt dankeschön -
heyho,
da ich viel mit SQLite arbeite, bin ich auf den DB escape stock gestoßen, ich verstehe aber nicht ganz wozu der gut ist oder was der überhaupt bringt, könnte es mit vllt jemand erklären? währe dankbar.der stock
stock DB_Escape(text[])
{
new
ret[MAX_INI_ENTRY_TEXT * 2],
ch,
i,
j;
while ((ch = text[i++]) && j < sizeof (ret))
{
if (ch == '\'')
{
if (j < sizeof (ret) - 2)
{
ret[j++] = '\'';
ret[j++] = '\'';
}
}
else if (j < sizeof (ret))
{
ret[j++] = ch;
}
else
{
j++;
}
}
ret[sizeof (ret) - 1] = '\0';
return ret;
} -
Timer =P
SetTimer("Hi", 500, 1);new Var[1000]; <- zu hohe Byte Zahl.
Unnötige Functionen und etc....
-
Hallo, weiß jemand warum das Object die Farbe nicht annimmt ?
0xFFECECC6
SetObjectMaterial(LSPD, 5, 2755, "ab_dojowall", "mp_apt1_roomfloor", 0xFFECECC6);
-
heyho,
da ich viel mit SQLite arbeite, bin ich auf den DB escape stock gestoßen, ich verstehe aber nicht ganz wozu der gut ist oder was der überhaupt bringt, könnte es mit vllt jemand erklären? währe dankbar.der stock
stock DB_Escape(text[])
{
//[...]
}
Diese Funktion sucht einfach nach dem Zeichen ''' und ersetzt es durch "''" (also 2x '). -
heyho,
da ich viel mit SQLite arbeite, bin ich auf den DB escape stock gestoßen, ich verstehe aber nicht ganz wozu der gut ist oder was der überhaupt bringt, könnte es mit vllt jemand erklären? währe dankbar.der stock
stock DB_Escape(text[])
{
new
ret[MAX_INI_ENTRY_TEXT * 2],
ch,
i,
j;
while ((ch = text[i++]) && j < sizeof (ret))
{
if (ch == '\'')
{
if (j < sizeof (ret) - 2)
{
ret[j++] = '\'';
ret[j++] = '\'';
}
}
else if (j < sizeof (ret))
{
ret[j++] = ch;
}
else
{
j++;
}
}
ret[sizeof (ret) - 1] = '\0';
return ret;
}
Noch genauer:Beispiel: Folgende Abfrage:
gibt der Spieler jetzt für das Passwort einfach folgenden Text ein:
Zitat' OR `name` = 'NAME EINES ADMINS
dann hat er sich erfolgreich in den Adminaccount gehackt. Dies wird durch DB_Escape verhindert indem es die ' Zeichen *escaped* (also man kann dann nicht mehr durch Eingabe von ' die Abfrage manipulieren).Ohne DB_Escape wird das eingegebene Passwort einfach in die Abfrage eingefügt und diese dadurch manipuliert: (sollte einleuchtend sein wenn du dir die Abfrage unterhalb jetzt anschaust)
SELECT * FROM `players` WHERE `name` = 'Music4You' AND `password` = '' OR `name` = 'NAME EINES ADMINS' -
okay also wenn ichs richtig verstehe ist es eine sicherheits sache?
-
okay also wenn ichs richtig verstehe ist es eine sicherheits sache?
ja und bevor mans nicht versteht, sollte man kein SQL nutzen -
Hallo,
kann man mit einem Befehl ein Public abschalten ? -
Hier mal ein Beispiel [pL]Makaveli:
#include <ocmd>
new OnPlayerCommand_SetOff = 0;
ocmd:commandsoff(playerid,params[])
{
if(OnPlayerCommand_SetOff == 0) return OnPlayerCommand_SetOff = 1;
return OnPlayerCommand_SetOff = 0;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if( OnPlayerCommand_SetOff == 1 ) return SendClientMessage(playerid,-1,"Befehle wurden deaktiviert!");
// ...
} -
Hier mal ein Beispiel [pL]Makaveli:
#include
new OnPlayerCommand_SetOff = 0;
ocmd:commandsoff(playerid,params[])
{
if(OnPlayerCommand_SetOff == 0) return OnPlayerCommand_SetOff = 1;
return OnPlayerCommand_SetOff = 0;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if( OnPlayerCommand_SetOff == 1 ) return SendClientMessage(playerid,-1,"Befehle wurden deaktiviert!");
// ...
}
Dankeschön -
Hier mal ein Beispiel [pL]Makaveli:
#include <ocmd>
new OnPlayerCommand_SetOff = 0;
ocmd:commandsoff(playerid,params[])
{
if(OnPlayerCommand_SetOff == 0) return OnPlayerCommand_SetOff = 1;
return OnPlayerCommand_SetOff = 0;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if( OnPlayerCommand_SetOff == 1 ) return SendClientMessage(playerid,-1,"Befehle wurden deaktiviert!");
// ...
}Hier wäre es eher sinnvoller gewesen state zu nutzen.
public OnPlayerCommandText(playerid, cmdtext[])<STATUS:OFF> {
if(!strcmp(cmdtext,"/commandoff",false))return state STATUS:ON,SendClientMessage(playerid,-1,"Du hast die Befehle wieder angeschalten!");
return SendClientMessage(playerid,-1,"Die Befehle wurden ausgeschalten!");
}public OnPlayerCommandText(playerid, cmdtext[])<STATUS:ON> {
if(!strcmp(cmdtext,"/commandoff",false))return state STATUS:OFF, SendClientMessage(playerid,-1,"Du hast die Befehle wieder ausgeschalten!");
return 1;
}oder auch vereinfacht
state (!strcmp(cmdtext,"/commandoff",false)) STATUS:OFF;
was jedoch UNKNOWN command ausgibt -
Hier wäre es eher sinnvoller gewesen state zu nutzen.
Ist die Methode neu? Habe sowas noch nie gesehen
Wie funktioniert das? -
Ist die Methode neu? Habe sowas noch nie gesehen
Wie funktioniert das?xD die gibt es schon immer
Das ganze funktioniert so das du einem callback oder einer funktion ein status geben kannst den du mit state Beispiel:status
setzen kannst. Sollte die Funktion aufgerufen werden so wird nur die aufgerufen welche den jeweilgen status beinhaltet. Also kannst du mehrmals eine funktion damit verwenden das ganze nennt sich state maschine oder automata.
Der Vorteil ist das du damit funktionen besser hooken kannst da somit deine gehookte version als erstes aufgerufen wird.
und memory sparst du auch und damit globale variabeln.
Was auch noch zu wissen ist das es eine spezielle funktion gibt wie main names entry die wird aufgerufen wenn du ein status veränderst -
-
Kurze Frage.
Konnte man bei DIALOG_STYLE_MSGBOX mehr als zwei Button eingeben oder nur die zwei ?Danke
-
Kurze Frage.
Konnte man bei DIALOG_STYLE_MSGBOX mehr als zwei Button eingeben oder nur die zwei ?Danke
Ja man kann nur damit zwei Buttons oder einen Buttons "erstellen" um einen button zu entfernen muss man nur nix bei dem argument button2 eingeben.
Nur bei DIALOG_STYLE_LIST wären mehrere Buttons möglich jedoch nur als Listitem. -
Ja man kann nur damit zwei Buttons oder einen Buttons "erstellen" um einen button zu entfernen muss man nur nix bei dem argument button2 eingeben.
Nur bei DIALOG_STYLE_LIST wären mehrere Buttons möglich jedoch nur als Listitem.
Danke ja auf dem Link war ich eben auch schon, nur wäre halt praktisch für mich gewesen
Danke dir -
Wie kann man abfragen, ob sein auto von einer Rpg getroffen wurde ?
mfG -