fs_textlabel
Wie hast denn die Variable deklariert?
fs_textlabel
Wie hast denn die Variable deklariert?
Wie hast denn die Variable deklariert?
new fs_object[1],
fs_fahrzeug[5],
fs_pickup[4],
fs_textlabel[4],
fs_schild_achtung[5],
fs_schild_fs[5];
#define FS_EINGANG_POS 1221.9570, -1812.1226, 16.5938
#define FS_AUSGANG_POS 1221.9570, -1812.1226, 17.5938
#define FS_DACH_EINGANG_POS 1221.9570, -1811.9386, 16.5938
#define FS_DACH_AUSGANG_POS 1221.9570, -1811.9386, 17.5938
#define FS_VIRTUALWORLD 50
Alles anzeigen
Danke immer diese kleinigkeiten die man vergisst
//edit habe eine Frage:
Also ich möchte das alle
new fs_fahrzeug[5]; respawnt werden.
Was muss ich dann in der Schleife eintragen? also da wo" HIER?" steht wenn ich dort fs_fahrzeug eintrage kommt: error 032: array index out of bounds (variable "fs_fahrzeug")
Maho ich empfehle eine generelle Umstrukturierung des Codes (ungetestet).
// Shortcut
ForLoopThis(%0, %1) for(new %0 = 0; %0 < %1; %0++)
// Oben im Script, leicht zu finden & zu verändern
#define MAX_FS_FAHRZEUG 5
new fs_fahrzeug[MAX_FS_FAHRZEUG];
ocmd:fsrespawn(playerid,params[])
{
//if(IsPlayerFSLeader(playerid)) return NO_FSLEADER;
ForLoopThis(i, MAX_FS_FAHRZEUG)
{
SetVehicleToRespawn(i);
}
return 1;
}
Alles anzeigen
SELECT FROM `accounts` WHERE `Passwort`='SHA2(CONCAT('- - -',`SaltKey`), 256)' AND `Name` = '- - -' LIMIT 1
OnQueryError(1064,'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `accounts` WHERE `Passwort`='SHA2(CONCAT('- - -',`SaltKey`), 256)' AND `' at line 1','SELECT FROM `accounts` WHERE `Passwort`='SHA2(CONCAT('- - -',`SaltKey`), 256)' AND `Name` = '- - -' LIMIT 1')
new password[128], query[ sizeof(columns) + 256 ];
mysql_real_escape_string(inputtext, password,gSQL,sizeof(password) );
format(query,sizeof(query),"SELECT %s FROM `accounts` WHERE `Passwort`='SHA2(CONCAT('%s',`SaltKey`), 256)' AND `Name` = '%s' LIMIT 1", columns, password, GetName(playerid));
printf(query);
mysql_pquery(query , THREAD_LOADPLAYER , playerid, gSQL,MySQLThreadOwner);
PlayerSQLExtra(playerid,inputtext);
Hey,
Kurze frage:
Alter Code:
format(query,sizeof(query),"SELECT %s \
FROM `accounts` \
WHERE `Passwort` = SHA2(CONCAT('%s',`SaltKey`),256) AND `Name` = '%s' LIMIT 1",columns,password,GetName(playerid) );
mysql_pquery(query, THREAD_LOADPLAYER , playerid, gSQL,MySQLThreadOwner);
Neuer Code:
format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Passwort` = SHA2(CONCAT('%s', 'SaltKey'), 256) AND `Name` = '%s' LIMIT 1", password, GetName(playerid));
mysql_pquery(query, THREAD_LOADPLAYER , playerid, gSQL,MySQLThreadOwner);
Ich nutze columns nicht mehr habe dies entfernt aber er möchte das Passwort nicht auslesen, hat jemand eine idee warum das so ist?
Gibt der MySQL Log einen Fehler aus?
Wie sieht der Code im zugehörigen Callback aus, wo du die Spalten ausliest (du liest mit * ja jetzt alle Spalten aus der Datenbank).
Hallo habe Probleme mit YSI.
Ich möchte in einer include YSI Hooks nutzen.
Doch wenn ich in der Include mit #include <YSI\y_hook> schreibe bekomme ich im Hauptgamemode folgende Fehler Meldung.
D:\RooT Selfmade\pawno\include\foreach.inc(193) : error 017: undefined symbol "_FOREACH_CUR_VERSION"
D:\RooT Selfmade\gamemodes\selfmade.pwn(2222) : warning 203: symbol is never used: "USE@YSI_Coding@y_hooks"
D:\RooT Selfmade\gamemodes\selfmade.pwn(2222) : warning 203: symbol is never used: "USE@YSI_Data@y_iterate"
Die Include:
GM:
//=====PUBLIC INCLUDES======//
#include <crashdetect>
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <streamer>
#include <foreach>//HIER
#include <ocmd>
Und warum auch immer bekomme ich ein Fehler in der foreach include habe nix dort verändert.
//edit hat sich erledigt habe (#include <YSI_Data\y_iterate> ) über dem foreach include geschrieben
Guten Abend,
Ich wollte fragen ob man den Chat solange ein Ladescreen kommt ausblenden kann.
Genauso die Lebensanzeige ausblenden kann.
Ich wollte fragen ob man den Chat solange ein Ladescreen kommt ausblenden kann.
Einfach leere Chat-Messages spammen
Genauso die Lebensanzeige ausblenden kann.
TextDraw, SpectateModus (https://wiki.sa-mp.com/wiki/TogglePlayerSpectating) oder DrunkLevel (https://wiki.sa-mp.com/wiki/SetPlayerDrunkLevel) sind hier die Lösung
[16:58:35] [debug] AMX backtrace:
[16:58:35] [debug] #0 00759008 in public LoadGangwar () at C:\Users\User\Desktop\Scripting\Scripting2\Scripting.pwn:74380
[16:58:35] [debug] Run time error 4: "Array index out of bounds"
[16:58:35] [debug] Attempted to read/write array element at index 15 in array of size 15
Woran ist der Fehler habe es an den Fraktionen Angepasst, 8,9,10,11,12 Das sind die Gangs/Mafien
Wenn das genau Zeile 74380 ist dann bedeutet dass, dass beim Iterieren i = 15 ist, aber der Array nur eine Länge von 15 (0-14) hat. Dadurch sprengst du den Array
public OnWantedChange(playerid, oldwanteds, newwanteds)
{
new string[128];
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsLoggedIn(i))
{
if(IsPlayerStreamedIn(playerid, i))
{
if(Spieler[i][pFraktion] == 2 || Spieler[i][pFraktion] == 3 || Spieler[i][pFraktion] == 4)
{
if(newwanteds > 0 && oldwanteds == 0){
for(new a=0;a<MAX_WANTEDLABEL;a++)
{
if(Spieler[i][pWantedLabelCreated][a] == 0){
format(string, sizeof(string), "{FFFF00}%s (ID: %d)\nWanteds: %d\nGrund: %s", GetName(playerid), playerid, newwanteds, Spieler[playerid][pWantedReason]);
Spieler[i][pWantedLabel][a] = CreateDynamic3DTextLabel(string, COLOR_WHITE, 0.0, 0.0, 0.0, 10.0, playerid, INVALID_VEHICLE_ID, 0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), i);
Spieler[i][pWantedLabelID][a] = playerid;
Spieler[i][pWantedLabelCreated][a] = 1;
Streamer_SetFloatData(STREAMER_TYPE_3D_TEXT_LABEL, Spieler[i][pWantedLabel][a], E_STREAMER_ATTACH_OFFSET_Z, 0.70);
return 1;
}
}
}
else if (newwanteds > 0 && oldwanteds > 0){
for(new a=0;a<MAX_WANTEDLABEL;a++)
{
if(Spieler[i][pWantedLabelCreated][a] == 1 && Spieler[i][pWantedLabelID][a] == playerid){
format(string, sizeof(string), "{FFFF00}%s (ID: %d)\nWanteds: %d\nGrund: %s", GetName(playerid), playerid, newwanteds, Spieler[playerid][pWantedReason]);
UpdateDynamic3DTextLabelText(Spieler[i][pWantedLabel][a], COLOR_WHITE, string);
return 1;
}
}
}
else if(oldwanteds > 0 && newwanteds <= 0)
{
for(new a=0;a<MAX_WANTEDLABEL;a++)
{
if(Spieler[i][pWantedLabelCreated][a] == 1 && Spieler[i][pWantedLabelID][a] == playerid)
{
Spieler[i][pWantedLabelID][a] = INVALID_PLAYER_ID;
Spieler[i][pWantedLabelCreated][a] = 0;
DestroyDynamic3DTextLabel(Spieler[i][pWantedLabel][a]);
return 1;
}
}
}
}
}
}
}
return 1;
}
Alles anzeigen
Hey,
Mal eine Kurze Frage, wen ich den Spieler den Wanteds Cleare mit dem Grund Angriff z.b geht der Label weg gebe ich ihm neue Wanteds kriegt er den alten Wanted Grund warum?
Hey,
Mal eine Kurze Frage, wen ich den Spieler den Wanteds Cleare mit dem Grund Angriff z.b geht der Label weg gebe ich ihm neue Wanteds kriegt er den alten Wanted Grund warum?
Wie sieht denn der Befehl dazu aus, wo du den Wanted-Grund setzt?
Servus,
hab ein kleines Problem bei DIALOG_STYLE_INPUT.
Und zwar geht es darum, dass ich unter Dialogresponse bei den jeweiligen Dialog, abfragen möchte ob der Input (in meinen Fall ist es eine Bankpin) stimmt.
if(dialogid == DIALOG_BANKPIN)
{
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_RED,"Du musst etwas eingeben!");
return 1;
}
new Pin = PlayerInfo[playerid][Bankpin];
if(!strlen(PlayerInfo[playerid][Bankpin]))
{
SendClientMessage(playerid,COLOR_RED,"Falsche Pin");
return 1;
}
ShowPlayerDialog(playerid,87,DIALOG_STYLE_LIST,"Bank","Einzahlen\nAbheben\nKontostand\nÜberweisung\nHandyguthaben aufladen\nBankpin beantragen","Absenden", "Abbrechen");
SendClientMessage(playerid,COLOR_GREEN,"Erfolgreich");
return 1;
}
}
Alles anzeigen
Ich kriege beim Compilen keinen Error & auch keinen Warning.
Allerdings kann man trotzdem jede beliebige Zahl eingeben & es funktioniert. Also es überprüft nicht, ob die eingegebene Pin falsch ist
Da musst du die Funktion zeigen .... und nicht den DIalog
Da musst du die Funktion zeigen .... und nicht den DIalog
Habe keine Extra Funktion dafür