%f
zu:
%0.2f
[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
-
-
#include <a_samp>
#tryinclude <streamer>#if !defined STREAMER_TYPE_OBJECT
#error Der Streamer ist nicht vorhanden oder nicht auf der neusten Version
#endifpublic OnGamemodeInit(){
#if defined exd_OnGamemodeInit
exd_OnGamemodeInit();
#endif
return 1;
}#if defined _ALS_OnGamemodeInit
#undef OnGamemodeInit
#else
#define _ALS_OnGamemodeInit
#endif#define OnGamemodeInit exd_OnGamemodeInit
#if defined exd_OnGamemodeInit
forward exd_OnGamemodeInit(playerid);
#endifWo liegt der Fehler?
-
forward OnGamemodeInit();
fehlt.Oder:
public OnGamemodeInit(){
zu:
public OnGameModeInit(){
(Ebenso bei den defines.)Je nach dem was du willst.
-
Was kann man gegen Sobeit tun (DJN Version)
-
Was kann man gegen Sobeit tun
/qSpoiler anzeigen Oder man schreibt ein Anti-Cheat System oder Client -
Ist es möglich jedes Fahrzeug abzuschleppen. (Das "Standard" Abschleppen muss ja auch erst eingefügt werden, daher geht es auch mit einem Auto welches nicht der Towtruck ist ?)
Grüsse
-
Ja das ist möglich.
http://wiki.sa-mp.com/wiki/AttachTrailerToVehicle_DE
Zumindest steht da nicht, dass das nicht funktioniert -
Ich möchte ein Pickup erstellen und habe so angefangen:
new pickup;
Oben definiert
Dann bei OnGameModeInit
public OnGameModeInit()
{
{
pickup = CreatePickup(1273, 1, 48,1911.2902,-2505.4646, -1);
// Create an armour pickup and store the ID in 'pickup'
}Hier soll das Pickup erscheinen
AddPlayerClass(48,1911.2902,-2505.4646,13.5391,180.0646,0,0,0,0,0,0); // PickUPDiese Warnungen erhalte ich
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(37) : warning 204: symbol is assigned a value that is never used: "pickup"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
Ich habe Probleme die X, Y und Z Achse da rauszunehmen, oder woran liegt das Problem das mein PickUP nicht erscheint?
-
CreatePickup(1273, 1, 48,1911.2902,-2505.4646, -1);
Das ist falsch, was macht die 48 da?Das muss so aussehen:
CreatePickup(1273, 1, 1911.2902,-2505.4646,13.5391, -1);
und wenn du mit der Variable pickup nichts machst außer sie zu initialisieren...dann wird sie ja nicht gebraucht (deshalb die Warnung) aus dem Grund, kannst du dir das sparen
Oder eine andere Variante new stock pickup; //Dann sucht sich der Compiler das raus, ob er sie brauch oder nichtmfg.
-
Das ist falsch, was macht die 48 da?Das muss so aussehen:
CreatePickup(1273, 1, 1911.2902,-2505.4646,13.5391, -1);
und wenn du mit der Variable pickup nichts machst außer sie zu initialisieren...dann wird sie ja nicht gebraucht (deshalb die Warnung) aus dem Grund, kannst du dir das sparen
Oder eine andere Variante new stock pickup; //Dann sucht sich der Compiler das raus, ob er sie brauch oder nichtmfg.
Die 48 kam von den SavedPositions, ich dachte die gehört zu einer der Achsen, danke für die Aufklärung
//
Ich bin gerade dabei ein "Haus" zu erstellen, der 1.Schritt ist ja gemacht, nun möchte ich aber das wenn man in der Nähe des Icons ist, in meinem selbstgemappten Interior spawnt, wo und wie muss ich anfangen?
-
Bei OnPlayerPickUpPickup:
if(pickupid == pickup)
{
//Spieler hat das Haus-Pickup betreten... SetPlayerPos oder so hier...
} -
Bei OnPlayerPickUpPickup:
if(pickupid == pickup)
{
//Spieler hat das Haus-Pickup betreten... SetPlayerPos oder so hier...
}Klappt perfekt :)!
Ich bin nun im Interior doch möchte wieder raus aber ohne ein Pickup zu erstellen, wie gehe ich da vor?
-
Einen Befehl erstellen der dich raus teleportiert, oder beim drücken einer Taste (OnPlayerKeyStateChange), oder per Timer wenn man an einer bestimmten Position ist.
Wie du willst. Oder eben mit einem zweiten Pickup.
-
Einen Befehl erstellen der dich raus teleportiert, oder beim drücken einer Taste (OnPlayerKeyStateChange), oder per Timer wenn man an einer bestimmten Position ist.
Wie du willst. Oder eben mit einem zweiten Pickup.
Ich würde das gerne mit dem Timer machen
-
OnGameModeInit
SetTimer("CheckPos", 200, true);Unten im Code
forward CheckPos();
public CheckPos()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, 5.0, X, Y, Z))
{
//SetPlayerPos(...)
}
}
return 1;
}In IsPlayerInRangeOfPoint musst du das XYZ mit deinen Koordinaten ersetzen, an denen es den Spieler weg teleportieren soll. Die 5.0 ist der Prüfungsradius.
-
Guten Morgen,
ich habe ein Problem mit einem Time Ban System. Wenn beispielsweise eingebe, das die Person 2 Stunden gebannt werden soll, dann steht in der Tabelle irgendeine lange Zahl ( zbs: 1419774815 )
Wenn ich dann noch auf den Server gehe, soll man eigentlich ein Dialog bekommen, dieser wird mir aber leider nicht angezeigt. Mir wird stattdessen der Dialog für das Einloggen angezeigt.So sieht meine Tabelle aus ( alles richtig, bis auf die Ban Zeit http://i.epvpimg.com/HWQZg.png
Und hier der komplette Code, welcher zum Ban System gehört.
Erstellung der Tabelle:
Spoiler anzeigen mysql_function_query(DBHandle,"CREATE TABLE IF NOT EXISTS `Banned` (`IP` varchar(16) NOT NULL, `Name` varchar(24) NOT NULL, `Grund` varchar(126) NOT NULL, `Admin` varchar(24) NOT NULL, `Zeit` int(25) NOT NULL, `Datum` date NOT NULL, `Uhrzeit` time NOT NULL, PRIMARY KEY (`IP`))",false,"","");Funktion um denn Spieler zu Bannen:
Spoiler anzeigen [pwn]stock BannPlayer(playerid,admin[],reason[],zeit = -1)
{
new query[256];
gettime(stunde,minute,sekunde);
getdate(jahr,monat,tag);
mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','d-d-d','d:d:d')",Spieler[playerid][pName],reason,Spielername(playerid),SpielerIP(playerid),zeit,jahr,monat,tag,stunde,minute,sekunde);
mysql_function_query(DBHandle,query,false,"","");
format(query,sizeof(query),"Admin: %s * Zielperson: %s * Grund: %s * Zeit: %i",admin,Spieler[playerid][pName],reason,zeit);
Log("Bannedsqllog",query);
SavePlayerData(playerid);
TogglePlayerControllable(playerid,0);
SetCameraBehindPlayer(playerid);
KickUser(playerid,"System", "Spieler wurde Gebannt!");
return 1;
}[/pwn]Funktion um zu schauen ob der Spieler Gebannt ist:
Spoiler anzeigen stock CheckPlayerBanned(playerid)
{
new query[256];
format(query,sizeof(query),"SELECT * FROM `Banned` WHERE IP = '%s' OR Name= '%s'",SpielerIP(playerid),Spielername(playerid));
mysql_function_query(DBHandle,query,true,"OnQueryFinish","siii",query,MySQL_Check_Ban,playerid,DBHandle);
return 1;
}TimeBan Befehl:
Spoiler anzeigen ocmd:tban(playerid,params[])
{
new pID,reason[24],string[188],cmd[15],zeitdauer,zeit;
if(!IsPlayerAnAdmin(playerid,0)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die n�tigen Rechte um diesen Befehl zu nutzen!");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xEE8613FF,"Der angegebene Spieler ist nicht eingeloggt!");
if(sscanf(params,"uds[15]s[24]",pID,zeit,cmd,reason)) return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [Spieler ID] [Zeit] [Minuten/Stunden/Tage] [Grund]");
if(strlen(reason) > 24)return SendClientMessage(playerid,0x0D2D2FF,"Info: [Grund darf maximal 24 Zeichen beinhalten]");
if(strcmp(cmd,"Wochen",true) == 0)
{
zeitdauer = gettime()+(60*60*24*7*zeit);//Wochen
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Woche/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Woche/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Tage",true) == 0)
{
zeitdauer = gettime()+(60*60*24*zeit);//Tage
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Tag/e gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Tag/e\nGrund: %s\nAdmin: %s\n\n",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Stunden",true) == 0)
{
zeitdauer = gettime()+(60*60*zeit);//Stunden
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Stunde/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Stunde/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Minuten",true) == 0)
{
zeitdauer = gettime()+(60*zeit);//Minuten
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Minute/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Minute/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [playerid/Name][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
}OnQueryFinish:
Spoiler anzeigen public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
{
new rows,fields;
switch(sqlresultid)
{
case MySQL_Check_Ban:
{
new zeit,query[126],Admin[24],Grund[126],result[25];
cache_get_data(rows,fields);
if(rows)
{
cache_get_field_content(0,"Grund",Grund);
cache_get_field_content(0,"Admin",Admin);
cache_get_field_content(0,"Zeit",result);
zeit = strval(result);
if(zeit == -1)
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
}
else
{
if(gettime() < zeit)
{
new timebanned = zeit-gettime();
SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
if(floatround(timebanned/86400) > 0)//Tage
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
}
else if(floatround(timebanned/3600) > 0)//Stunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
}
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
}
else
{
format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
mysql_function_query(DBHandle,query,false,"","");
}
return 1;
}
}
}
}
return 1;
} -
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(922) : error 029: invalid expression, assumed zero
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(922) : error 017: undefined symbol "CheckPos"
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(923) : error 029: invalid expression, assumed zero
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(923) : error 017: undefined symbol "CheckPos"
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(935) : error 030: compound statement not closed at the end of file (started at line 917)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase5 Errors.
SetTimer ist aber in OnGameModeInit drin..
-
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(922) : error 029: invalid expression, assumed zero
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(922) : error 017: undefined symbol "CheckPos"
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(923) : error 029: invalid expression, assumed zero
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(923) : error 017: undefined symbol "CheckPos"
C:\Users\Dave\Desktop\Texture-Studio-master\gamemodes\LnD.pwn(935) : error 030: compound statement not closed at the end of file (started at line 917)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase5 Errors.
SetTimer ist aber in OnGameModeInit drin..
Kannst du bitte einmal den Code sicken , wie du es jetzt genau hast? -
Beitrag von shoxinat0r ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
-