Danke dir Hab diesen Thread noch gar nicht gesehen.. Am besten SuFu nächstes Mal benutzen, dachte aber, dass so ein Thread nicht existiert.
LG lolcooper
Danke dir Hab diesen Thread noch gar nicht gesehen.. Am besten SuFu nächstes Mal benutzen, dachte aber, dass so ein Thread nicht existiert.
LG lolcooper
Hey Leute, wie ihr schon in meiner Überschrift seht, frage ich, ob es sich lohnt einen SAMP Server zu besitzen (heutzutage) da eben meiner Meinung nach die Masse doch recht groß ist um sich abheben zu können oder generell.. Man mit SAMP nicht viel mehr als RL oder DM simulieren kann. Daher bitte ich alle ihren Senf hier unten beizutragen
Mit freundlichen Grüßen,
lolcooper
Naja.. Wie auch immer.. Problem gelöst.. Aber jedoch werden die Spieler nicht in der "TAB Liste", also in der Online Liste angezeigt?! Jedoch kann man im Script auf die Spieler zugreifen und man kann die anderen Spieler auch sehen.
Also.. Der Login Dialog funktioniert nun einwandfrei etc. aber wieso werden die Spieler nicht in der "TAB Liste" angezeigt?!?!?!
LG lolcooper
Nein.. Dann nicht.
LG lolcooper
Du darfst das Tor ja auch nicht in einem Boolean speichern. Es muss schon eine "normale" Variable sein. Also nur new Pdtor1; Da du aber ja mit == true und == false abfragen musst, ob das Tor auf oder zu ist, musst du dementsprechend dies in einer anderen Variable speichern.
LG lolcooper
Nein.. Das Problem besteht auch wenn timerfix drinen ist leider
LG lolcooper
Dürfte ich fragen, ob eine Gegenleistung erbracht wird?
LG lolcooper
Schon mal probiert, San Andreas neu zu installieren?
Oder den UserFiles Ordner unter "Dokumente" zu löschen?
LG lolcooper
Alles anzeigen
Zitat von »lolcooper«
Diees denke ich ist eher das Problem.. Aber sobald ich "TimerFix" darauf installiere, spinnt der Server komplett...
Auf Anfrage in PN:
Wenn du TimerFix raus nimmst geht alles normal?
Also scripttechnisch ist das Problem mit der Tab Liste nicht zu erklären, daß Einzige ist, dass Deine Verbindung so schlecht ist, dass du nicht mehr synchronisiert wirst.
Hast du einen Teleport Befehl? Wenn ja, dann teleportiere dich doch mal zu einem solchen Spieler den du nicht siehst. Was passiert?
Naja.. Ich denke, dass hängt alles mit dem Login Dialog zusammen, dass er nicht erscheinen will
LG lolcooper
EDIT: Mir fällt auch noch auf, dass wenn der Login Dialog nicht kommt, seine Statistiken geladen werden. Sprich: Man kann als Admin, wenn man nicht eingeloggt ist die Admin Befehle nutzen?! Hier Teile zum OnPlayerConnect etc. :
public OnPlayerConnect(playerid)
{
new query[128];
RemoveObjects(playerid);
SetPlayerColor(playerid, 0xDCDCDCFF);
format(SpielerInfo[playerid][pName], 32, "%s", GetName(playerid));
format(query,sizeof(query),"SELECT `id` FROM `accounts` WHERE `name`='%s'",GetName(playerid));
mysql_query(query);
mysql_store_result();
TogglePlayerSpectating(playerid, 1);
new account;
if(mysql_num_rows()!=0)
{
account = 1;
}
else {
account = 0;
}
mysql_free_result();
if(account == 1 && SpielerInfo[playerid][pLogged] == 0)
{
new string[880];
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
PlayAudioStreamForPlayer(playerid, "http://www.ngl-roleplay.de/musik/loginmusik.mp3");
format(string, sizeof(string), "Willkommen auf %s\n\nHier musst du dein Passwort eingeben.\n\n\n\nVergiss dein Passwort nicht, \nund achte darauf das keiner dein Passwort kennt.", SERVERNAME);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{0087FF}Login", string, "Einloggen", "Abbrechen");
}
else if(account == 0 && SpielerInfo[playerid][pLogged] == 0)
{
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
PlayAudioStreamForPlayer(playerid, "http://www.ngl-roleplay.de/musik/loginmusik.mp3");
ShowPlayerDialog(playerid, DIALOG_REG, DIALOG_STYLE_PASSWORD, "Registration", "Du benötigst einen Account, um auf diesem Server zu spielen! \n\n Bitte suche dir ein neues Passwort aus!", "Registrieren", "Abbrechen");
}
timer[playerid] = SetTimerEx("Speedometer",1000, 1, "i",playerid);
return 1;
}
Und nun der DIALOG_LOGIN:
if(dialogid == DIALOG_LOGIN)
{
if(response && strlen(inputtext) > 0)
{
new string[512],name[32], val[300];
GetPlayerName(playerid,SpielerInfo[playerid][Name],32);
mysql_real_escape_string(SpielerInfo[playerid][Name],name);
format(string,sizeof(string),"SELECT passwort FROM accounts WHERE name = '%s'",name);
mysql_query(string);
mysql_store_result();
mysql_fetch_row(string);
mysql_free_result();
if(strcmp(inputtext,string,false)!=0)
{
format(string,sizeof(string),"Willkommen bei %s\n\nDein Passwort war nicht richtig!\nBitte Logge dich mit \ndein richtiges Passwort ein.",SERVERNAME);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",string,"Einloggen","Abbrechen");
return 1;
}
format(string, sizeof(string), "SELECT * FROM `accounts` WHERE `name`='%s'",name);
mysql_query(string);
mysql_store_result();
if(mysql_retrieve_row())
{
mysql_fetch_field_row(val,"banned");
SpielerInfo[playerid][pGebannt] = strval(val);
mysql_fetch_field_row(SpielerInfo[playerid][pKey],"passwort");
mysql_fetch_field_row(val,"admin");
SpielerInfo[playerid][pAdmin] = strval(val);
mysql_fetch_field_row(val,"donater");
SpielerInfo[playerid][pDonateRank] = strval(val);
mysql_fetch_field_row(val,"upgradepoints");
SpielerInfo[playerid][gPupgrade] = strval(val);
...... (usw.)
new textdraw1[100], textdraw2[100], textdraw3[100], pa;
if(SpielerInfo[playerid][pPrisonMinuten] == 1)
{
format(textdraw1, sizeof(textdraw1), "1 Minute");
}
else
{
format(textdraw1, sizeof(textdraw1), "%d Minuten", SpielerInfo[playerid][pPrisonMinuten]);
}
TextDrawSetString(PrisonText1[playerid], textdraw1);
format(textdraw2, sizeof(textdraw2), "%s", SpielerInfo[playerid][pPrisonGrund]);
TextDrawSetString(PrisonText3[playerid], textdraw2);
if(!strfind(SpielerInfo[playerid][pPrisonAdmin],"Server-System",true))
{
format(textdraw3, sizeof(textdraw3), "Server-System");
} else {
pa = ReturnUser(SpielerInfo[playerid][pPrisonAdmin]);
if(IsPlayerConnected(pa))
{
format(textdraw3, sizeof(textdraw3), "%s (Online)", GetName(pa));
}
else
{
format(textdraw3, sizeof(textdraw3), "%s (Offline)", GetName(pa));
}
}
TextDrawSetString(PrisonText5[playerid], textdraw2);
if(GetPlayerScore(playerid) == 0)
{
SetPlayerScore(playerid, 1);
SpielerInfo[playerid][pExp]=0;
SpielerInfo[playerid][pMaxExp]=4;
SavePlayer(playerid);
}
if(SpielerInfo[playerid][pTut] == 0)
{
SetPVarInt(playerid, "TutorialStep", 0);
StartTutorial(playerid);
}
SpielerInfo[playerid][pLogged] = 1;
TogglePlayerSpectating(playerid, 0);
SetSpawnInfo(playerid, SpielerInfo[playerid][pTeam], SpielerInfo[playerid][pChar], 1770.6027,-1779.4812,13.5500, 1.0, -1, -1, -1, -1, -1, -1);
NGLSpawn(playerid);
LoadPlayerCars(playerid);
SetPlayerColor(playerid, 0x0F0000FF);
SetPlayerSkin(playerid, SpielerInfo[playerid][pChar]);
GivePlayerMoney(playerid, SpielerInfo[playerid][pCash]);
StopAudioStreamForPlayer(playerid);
SetPlayerScore(playerid, SpielerInfo[playerid][pAge]);
}
}
}
Alles anzeigen
Ja also
Schritt
1.Wenn ich account erstelle
2.Danach wenn ich server neustarte
3.Wird das passwort einfach so geändert
4.Das passwort wird zur NULL in mysql
5.Wenn ich in game ein loggen will steht da falsches passwort wo ich mein account erstellt habe danach hab ich es mit NULL versucht dann hat es geklappt aber wenn jetzt jeder user sowas macht hat ja jeder das passwort NULL aber das will ich ja ebend nicht ich will das es zb shadow123 wird und nicht so ein gehashdes oder NULL
NEIN, NEIN, NEIN..!
Du hast es falsch verstanden.. Deinen InGame Ablauf haben wir ja schon im großen und ganzen verstanden, aber deinen Scripting Ablauf sollst du genau beschreiben, damit wir z.B. wissen, wann was aufgerufen wird.
LG lolcooper
Ehm, es wird angezeigt etc. Nur ebenhalt eine Funktion reinbauen.
Näheres -> PN
Ach ja? Welche denn?
LG lolcooper
Hast du es auch als Adminstrator ausgeführt??
LG lolcooper
Danke!
Es funktioniert nun alles
Doch wer weis wie ich die Türen beim PD aufbekomme ?
Diese Option ist standardmäßig in dem scriptfiles/propereties Ordner drinnen. Wenn du dies gelöscht hast, so kannst du doch verschiedene Optionen aufgreifen. Aber die "Türen" kannst du nicht optisch "aufmachen".
Du kannst lediglich die Position und das Interior setzen.
LG lolcooper
Mit welchem Editor arbeitest du?
LG lolcooper
Irgendetwas an den Plugins, am Gamemode, an den Filterscripts oder an der Server.cfg gemacht?
Nene.. Hab NICHTS gemacht.. So sieht meine Config aus:
echo Executing Server Config...
lanmode 0
rcon_password test
maxplayers 50
port 7777
hostname Selfmade
gamemode0 selfmade
filterscripts gl_actions gl_realtime gl_property gl_mapicon ls_mall ls_elevator attachments skinchanger vspawner text objekt
plugins mysql.so sscanf.so streamer.so fixes2.so
announce 0
query 1
chatlogging 0
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 0
logtimeformat [%H:%M:%S]
Alles anzeigen
Zitat von »lolcooper«
Falsch... "mysql_free_result()" z.B. wurde erst in R7 durch das individuelle Cache System ersetzt
Ich enttäusche dich nur ungerne aber, mysql_free_result ist in der Revision 7 enthalten.
Wwwwwwwassss?? :DDDDDDD Also.. Als ich mir mal R7 angeschaut habe, war mysql_free_result nicht dabei?!?!?! Lol..
Kurzfristige Änderungen durchgeführt?
Was für "Kurzfristige Änderungen" meinst du?
LG lolcooper
Alles anzeigen
Zu Problem 1:
Zeig uns dazu vielleicht einmal den Teil, wo der Spieler sich einloggt, bzw. wo der Teil erscheint, damit der Spieler sich einloggen kann.
Zu Problem 2:
Sind die Spieler vielleicht in verschiedenen Welten? Das kannst du durch einen Befehl ganz einfach herausfinden.
PAWN Quelltext
1
2
3
4
5
6
7
if(!strcmp(cmdtext,"/welt",true)){
new pID,string[128],name[MAX_PLAYER_NAME];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"/welt [playerid]");
GetPlayerName(pID,name,MAX_PLAYER_NAME);
format(string,128,"Der Spieler %s hat die Virtuelle Welt: %d",name,GetPlayerVirtualWorld(pID));
return SendClientMessage(playerid,-1,string);
}
Ich bekomme immer die Virtuelle Welt 0 raus.
Eventuell ein Timebug, der vom Server ausgeht?
Hatte der Server, auf dem ich aktiv war, auch schon des öfteren.
Die meisten allerdings wussten nicht, wie sie dies beheben - ich bin einer von ihnen.
Diees denke ich ist eher das Problem.. Aber sobald ich "TimerFix" darauf installiere, spinnt der Server komplett...
LG lolcooper
Das Navigiert mich zum Autohaus und beim Autohaus ist nichts
Was meinst du mit "Das Navigiert" ??
LG lolcooper
EDIT: PS: Lade mal deinen fehlerhaften Code hier hoch. Danke.
Sehr einfach eigentlich... Also:
ocmd:takeaschein(playerid,params[])
{
new pID,name[128];
if(sscanf(params,"i",pID))return SendClientMessage(playerid,RED,"INFO: /takeaschein [playerid]");
if(!isPlayerInFrak(playerid,8) || !isPlayerInFrak(playerid,1) || !isPlayerInFrak(playerid,2)) return SendClientMessage(playerid,RED,"Du bist kein Fahrlehrer LSPD-/SFPD Beamter!");
if(!isPlayerRang(playerid, 2)) return SendClientMessage(playerid,RED,"Du bist nicht berechtigt, jemanden den Autoführerschein abzunehmen");
{
if(sInfo[pID][autoschein]==1)
{
sInfo[pID][autoschein]=0;
format(name,sizeof(name),"Du hast %s den Rollerführerschein abgenommen",getPlayerName(pID));
SendClientMessage(playerid,RED,name);
}
else
{
SendClientMessage(playerid,RED,"Der Spieler hat keinen Rollerführerschein!");
return 1;
}
}
savePlayer(pID);
return 1;
}
LG lolcooper