[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
-
-
Wenn du es so unklammerst, muss es negiert werden.
if(killerid != INVALID_PLAYER_ID)Allerdings muss das Krankenhaussystem außerhalb stehen, davor oder danach.
-
Wenn du es so unklammerst, muss es negiert werden.
Allerdings muss das Krankenhaussystem außerhalb stehen, davor oder danach.
Hab ich jetzt davor gemacht, greift aber nicht, respawne dann einfach
-
Ich habe kurz eine frage wen ich jemand payday gebe bekommt er keinen?
Code
Alles anzeigenocmd:givepayday(playerid, params[]) { new pID, string[128]; if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_WHITE, ERROR_ADMIN); if(sscanf(params, "ui", pID))return SendClientMessage(playerid, COLOR_WHITE, "{3592D7}* Benutze {00CC00}/givepayday [SpielerID/Name]"); if(!Spieler[pID][pLoggedIn])return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE); format(string, sizeof(string), "{33CCFF}%s %s hat %s einen Payday gegeben!", GetPlayerAdminName(playerid), GetName(playerid)); SendClientMessage(pID, COLOR_WHITE, string); format(string, sizeof(string), "{15951F}%s {FFFF00}hat {15951F}%s {FFFF00}einen Payday gegeben.", GetName(playerid), GetName(pID)); SendAdminMessage(COLOR_WHITE, string); PayDay(pID); return 1; }
Code
Alles anzeigenstock PayDay(playerid) { new string[128], steuer; Spieler[playerid][pPayday] ++; if(Spieler[playerid][pPayday] >= 3600) { Spieler[playerid][pPayday] = 0; SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}|=================== PayDay ===================|"); for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++) { if(!strcmp(GetName(playerid), PrivateVehicle[playerid][vehSlot][vehBesitzer], true)) { if(IsValidVehicle(PrivateVehicle[playerid][vehSlot][vehID])) { for(new i = 0; i < sizeof(VehicleShop); i++) { if(PrivateVehicle[playerid][vehSlot][modelid] == VehicleShop[i][modelid]) { steuer += VehicleShop[i][KFZSteuer]; break; } } } } } printf("KFZ Steuer: %d", steuer); Spieler[playerid][pBank] -= steuer; format(string, sizeof(string), "KFZ-Steuer: -%d$", steuer); SendClientMessage(playerid, COLOR_WHITE, string); if(Spieler[playerid][pExp] >= GetPlayerMaxExp(playerid)) { Spieler[playerid][pExp] -= GetPlayerMaxExp(playerid); Spieler[playerid][pLevel] ++; SendClientMessage(playerid, COLOR_WHITE, " "); GameTextForPlayer(playerid, "~b~LEVEL UP!", 5000, 1); PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0); SetTimerEx("StopPlayerPlaySound", 5000, 0, "i", playerid); SetPlayerScore(playerid, Spieler[playerid][pLevel]); } SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}|==============================================|"); } return 1; }
-
Ich habe kurz eine frage wen ich jemand payday gebe bekommt er keinen?
Code
Alles anzeigenocmd:givepayday(playerid, params[]) { new pID, string[128]; if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_WHITE, ERROR_ADMIN); if(sscanf(params, "ui", pID))return SendClientMessage(playerid, COLOR_WHITE, "{3592D7}* Benutze {00CC00}/givepayday [SpielerID/Name]"); if(!Spieler[pID][pLoggedIn])return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE); format(string, sizeof(string), "{33CCFF}%s %s hat %s einen Payday gegeben!", GetPlayerAdminName(playerid), GetName(playerid)); SendClientMessage(pID, COLOR_WHITE, string); format(string, sizeof(string), "{15951F}%s {FFFF00}hat {15951F}%s {FFFF00}einen Payday gegeben.", GetName(playerid), GetName(pID)); SendAdminMessage(COLOR_WHITE, string); PayDay(pID); return 1; }
Code
Alles anzeigenstock PayDay(playerid) { new string[128], steuer; Spieler[playerid][pPayday] ++; if(Spieler[playerid][pPayday] >= 3600) { Spieler[playerid][pPayday] = 0; SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}|=================== PayDay ===================|"); for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++) { if(!strcmp(GetName(playerid), PrivateVehicle[playerid][vehSlot][vehBesitzer], true)) { if(IsValidVehicle(PrivateVehicle[playerid][vehSlot][vehID])) { for(new i = 0; i < sizeof(VehicleShop); i++) { if(PrivateVehicle[playerid][vehSlot][modelid] == VehicleShop[i][modelid]) { steuer += VehicleShop[i][KFZSteuer]; break; } } } } } printf("KFZ Steuer: %d", steuer); Spieler[playerid][pBank] -= steuer; format(string, sizeof(string), "KFZ-Steuer: -%d$", steuer); SendClientMessage(playerid, COLOR_WHITE, string); if(Spieler[playerid][pExp] >= GetPlayerMaxExp(playerid)) { Spieler[playerid][pExp] -= GetPlayerMaxExp(playerid); Spieler[playerid][pLevel] ++; SendClientMessage(playerid, COLOR_WHITE, " "); GameTextForPlayer(playerid, "~b~LEVEL UP!", 5000, 1); PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0); SetTimerEx("StopPlayerPlaySound", 5000, 0, "i", playerid); SetPlayerScore(playerid, Spieler[playerid][pLevel]); } SendClientMessage(playerid, COLOR_WHITE, "{FFFF00}|==============================================|"); } return 1; }
Wegen dieser Abfrage:Anstatt einfach nur PayDay aufzurufen musst du auch die Variable pPayday auf 3600 setzen.
Code
Alles anzeigenocmd:givepayday(playerid, params[]) { new pID, string[128]; if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_WHITE, ERROR_ADMIN); if(sscanf(params, "ui", pID))return SendClientMessage(playerid, COLOR_WHITE, "{3592D7}* Benutze {00CC00}/givepayday [SpielerID/Name]"); if(!Spieler[pID][pLoggedIn])return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE); format(string, sizeof(string), "{33CCFF}%s %s hat %s einen Payday gegeben!", GetPlayerAdminName(playerid), GetName(playerid)); SendClientMessage(pID, COLOR_WHITE, string); format(string, sizeof(string), "{15951F}%s {FFFF00}hat {15951F}%s {FFFF00}einen Payday gegeben.", GetName(playerid), GetName(pID)); SendAdminMessage(COLOR_WHITE, string); Spieler[pID][pPayday] = 3600; PayDay(pID); return 1; }
-
Hab ich jetzt davor gemacht, greift aber nicht, respawne dann einfach
Habe es dir etwas angepasst.
Letztendlich ging es nur um eine Stelle:
killerteam = gTeam[killerid];Code:
public OnPlayerDeath(playerid, killerid, reason)
{
// if(!IsPlayerConnected(playerid)) return 1;
// if(playerid == INVALID_PLAYER_ID) return 1;
new name[MAX_PLAYER_NAME];
new string[256];
new playercash;
new victimteam;
new Float:px,Float:py,Float:pz;
new killerteam;
if((AtRegestration[playerid] == 0 && PlayerPaintballing[playerid] == 0) && FirstSpawn[playerid] == 0)
{
PlayerInfo[playerid][pTot] = 1;
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
TotenKopf[playerid][0] = CreatePickup(1254,1, pX, pY, pZ);
PlayerInfo[playerid][pTx] = pX;
PlayerInfo[playerid][pTy] = pY;
PlayerInfo[playerid][pTz] = pZ;
GetPlayerName(playerid, name, sizeof(name));
SendClientMessage(playerid,COLOR_LIGHTBLUE, "Du wurdest schwer verletzt ins Krankenhaus gebracht!");
// SendClientMessage(playerid,COLOR_LIGHTBLUE, "Möchtest du einen Arzt?(/needmedic)");
if(GetPlayerInterior(playerid) == 0)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pMember] == 4 || PlayerInfo[i][pLeader] == 4)
{
// SendClientMessage(i,COLOR_LIGHTBLUE,"[Funk:]Eine Person wurde als schwer verletzt gemeldet!");
// SendClientMessage(i,COLOR_LIGHTBLUE,"Achtung eine Person wurde als schwerverletzt gemeldet!");
// SendClientMessage(i,COLOR_LIGHTBLUE,"Die Position wurde auf dem HUD markiert!(/rmarker zum löschen)");
// SetPlayerCheckpoint(i,PlayerInfo[playerid][pTx],PlayerInfo[playerid][pTy],PlayerInfo[playerid][pTz],5.0);
}
}
}
}
M_OnPlayerDeath(playerid,killerid,reason);
InCargo[playerid] = 0; InLevi[playerid] = 0;
if(FirstSpawn[playerid] == 1)
{
FirstSpawn[playerid] = 0;
}
victimteam = gTeam[playerid];
gPlayerSpawned[playerid] = 0;
GetPlayerName(playerid, name, sizeof(name));
PlayerInfo[playerid][pLocal] = 255;
GetPlayerPos(playerid, px, py, pz);
if(killerid != INVALID_PLAYER_ID)
{
killerteam = gTeam[killerid];
if(reason == 38)
{
new kstring[128];
new kickname[MAX_PLAYER_NAME];
if(IsPlayerConnected(killerid))
{
GetPlayerName(killerid, kickname, sizeof(kickname));
format(string, 256, "Warnung: [%d]%s hat einen Spieler mit einer Minigun gekillt. ACHTUNG [CheatVerdacht].",killerid,kickname);
ABroadCast(COLOR_YELLOW,string,1);
printf("%s", kstring);
}
}
}
if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
{
DisablePlayerCheckpoint(playerid);
gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
}
new caller = Mobile[playerid];
if(caller != 255)
{
if(caller < 255)
{
SendClientMessage(caller, COLOR_GRAD2, " Die Verbindung wurde unterbrochen....");
CellTime[caller] = 0;
CellTime[playerid] = 0;
Mobile[caller] = 255;
}
Mobile[playerid] = 255;
CellTime[playerid] = 0;
}
ClearCrime(playerid);
if(PlayerPaintballing[playerid] != 0 && killerid != INVALID_PLAYER_ID)
{
PlayerPaintballKills[killerid] ++;
if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
{
new killer[MAX_PLAYER_NAME];
PaintballWinner = killerid;
PaintballWinnerKills = PlayerPaintballKills[killerid];
GetPlayerName(killerid, killer, sizeof(killer));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerPaintballing[i] != 0)
{
format(string, sizeof(string), "* %s ist mit %d Kills in Führung.",killer,PaintballWinnerKills);
SendClientMessage(i, COLOR_WHITE, string);
}
}
}
}
return 1;
}
if(IsBlacklist[playerid]==1)
{
ClearBlack(playerid);
IsBlacklist[playerid]=0;
}
if(GettingCK[playerid] < 999 || OnCK[playerid] < 999)
{
if(IsPlayerConnected(killerid))
{
if(GettingCK[killerid] < 999 || OnCK[playerid] < 999)
{
new killer[MAX_PLAYER_NAME];
new dier[MAX_PLAYER_NAME];
GetPlayerName(playerid, dier, sizeof(dier));
GetPlayerName(killerid, killer, sizeof(killer));
format(string, sizeof(string), "* %s hat deinen Charakter gesperrt, du kannst nun mit diesem Charakter nicht mehr Spielen.",killer);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "** %s hat den Spieler %s erledigt**",killer,dier);
CKLog(string);
PlayerInfo[playerid][pCK] = 1;
if(GettingCK[playerid] < 999)
{
GettingCK[playerid] = 999;
}
else if(OnCK[playerid] < 999)
{
OnCK[playerid] = 999;
}
if(GettingCK[killerid] < 999)
{
GettingCK[killerid] = 999;
}
else if(OnCK[killerid] < 999)
{
OnCK[killerid] = 999;
}
KickPlayer[playerid] = 1;
}
}
}
if(PlayerInfo[playerid][pHeadValue] > 0)
{
if(IsPlayerConnected(killerid))
{
if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
{
if(GoChase[killerid] == playerid)
{
ConsumingMoney[killerid] = 1;
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
PlayerInfo[killerid][pMoneys] = PlayerInfo[killerid][pMoneys]+PlayerInfo[killerid][pHeadValue];
format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
SendFamilyMessage(8, COLOR_YELLOW, string);
PlayerInfo[playerid][pHeadValue] = 0;
GotHit[playerid] = 0;
GetChased[playerid] = 999;
GoChase[killerid] = 999;
}
}
}
}
if(victimteam >= 4)
{
if(IsPlayerConnected(killerid))
{
new slice = 100; //$100
playercash = GetPlayerMoney(playerid);
if(gTeam[killerid] != 2 && PlayerInfo[killerid][pMember] != 7)
{
WantedLevel[killerid] += 2;
}
//+ 2 wanted points
SetPlayerWantedLevel(playerid,WantedLevel[playerid]);
if(SafeTime[playerid] <= 0)
{
if(gTeam[killerid] != gTeam[playerid])
{
if(GetPlayerState(killerid) == 1)
{
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
}
else
{
PlayerInfo[killerid][pKills]++;
}
PlayerInfo[playerid][pKills]--;
}
}
if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4))
{
slice = 0;
}
if (((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill
{
slice = 0;
}
if (playercash > 0)
{
GivePlayerMoney(playerid, -slice);
PlayerInfo[playerid][pMoneys] = PlayerInfo[playerid][pMoneys]-slice;
}
else
{
slice = slice+500;
}
GivePlayerMoney(killerid, slice);
PlayerInfo[killerid][pMoneys] = PlayerInfo[killerid][pMoneys]+slice;
PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
if (((gTeam[killerid]) == 3) && reason != 49)
{
SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
}
else if (((gTeam[killerid]) == 3) && reason == 49)
{
SetPlayerCriminal(killerid,255, "Fahrerflucht");
}
}
}
else if (victimteam == 2)
{
if(IsPlayerConnected(killerid))
{
// Cop kill
PlayerInfo[playerid][pKills]--;
if (gTeam[killerid] == 2)//cops kill cop
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
// GivePlayerMoney(killerid, -suecost);
printf("COP: %s hat %s getoetet!",GetName(killerid),GetName(playerid));
// GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
if (gTeam[killerid] >= 3)
{
WantedLevel[killerid] += 2; //+ 2 wanted points
if(reason != 49)
{
SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
}
else if (reason == 49)
{
SetPlayerCriminal(killerid,255, "Fahrerflucht");
}
}
if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
{
if(GetPlayerState(killerid) == 1)
{
PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
}
else
{
PlayerInfo[killerid][pKills]++;
}
WantedLevel[killerid]+=2;
}
}
}
else if (victimteam == 3)
{
if(IsPlayerConnected(killerid))
{
// Civ kill
if ((gTeam[killerid]) == 2 || PlayerInfo[killerid][pMember] == 7)//cops kill civ
{
if(WantedLevel[playerid] < 1)
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
printf("COP: %s hat Zivilist %s getoetet!(Ohne Wanteds)",GetName(killerid),GetName(playerid));
//GivePlayerMoney(killerid, -suecost);
//GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
}
else
{
WantedLevel[killerid] += 2;
}
if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49)
{
SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
}
else if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49)
{
SetPlayerCriminal(killerid,255, "Fahrerflucht");
}
}
}
else if (victimteam == 1)
{
if(IsPlayerConnected(killerid))
{
// Civ kill
if ((gTeam[killerid]) == 2)//cops kill civ
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
printf("COP: %s hat Zivilist %s getoetet!(Ohne Wanteds)",GetName(killerid),GetName(playerid));
// GivePlayerMoney(killerid, -suecost);
//GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
else if ((gTeam[killerid]) == 1)//med kill civ
{
printf("Medic: %s hat Zivilist %s getoetet!",GetName(killerid),GetName(playerid));
// GivePlayerMoney(killerid, -suecost);
//GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
if (((gTeam[killerid]) == 4) && reason != 49)
{
SetPlayerCriminal(killerid,255, "Vorsätzlicher Mord");
}
else if (((gTeam[killerid]) == 3) && reason == 49)
{
SetPlayerCriminal(killerid,255, "Fahrerflucht");
}
}
}
if (victimteam >= 3 && WantedLevel[playerid] > 0 && killerteam == 2)
{
SetPlayerFree(playerid,killerid, "Gekillt");
}
// killerid = INVALID_PLAYER_ID;
SetPlayerColor(playerid,COLOR_GRAD2);
return 1;
} -
Hey.
Kurze Frage wie kann man einen sperren also HDD ban oder wie sich das nennt?
Habe keine lust das nur die IP gesperrt ist und der kann mit ein IP change sowieos wieder drauf?
-
meinst du GCIP
habe es so
ocmd:hwdban(playerid, params[])
{
new pID, Grund[50], string[256], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, COLOR_BENUTZETEXT, "***INFO Das ist ein Adminbefehl, du bist kein Admin!");
if(sscanf(params, "us", pID, Grund)) return SendClientMessage(playerid, COLOR_BENUTZETEXT, "Benutze: /hwdban [SpielerName/ID] [Grund]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_ERRORTEXT, "Dieser Spieler ist Offline!");
new plrIP[16];
GetPlayerIp(pID, plrIP, sizeof(plrIP));
if(strcmp(plrIP, "185.230.163.80", true) == 0)
{
return 1;
}
if(PlayerInfo[pID][pAdmin] > PlayerInfo[playerid][pAdmin])
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht Ban, da er ein höheres Adminlevel hat als du!");
return 1;
}
if(PlayerInfo[pID][pSQLID] == 2 || PlayerInfo[pID][pSQLID] == 2)
{
format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt. Grund: %s", name2, name, Grund);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
format(string, sizeof(string), "* %s hat versucht dich zu Bannen, er wurde aus sicherheits gründen gekickt.. Grund: %s", name, Grund);
SendClientMessage(pID, COLOR_LIGHTRED, string);
Kick(playerid);
return 1;
}
GetPlayerName(playerid, name, sizeof name);
GetPlayerName(pID, name2, sizeof name2);
format(string, sizeof(string), "AdmCmd: %s wurde von %s Hardware gebannt. Grund: %s", name2, name, Grund);
SendAdminMessage(COLOR_LIGHTRED, 1, string);
format(string, sizeof(string), "AdmCmd: %s wurde von %s Hardware gebannt. Grund: %s", name2, name, Grund);
SendClientMessage(pID,COLOR_LIGHTRED,string);
format(string,sizeof(string),"Du wurdest gebannt: Permban. Grund: %s. Erstelle jetzte einen Screenshot mit der Taste F8.",Grund);
SendClientMessage(pID,COLOR_LIGHTRED,string);
new hwd[256];
gpci(pID, hwd, sizeof hwd);
format(string, sizeof string, "INSERT INTO `hwdban` (`Hardware`, `Grund`, `Admin`, `Spieler`, `BanDatum`) VALUES ('%s', '%s', '%s', '%s', '%d')", hwd, Grund, name, name2,gettime());
self_mysql_queryEx(string);
format(string,sizeof(string),"Admin %s hat %s Hardware gebannt,Grund: %s", name2,name,Grund);
EnterToLog("IPGebannt",string);
SetTimerEx("ConnectKick", 400,0,"i",pID);
return 1;
}// Check beim beim Connecten
new str[256], name[MAX_PLAYER_NAME], hwd[128];
gpci(playerid, hwd, sizeof hwd);
GetPlayerName(playerid, name, sizeof name);
mysql_real_escape_string(name, name);
format(str, sizeof str, "SELECT * FROM `hwdban` WHERE `Hardware`='%s'", hwd);
mysql_query(str);
mysql_store_result();
if(mysql_num_rows())
[b][/b][i][/i][u][/u][sub][/sub][sup][/sup][s][/s] -
Habe nur gehört ein "HDD" Bann?
Darum frage ich das man das rein bauen kann im Ban befehl jemand eine Idee wie das aussehn soll?
-
Er hat doch Beispielcode gepostet
-
Einen HDD Ban kann man auch umgehen
-
Einen HDD Ban kann man auch umgehen
Einen HDD Ban kann man nicht mal machen.
gpci ist ein Hash vom Betriebssystem Benutzernamen...
Somit eine nicht so sinnvolle Ban-Variante.
-
-
1. Es heißt GPCI: http://wiki.sa-mp.com/wiki/Gpci
2. Es ist kein Hash vom Benutzername, sondern vom Installationspfad.
3. Mehr Info's hier: http://forum.sa-mp.com/showpost.php?p=2919059&postcount=2
Was kannst du uns denn sonnst empfehlen
In der Regel macht ein solcher Ban nur unter den Umständen Sinn, dass eine Person dauerhaft auf den Server kommt und Probleme macht.
Rangebans (123.123.*.*) haben sich in meiner Erfahrung allerdings ebenso gut bewährt, da kaum jemand Zugriff auf mehrere Ranges hat. Die minimale Anzahl kann man dann im speziellen Fall noch mit GPCI sperren, um den Aufwand zu erhöhen. Wobei ja lediglich der Installationspfad angepasst werden muss. Wer das weiß, kommt auch da drum herum. -
Hi,
habe meine OnPlayerDeath Funktion so:
public OnPlayerDeath(playerid, killerid, reason){if(killerid != INVALID_PLAYER_ID){PlayerInfo[killerid][pKills]++;GivePlayerMoney(killerid, 1000);PlayerInfo[killerid][pMoney] += 1000;if(PlayerInfo[killerid][pKills] > 3){SendClientMessage(killerid, COLOR_GREEN, "Glückwunsch, du bist ein Level aufgestiegen!");PlayerInfo[killerid][pLevel] = 1;SetPlayerScore(killerid, ++);}}PlayerInfo[playerid][pDeaths]++;return 1;}Folgendes Problem:
Derjenige, der getötet wird, bekommt die Nachricht, dass man ein Level dazu bekommt.
Ebenfalls bekommt man kein Level Up.//E: Jetzt bekommt zwar der Killer die Nachrichten, nach jedem Kill, aber wie frage ich ab, ob der Spieler
3 Kills gemacht hat? -
Hallo!
Ich möchte eine Funktion einbauen, das man Ingame seinen RP Nachnamen ändern kann per Dialog.
Aktuell speichere ich den Namen per MySQL mit pRPName[MAX_PLAYER_NAME], ab
Sol lich dazu dann lieber pRPVorName und pRPNachName abspeichern?
Wie würde dies dann jedoch funktionierten dass er Name im Script dann Vorname_Nachname ist?MfG
-
Hallo!
Ich möchte eine Funktion einbauen, das man Ingame seinen RP Nachnamen ändern kann per Dialog.
Aktuell speichere ich den Namen per MySQL mit pRPName[MAX_PLAYER_NAME], ab
Sol lich dazu dann lieber pRPVorName und pRPNachName abspeichern?
Wie würde dies dann jedoch funktionierten dass er Name im Script dann Vorname_Nachname ist?MfG
Sollte problemlos möchte sein den Namen mit _ abzuspeichern & per
http://wiki.sa-mp.com/wiki/SetPlayerName zu setzen
-
Jemand eine Ahnung, warum das nicht gespeichert wird?
format(FraktionInfo[PlayerInfo[playerid][pFraktion]][fraktionMOTD], 64, inputtext);Zudem die Frage, wenn im Feld "LEER" steht, dann soll das ganze nicht aufgerufen werden, wird es aber doch. Woran liegt das?
if(PlayerInfo[playerid][pFraktion] != 0 && FirstSpawn[playerid] == 0 && (!strcmp(FraktionInfo[PlayerInfo[playerid][pFraktion]][fraktionMOTD], "LEER", false)))
{
format(motdstring, sizeof(motdstring),""HTML_WHITE"%s", FraktionInfo[PlayerInfo[playerid][pFraktion]][fraktionMOTD]);
ShowPlayerDialog(playerid, DIALOG_MOTD, DIALOG_STYLE_MSGBOX, ""HTML_SERVER""#SERVER_NAME": "HTML_WHITE"Message of the Day", motdstring, "Schließen", "");
} -
Also im Prinzip ungefähr so?
stock GetRoleplayVorName(playerid)
{
new vorname[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
format(vorname, MAX_PLAYER_NAME, SpielerDaten[playerid][pVorName]);
}
else
{
vorname = "Unbekannt";
}
return vorname;
stock GetRoleplayNachName(playerid)
{
new nachname[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
format(nachname, MAX_PLAYER_NAME, SpielerDaten[playerid][pNachName]);
}
else
{
name = "Unbekannt";
}
return nachname;Und wenn irgendwo der RP Name vorkommt dann %s_%S,GetRoleplayVornameName(playerid), ,GetRoleplayNachName(playerid)?
-
Also im Prinzip ungefähr so?
stock GetRoleplayVorName(playerid){ new vorname[MAX_PLAYER_NAME]; if(IsPlayerConnected(playerid)) { format(vorname, MAX_PLAYER_NAME, SpielerDaten[playerid][pVorName]); } else { vorname = "Unbekannt"; } return vorname;
stock GetRoleplayNachName(playerid){ new nachname[MAX_PLAYER_NAME]; if(IsPlayerConnected(playerid)) { format(nachname, MAX_PLAYER_NAME, SpielerDaten[playerid][pNachName]); } else { name = "Unbekannt"; } return nachname;
Und wenn irgendwo der RP Name vorkommt dann %s_%S,GetRoleplayVornameName(playerid), ,GetRoleplayNachName(playerid)?
Versuchs einfach mal nur mit pRpName heißt also einfach den Namen X_X abspeichern und wieder abzurufen, alles nur mit einem enum -