Hmmm verstehe ich nicht ganz,...Könntest du mir das bitte genauer erklären?
Beiträge von Sigi.
-
-
Hei, danke erstmal das du mir hilfst, ich habs jetz bei onplayerdisconnect, dann wenn der User sich eingeloggt hat, und da wo der user sich registriert hat, das problem bleibt aber immer noch...
-
Hmm
wenn ich das so mache
new IP[30];
GetPlayerIp(playerid, IP, sizeof(IP));
SpielerInfo[playerid][pIPAdresse] = IP;dann bekomme ich errrors, ansonsten weis ich keine andere möglichkeit mehr....
-
Hallo Community.
Ich habs auf meinem MySQL server so gemacht damit die IP adresse abgespeichert wird,...zwar werden einpaar zahlen abgespeichert, aber vollkommend falsche....
ganz oben:
enum SpielerDaten
{
pIPAdresse
}bei SavePlayer
new IPAdresse[30];GetPlayerIp(playerid,IPAdresse, sizeof(IPAdresse));
mysql_SetString("accounts", "IP-Adresse",IPAdresse, "Name", SpielerInfo[playerid][pSpieler]);
weis villt jemand warum das nicht richtig abgespeichert wird?,....
Also wenn es abspeichert steht da nur 225.225.225 als IP adresse, und ich habe eine ganz andere. -
Danke sehr funktioniert.
-
Kann mir keiner Helfen oder was los?
70% hier wissen alle wie das geht aber die helfen nicht :DDDD -
Soo case 0 habe ich jetz drinne, funtkioniert immer noch nicht, ich verstehe jetz nicht wie ich das machen soll...
-
Hallo Community..
Ich habe ein kleines problem, ich habe mir jetz ein /givegun befehl zusammen gebaut, aber dort wird der waffenname nicht angezeigt.
ocmd:givegun(playerid,params[])
{
new pID, reason, SpielerName[MAX_PLAYER_NAME],AdminName[MAX_PLAYER_NAME], WaffenID, waffenname[30], Munnition, string[100], string1[100];
GetPlayerName(pID, SpielerName, sizeof(SpielerName));
GetPlayerName(playerid,AdminName, sizeof(AdminName));
switch(reason)
{
case 1:{waffenname="Schlagring";}
case 2:{waffenname="Golfschläger";}
case 3:{waffenname="Schlagstock";}
case 4:{waffenname="Messer";}
case 5:{waffenname="Baseballschläger";}
case 6:{waffenname="Schaufel";}
case 7:{waffenname="Billiard schläger";}
case 8:{waffenname="Katana";}
case 9:{waffenname="Kettensäge";}
case 10:{waffenname="Doppel dildo";}
case 11:{waffenname="Dildo";}
case 12:{waffenname="Vibrator";}
case 13:{waffenname="Silber Vibrator";}
case 14:{waffenname="Blumen";}
case 15:{waffenname="Gehstock";}
case 16:{waffenname="Granate";}
case 17:{waffenname="Tränengas";}
case 18:{waffenname="Molotow-Cocktail";}
case 22:{waffenname="9mm Pistole";}
case 23:{waffenname="9mm Schweigen Pistole";}
case 24:{waffenname="Desert Eagle";}
case 25:{waffenname="Schrotflinte";}
case 26:{waffenname="Shotgun";}
case 27:{waffenname="Gefechtsschrotflinte";}
case 28:{waffenname="Micro SMG";}
case 29:{waffenname="MP5";}
case 30:{waffenname="AK-47";}
case 31:{waffenname="M4";}
case 32:{waffenname="Tec-9";}
case 33:{waffenname="Land Rifle";}
case 34:{waffenname="Sniper Rifle";}
case 35:{waffenname="Rocket Launcher";}
case 36:{waffenname="HS Rakete";}
case 37:{waffenname="Flammenwerfer";}
case 38:{waffenname="Minigun";}
case 39:{waffenname="Rucksackladung";}
case 41:{waffenname="Sprühdose";}
case 42:{waffenname="Feuerlöscher";}
case 43:{waffenname="Kamera";}
case 46:{waffenname="Parachute";}
}
if(SpielerInfo[playerid][pAdmin] <= 3) return SendClientMessage(playerid,COLOR_GREY,"Du darfst diesen Befehl nicht ausführen.");
if(sscanf(params,"udi",pID,WaffenID,Munnition))return SendClientMessage(playerid,COLOR_WHITE,"FEHLER: /givegun [SpielerName/SpielerID] [WaffenID] [Munnition]");
if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,COLOR_GREY,"Spieler nicht gefunden.");
format(string, sizeof string,"Du hast dem Spieler %s eine %s mit %d Munnition gegeben.",SpielerName, waffenname, Munnition);
SendClientMessage(playerid,0xFFFF00FF,string);
format(string1, sizeof string1,"Administrator %s hat dir eine %s mit %d Munnition gegeben.",AdminName, waffenname, Munnition);
SendClientMessage(pID,0xFFFF00FF,string1);
GivePlayerWeapon(pID, WaffenID, Munnition);
return 1;
}Also bei dem string und string1 wird der waffenname nicht angezeigt, weis villt jemand warum das so ist?....
-
Habs schon danke.
-
Hallo Community
und das funktioniert nicht so richtig, der spectetet denn User nicht, sondern der spawnt immer wieder...
Hier ist mein Code.
ocmd:spec(playerid,params[])
{
if(AdminImSpec[playerid] == 0)
{
new pID, SpielerName[MAX_PLAYER_NAME], string[70];
GetPlayerName(pID,SpielerName, sizeof (SpielerName));
if(SpielerInfo[playerid][pAdmin] <= 1) return SendClientMessage(playerid,COLOR_GREY,"Du darfst diesen Befehl nicht ausführen.");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"FEHLER: /spec [SpielerName/SpielerID]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_GREY,"Spieler nicht gefunden.");
format(string, sizeof string,"Du hast angefangen %s zu spectaten",SpielerName);
SendClientMessage(playerid,0xFFFF00FF,string);
TogglePlayerControllable(playerid,0);
TogglePlayerSpectating(playerid,1);
PlayerSpectatePlayer(playerid,pID);
AdminImSpec[playerid] = 1;
if(SpielerImVehicle[playerid] == 1)
{
PlayerSpectateVehicle(playerid,GetPlayerVehicleID(pID));
}
}
if(AdminImSpec[playerid] == 1)
{
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
AdminImSpec[playerid] = 0;
}
return 1;
}Danke im Vorraus.
-
Danke funktioniert nun
-
Hi, das ist nichtnur bei OnPlayerSpawn,....das
wird auch nach dem Spawn angezeigt,...als der Spieler sich eingeloggt hat, bei onplayerspawn wird das auch angezeigt... -
Hallo Community.
Ich habe eine frage, ich habe gerade Mein script mit einem kollegen getestet, und die TextDraws werden nur für den User angezeigt der zuerst on gekommen ist,..
in diesem falle an mich, ich habe alle textdraws gesehen, und der hat keine gesehen, warum ist das so?so ist mein Code:
Ganz Oben:
new UhrZeit;OnGameModeInit:
UhrZeit = TextDrawCreate(548.000183, 24.500000, "22:22");
TextDrawLetterSize(UhrZeit, 0.577999, 1.989924);
TextDrawAlignment(UhrZeit, 1);
TextDrawColor(UhrZeit, 11534224);
TextDrawSetShadow(UhrZeit, 0);
TextDrawSetOutline(UhrZeit, 2);
TextDrawBackgroundColor(UhrZeit, 255);
TextDrawFont(UhrZeit, 3);
TextDrawSetProportional(UhrZeit, 1);
und bei:OnPlayerRequestClass
TextDrawShowForPlayer(playerid, UhrZeit);
weis villt jemand wo das problem sein kann?..
-
Hmmm, da hast du natürlich recht, aber ich muss mir was einfallen lassen, was aufjedenfall zu 99,9% vor Hackern schützt, und da ist mit der Client ins Kopf gekommen..
Und was braucht man um Forum zu Coden? also... ich meine wenn ich ein Design erstellt habe, damit ich den dann selbst auch coden kann?...
-
Einen Client wie SA:MP braucht C++ und ein Haufen Ahnung, du bringst da aber nichts mit wie ich es in deinem Thread erkenne.
Ein Anti Cheat braucht auch C++ oder C# um so halb gut zu laufen, da bringst du allerdings auch keine Erfahrung mit.
Ein Launcher kannst du ihn VB,C++,C# usw. schreiben, aber wer sollte dich einen Launcher Herunterladen wenn es die wie Sand am Meer gibt.Mfg,
m4a_XErst mal danke für eure antworten!
Ich möchte den Lauscher später für mein Server machen,...Cheater mag ich nicht so gerne.
-
Ja also ein Client, ja sozusagen Launcher wo der den GTA ordner durchsucht, und nachkuckt ob da irgendwelche Cheats installiert sind,
-
Hallo Community,
Ich habe mal eine Frage, was sollte man lernen wenn man ein eigenes Client für den Server erfinden muss?
oder für irgendwelche APP´s? -
Hmm meinst du ich muss das so hinschreiben "if else",...oder wie soll ich das jetz verstehen....
Hmm ich komme nicht mehr weiter,...
-
Meine Güte. wer programmiert den so. Da erkennt man ja gar nichts mehr.
Ich hab dir das mal ausgebessert. Wenn ich das richtig verstanden habe, was der Code machen sollte, dann waren da paar Dinge an der falschen Stelle, was bei dem Durcheinander auch kein Wunder ist.
Code:
Spoiler anzeigen if(strcmp(cmd,"/base",true) == 0)
{
new SpielerName[MAX_PLAYER_NAME],tmp[256];
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_GREY,"FEHLER: /base [aufschließen/abschließen]");
return 1;
}
if(strcmp(tmp,"aufschließen",true) == 0)
{
if(SpielerInFraktion(playerid,13))
{
//Yakuza Eingang
if(SpielerInfo[playerid][pRank] >= 2)
{
if(YAKUZAEINGANGAUF == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 2,-2624.6577,1412.7295,7.0938))
{
format(string, sizeof string,"%s hat die Eingangstür aufgeschlossen.",SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
YAKUZAEINGANGAUF = 1;
YAKUZAEINGANGZU = 0;
}
else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis");
}
else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits aufgeschlossen.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}
else if(SpielerInFraktion(playerid,14))
{
//LCN Eingang
if(SpielerInfo[playerid][pRank] >= 2)
{
if(LCNEINGANGAUF == 0)
{
if(IsPlayerInRangeOfPoint(playerid,2,1492.6390,748.6784,11.0234))
{
format(string,sizeof string,"%s hat die Eingangstür aufgeschlossen.",SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
LCNEINGANGAUF = 1;
LCNEINGANGZU = 0;
}
else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis");
}
else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits aufgeschlossen.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
}
else if(strcmp(tmp,"abschließen",true) == 0)
{
if(SpielerInFraktion(playerid,13))
{
//YAKUZA EINGANG
if(SpielerInfo[playerid][pRank] >= 2)
{
if(YAKUZAEINGANGZU == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 2, -2624.6577,1412.7295,7.0938))
{
format(string, sizeof string,"%s hat die Eingangstür abgeschlossen.", SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
YAKUZAEINGANGZU = 1;
YAKUZAEINGANGAUF = 0;
}
else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis!");
}
else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits abgeschlossen.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}
else if(SpielerInFraktion(playerid,14))
{
//LCN Eingang
if(SpielerInfo[playerid][pRank] >= 2)
{
if(LCNEINGANGZU == 0)
{
if(IsPlayerInRangeOfPoint(playerid,2, 1492.6390,748.6784,11.0234))
{
format(string,sizeof string,"%s hat die Eingangstür abgeschlossen.", SpielerName);
SendClientMessage(playerid, COLOR_SPECIALBLUE, string);
LCNEINGANGZU = 1;
LCNEINGANGAUF = 0;
}
else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis!");
}
else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits abgeschlossen.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}
else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
}
return 1;
}Zwecks ocmd: Es ist völliger Schwachsinn zu sagen, dass man damit übersichtlicher scripten kann. Der Code würde mit ocmd, bis auf die erste Zeile, fast IDENTISCH aussehen!!
Hei, wenn ich davor "else" mache also vor dem if kommen dann errors...
-
Hallo Community
Ich habe ein kleines problem hier, unzwar wenn ich ein Befehl eingebe, geht der zwar, aber da kommen immer diese Fehlermeldungen,
Also zum beispiel:/base aufschließen
dann wird die base auch aufgeschlossen ABER!
Ingame wird das angezeigt, "Du darfst dieses Befehl nicht benutzen"
oder "Du hast nicht den benötigten Rank dafür"
könnte mir villt jemand helfen?...if(strcmp(cmd,"/base",true) == 0) {
new SpielerName[MAX_PLAYER_NAME],tmp[256];
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,COLOR_GREY,"FEHLER: /base [aufschließen/abschließen]");
return 1;
}
if(strcmp(tmp,"aufschließen",true) == 0)
{
if(SpielerInFraktion(playerid,13)){//Yakuza Eingang
if(SpielerInfo[playerid][pRank] >= 2){
if(YAKUZAEINGANGAUF == 0){
if(IsPlayerInRangeOfPoint(playerid, 2,-2624.6577,1412.7295,7.0938)){
format(string, sizeof string,"%s hat die Eingangstür aufgeschlossen.",SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
YAKUZAEINGANGAUF = 1;
YAKUZAEINGANGZU = 0;
}else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis");
}else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits aufgeschlossen.");
}else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
if(SpielerInFraktion(playerid,14)){//LCN Eingang
if(SpielerInfo[playerid][pRank] >= 2){
if(LCNEINGANGAUF == 0){
if(IsPlayerInRangeOfPoint(playerid,2,1492.6390,748.6784,11.0234)){
format(string,sizeof string,"%s hat die Eingangstür aufgeschlossen.",SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
LCNEINGANGAUF = 1;
LCNEINGANGZU = 0;
}else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis");
}else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits aufgeschlossen.");
}else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
}
else if(strcmp(tmp,"abschließen",true) == 0)
{
if(SpielerInFraktion(playerid,13)){//YAKUZA EINGANG
if(SpielerInfo[playerid][pRank] >= 2){
if(YAKUZAEINGANGZU == 0){
if(IsPlayerInRangeOfPoint(playerid, 2, -2624.6577,1412.7295,7.0938)) {
format(string, sizeof string,"%s hat die Eingangstür abgeschlossen.", SpielerName);
SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
YAKUZAEINGANGZU = 1;
YAKUZAEINGANGAUF = 0;
}else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis!");
}else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits abgeschlossen.");
}else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
if(SpielerInFraktion(playerid,14)){ //LCN Eingang
if(SpielerInfo[playerid][pRank] >= 2){
if(LCNEINGANGZU == 0){
if(IsPlayerInRangeOfPoint(playerid,2, 1492.6390,748.6784,11.0234)){
format(string,sizeof string,"%s hat die Eingangstür abgeschlossen.", SpielerName);
SendClientMessage(playerid, COLOR_SPECIALBLUE, string);
LCNEINGANGZU = 1;
LCNEINGANGAUF = 0;
}else SendClientMessage(playerid,COLOR_GREY,"Du bist nicht an dem Eingang, deiner Fraktionsbasis!");
}else SendClientMessage(playerid,COLOR_GREY,"Deine Base ist bereits abgeschlossen.");
}else SendClientMessage(playerid,COLOR_GREY,"Du hast nicht den benötigten Rank dafür.");
}else SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");Ich mags auch nicht so zu scripten Jeffry aber mir wurde gesagt wenn man es so scriptet das es ressourcerschonend ist ;o