hab ich . Errors /warnings trotzdem noch vorhanden
Beiträge von Silbermond
-
-
hab ich mit ins enum gepackt
enum tore{
bool:CNNGate,
bool:TERRORGate,
bool:HITMANGate,
bool:Marvinstor,
bool:Prasitor,
bool:Specing,
bool:AC_JOB1,
bool:AC_JOB2,
bool:AC_JOB3,
bool:AC_JOB4,
bool:AC_JOB5,
bool:Army1Gate,
bool:Army2Gate,
bool:O_TORL,
bool:O_TORR,
} -
E:\SAMP\gamemodes\Script1.pwn(2438) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2438) : warning 213: tag mismatchBetrifft diese Zeile
Spoiler anzeigen if(TorStatus[TORL] == false)E:\SAMP\gamemodes\Script1.pwn(2443) : warning 213: tag mismatch
Betrifft diese
Spoiler anzeigen TorStatus[TORL] = true;E:\SAMP\gamemodes\Script1.pwn(2450) : warning 213: tag mismatch
Betrifft diese
TorStatus[TORL] = true;
Diese Beiden
E:\SAMP\gamemodes\Script1.pwn(2454) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2454) : warning 213: tag mismatchBetreffen diese Zeile
if(TorStatus[TORR] == true)
Ebenfalls mit Tag Mismatch
TorStatus[TORR] = false;
und zu guter letzt diese
auch mit Tag mismatch
TorStatus[TORR] = true;Anderenfalls diese beiden Errors
E:\SAMP\gamemodes\Script1.pwn(4778) : error 022: must be lvalue (non-constant)
E:\SAMP\gamemodes\Script1.pwn(4779) : error 022: must be lvalue (non-constant)Betreffend diese Beiden Zeilen
O_TORL = CreateObject(971, 777.90002, -1384.9, 16, 0, 0, 0); //tor2 einfach nach unten
O_TORR = CreateObject(971, 778, -1330.2, 15.9, 0, 0, 180); //tor1 einfach nach unten -
Hallo zusammen,
ich würde gerne, dass jede Fraktion, seine eigenen Tore mit dem gleichen Befehl aufmacht, ohne dass diese sich in die Quere kommen
Also PD muss inRange vom PD TOR sein ohne halt das fehlermeldungen kommen wie " Du bist nicht in Reichweite vom Army Tor"
so möchte ich halt vermeiden, dass das PD die army tore aufmacht
Hier schonmal mein Einstieg
Spoiler anzeigen ocmd:mv(playerid,params[])Spoiler anzeigen //CreateObject(980, 480.70001, 2379.6001, 30.8, 0, 2, 158); //tor 1
// CreateObject(980, -163.099609375, 2507.7001953125, 25, 0, 0, 180); //tor 2
{
//ARMY TOR FRAK ID 3
if(!isPlayerInFrak(playerid,3) & !isAdmin(playerid,5)) return 1;
{
if(TorStatus[Army1Gate] == false)
{
if(!IsPlayerInRangeOfPoint(playerid,8,480.70001, 2379.6001, 30.8)) return 1;
MoveObject(Army1Gatee,480.70001, 2379.6001, 30.8-10,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
TorStatus[Army1Gate] = true;
}
else
{
if(!IsPlayerInRangeOfPoint(playerid,8,480.70001, 2379.6001, 30.8)) return 1;
MoveObject(Army1Gatee,480.70001, 2379.6001, 30.8,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
TorStatus[Army1Gate] = false;
}
if(TorStatus[Army2Gate] == false)
{
if(!IsPlayerInRangeOfPoint(playerid,8,-163.099609375, 2507.7001953125, 25)) return 1;
MoveObject(Army2Gatee,-163.099609375, 2507.7001953125, 25-10,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
TorStatus[Army2Gate] = true;
}
else
{
if(!IsPlayerInRangeOfPoint(playerid,8,-163.099609375, 2507.7001953125,25)) return 1;
MoveObject(Army2Gatee,-163.099609375, 2507.7001953125,25,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
TorStatus[Army2Gate] = false;
}
}
/*
O_TORL = CreateObject(971, 777.90002, -1384.9, 16, 0, 0, 0); //tor2 einfach nach unten
O_TORR = CreateObject(971, 778, -1330.2, 15.9, 0, 0, 180); //tor1 einfach nach unten
*/
//OAMT TORE FRAK ID 10
if(!isPlayerInFrak(playerid,10) & !isAdmin(playerid,5)) return 1;
{
if(TorStatus[TORL] == false)
{
if(!IsPlayerInRangeOfPoint(playerid,8,777.90002, -1384.9, 16)) return 1;
MoveObject(O_TORL,777.90002, -1384.9, 16-10,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
TorStatus[TORL] = true;
}
else
{
if(!IsPlayerInRangeOfPoint(playerid,8,777.90002, -1384.9, 16)) return 1;
MoveObject(O_TORL,777.90002, -1384.9, 16,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
TorStatus[TORL] = true;
}
if(TorStatus[TORR] == true)
{
if(!IsPlayerInRangeOfPoint(playerid,8,778, -1330.2, 15.9)) return 1;
MoveObject(O_TORR,778, -1330.2, 15.9-10,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geöffnet!");
TorStatus[TORR] = false;
}
else
{
if(!IsPlayerInRangeOfPoint(playerid,8,778, -1330.2, 15.9)) return 1;
MoveObject(O_TORR,778, -1330.2, 15.9,5);
SendClientMessage(playerid,0x9ACD32AA,"Tor wird geschlossen!");
TorStatus[TORR] = true;
}
}
return 1;
}
Und leider dazu eine menge Errors
Diese Fehler liegen beim Befehl /mv bei dem Bewegen der TOre
E:\SAMP\gamemodes\Script1.pwn(2438) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2438) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2443) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2450) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2454) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2454) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2459) : warning 213: tag mismatch
E:\SAMP\gamemodes\Script1.pwn(2466) : warning 213: tag mismatchE:\SAMP\gamemodes\Script1.pwn(4778) : error 022: must be lvalue (non-constant) //FEHLER LIEGT BEIM DEFINIEREN DER TORE
E:\SAMP\gamemodes\Script1.pwn(4779) : error 022: must be lvalue (non-constant) //FEHLER LIEGT BEIM DEFINIEREN DER TOREPawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
Dazu muss ich sagen, dass das ARMY Tor einwandfrei funktioniert
Hier noch die Defines von dem OAMT
Spoiler anzeigen bool:O_TORL,
bool:O_TORR,Spoiler anzeigen new TORL;
new TORR;Spoiler anzeigen stock OamtSpoiler anzeigen ....Spoiler anzeigen O_TORL = CreateObject(971, 777.90002, -1384.9, 16, 0, 0, 0); //tor2 einfach nach unten
O_TORR = CreateObject(971, 778, -1330.2, 15.9, 0, 0, 180); //tor1 einfach nach unten
Ich weiß ich kann mit switch und case arbeiten aber ich hab das noch nie gemacht
-
as Passwort wird via Forum o. Ä versendet & freigeschalten
Heißt ich soll das ganze Manuell machen oder wie? -
naja ich möchte einfach nur das system in nschhinein nutzen um z.b eine whitelist zu aktivieren
-
Unterschied zwischen "Dynamischer" und Statischer IP" war nochmal was?!
Dynamisch = ändert sich alle 24 Stunden
Statisch = dauerhaft die selbe IP
Heißt im EndeffektDynamische IP User = Können beliebig Multiaccs machen
Statische IP User = werden erwischt weil die IP gesehen wirdKorrekt?
-
Dann ist der Login Vorgang auch erfolgreich
Bei folgenden Dingen wird der Vorgang abgebrochen
- Ein Anderer Spieler benutzt die selbe IP
-
Laufen
ich gehe jeden Tag ne Stunde -2 Joggen
-
nein es wird ja nur geprüft ob der Spieler mit derselben Ip wie bei der Registrierung kommt
Ist diese eine andere funktioniert der Login prozess normal
EDIT
Wenn du noch irgendwelche Zeilen brauchst, sag bescheidIch habe alternativ auch Teamviewer
-
Einfach aus Prinzip, wieso wird er bei falscher IP gekickt ? Wegen multi account ok, 2 accounts bei 1 Ip -> nicht möglich...
Aber wenn jemand keine statische ip hat, kann er nichtmehr connecten, nach einen router neustart? Ist doch extrem umständlich.. Ich selbst hab eine dynamische ip, und könnte mich nie mehr einloggen^^Du kannst das System umbauen um multiaccount, halbwegs, einzudämmen...
Aber so ist das doch nicht machbar^^..
sorry kenne mich da nicht so aus. Unterschied zwischen "Dynamischer" und Statischer IP" war nochmal was?! -
Schaue dir das alles noch einmal richtig an!
Heißt ich soll jetzt was machen?
Ist mein erstes System was ich baue (mit MYSQL)
EDIT1:
also so oder wie
Spoiler anzeigen public OnPlayerConnect(playerid)
{
//-------------------IP SYSTEM ANFANG -------------------------
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
new name1[25], query1[60],pID,string[128],query2[60];
GetPlayerName(playerid, name1, 25);
mysql_format(dbhandle, query1, 60, "SELECT * FROM `timeban` WHERE `Spieler`='%e'", name);
mysql_tquery(dbhandle, query1, "@CheckBannedUser", "i", playerid);
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
format(string,sizeof(string),"Die IP vom Spieler %s ist %s !",getPlayerName(pID),playersip);
mysql_format(dbhandle, query2, 60, "SELECT * FROM `PlayerIP` WHERE `PlayerName`='%e'", name);
mysql_tquery(dbhandle, query1, "@CheckIP", "i", playerid);
if(IPInfo[playerid][PlayerIP]) ! = 0)) return print("PlayerIP noch nicht vorhanden Spieler: %s", GetPlayerName(playerid));
}
else
{
SendClientMessage(playerid,-1,"Deine IP wurde nicht in der Whitelist gefunden, Du wirst nun gekickt");
print("IP vorhanden %s",GetPlayerName(playerid));
} -
Hallo zusammen, ich habe mich heute, eigentlich noch viel zu früh an ein IP System gewagt
In dem System soll folgendes passieren
-Spieler Verbindet, IP wird in der Datenbank überprüft
-Bei der Registrierung sollen folgende Dinge eingetragen werden:- SpielerName
- IP
- Datum
Beim Login
- Wenn IP nicht übereinstimmend -> Kick
- Wenn IP übereinstimmen -> Login-Admin setzt IP fest in die Datenbank (manuell)
-IP soll überschrieben werdenHier dazu all das was ich bereits geschrieben habe:
Mein Enum was ich erstellt habe
new IPInfo[MAX_PLAYERS][IPEnum];
enum IPEnum
{
PlayerName[MAX_PLAYER_NAME],
IP,
PlayerIP,
Datum,
}Bei OnPlayerConnect (Ich musste ja das Ban /Tban system noch mit einbinden deswegen alles so durcheinander
public OnPlayerConnect(playerid)
{
//-------------------IP SYSTEM ANFANG -------------------------
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
{
new name1[25], query1[60],pID,string[128],query2[60];
GetPlayerName(playerid, name1, 25);
mysql_format(dbhandle, query1, 60, "SELECT * FROM `timeban` WHERE `Spieler`='%e'", name);
mysql_tquery(dbhandle, query1, "@CheckBannedUser", "i", playerid);
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
format(string,sizeof(string),"Die IP vom Spieler %s ist %s !",getPlayerName(pID),playersip);
mysql_format(dbhandle, query2, 60, "SELECT * FROM `PlayerIP` WHERE `PlayerName`='%e'", name);
mysql_tquery(dbhandle, query1, "@CheckIP", "i", playerid);
if(IPInfo[playerid][PlayerIP]) ! = 0)) return print("PlayerIP noch nicht vorhanden Spieler: %s", GetPlayerName(playerid)); // ----> DIESE ZEILE BETRIFFT DEN ERROR
}
else
{
SendClientMessage(playerid,-1,"Deine IP wurde nicht in der Whitelist gefunden, Du wirst nun gekickt");
print("IP vorhanden %s",GetPlayerName(playerid));
}
}Dann /getip und /setip
/getip geht /setip hab ich noch n icht testen können
//IP Überprüfung
ocmd:getip(playerid,params[])
{
if(!isAdmin(playerid,2)) SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
{
new pID,string[128];
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"INFO : /getip [playerid] !");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Spieler nicht verbunden");
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
format(string,sizeof(string),"Die IP vom Spieler %s ist %s !",getPlayerName(pID),playersip);
SendClientMessage(playerid,-1,string);
}
}
return 1;
}ocmd:setip(playerid,params[])
{
if(!isAdmin(playerid,2)) SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
{
new pID,string[128];
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"INFO : /setip [playerid] !");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Spieler nicht verbunden");
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
format(string,sizeof(string),"Die IP vom Spieler %s ist %s und wurde erfolgreich in die DB eingetragen!",getPlayerName(pID),playersip);
SendClientMessage(playerid,-1,string);
format(query,sizeof(query),"INSERT INTO PlayerIP (IP,SpielerName) VALUES ('%f','%s')",playerisip,SpielerName);
print(query); // <--- diese Zeile
mysql_function_query(dbhandle,query,true,"CheckIP","i",carid);
}
else if(playersip <= 1)
{
format(string,sizeof(string),"Die IP vom Spieler %s ist %s und ist bereits in der DB vorhanden!",getPlayerName(pID),playersip);
SendClientMessage(playerid,-1,string);
}
}
return 1;
}und zum schluss das noch
@CheckIP(playerid);
@CheckIP(playerid)
{
new rows, fields, ,string[256], IP[16],Datum[20];
cache_get_data(rows, fields);
if(rows)
{
IP = cache_get_field_content_float(0, "IP",IP);
Datum = cache_get_field_content(0,"Registrierungsdatum",name);
if(0() > IP)
{
format(string,sizeof(string),"Deine IP wurde in der Datenbank gefunden. Lasse bitte überprüfen ob bereits ein Account besteht. Name: %s IP: %f ",GetPlayerName(playerid),IP);
SendClientMessage(playerid,-1,string);
format(string,sizeof(string),"Du hast dich an folgendem Tage registriert : ",Datum);
}
else
{
format(query,sizeof(query),"INSERT INTO PlayerIP (PlayerName,IP) VALUES ('%s','%f')",getPlayerName(playerid),sInfo[playerid][IP]);
print(query); // <--- diese Zeile
mysql_function_query(dbhandle,query,true,"CheckIP","i",carid);
return 1;
//Eure Sache
}
}
else return 1;//Eure Sache;
return 1;
}public CheckIP(playerid,IP)
{
IPInfo[playerid][db_id]= cache_insert_id(dbhandle);
return 1;
}Und hier die eigentlichen Errors
E:\SAMP\gamemodes\Script1.pwn(1485) : error 029: invalid expression, assumed zero
E:\SAMP\gamemodes\Script1.pwn(1485) : warning 215: expression has no effect
E:\SAMP\gamemodes\Script1.pwn(1485) : error 001: expected token: ";", but found ")"
E:\SAMP\gamemodes\Script1.pwn(1485) : error 029: invalid expression, assumed zero
E:\SAMP\gamemodes\Script1.pwn(1485) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Das betrifft in allen Fällen diese Zeile
beim OnplayerConnect
if(IPInfo[playerid][PlayerIP]) ! = 0)) return print("PlayerIP noch nicht vorhanden Spieler: %s", GetPlayerName(playerid));
EDIT 1: Screen
Falls euch der Screen weiterhilft meine Datenbank