Ich habe nen vserver und darauf samp, mit einem login system. Das geht eigentlich auch, doch wen man das Passwort falsch eingiebt stürtzt der server ab, und im Putty terminal steht ( Segmentation fault) dan will der server einen restart machen geht dan aber nicht weiter. Woran liegt es?
Den gleichen script hat ich früher über nen comp laufen, dort ging alles reibungsloss....
ZitatAlles anzeigen#include <a_samp>
#include <dini>
#include <Obj_Streamer>
#pragma tabsize 0
#define COLOR_PURPLE 0xC2A2DAAA
..
#define NUMVALUES 4
//GANGS
#define TEAM_COP 0
#define TEAM_RUSSIA 1
#define TEAM_TRIADEN 2
#define TEAM_ITAL 3
#define TEAM_BIKER 4
#define TEAM_GROVE 5
#define TEAM_BALLAS 6
#define TEAM_AZTECAS 7
#define TEAM_VAGOS 8
#define TEAM_RIFA 9
#define TEAM_ZIVI 10
//GANGS ENDE
#define DIALOG_LOGIN 3
#define DIALOG_REG 4
enum spieler_daten
{
eingeloggt
}
new Text:Forum;
new Spieler[MAX_PLAYERS][spieler_daten];
new total_vehicles_from_files=0;
new gTeam[MAX_PLAYERS];
new Copgate;
new Rusgate;
new Rus2gate;
new Trigate;
new Itagate;
new Ita2gate;
new Bikgate;
new Balgate;
new Bal2gate;
new Rifgate;
new RIFA;
new TRIADEN;
new GROVE;
new BIKER;
new BALLAS;
new RUSSIA;
new COP;
new ITAL;
new VAGOS;
new AZTECAS;
forward payday();
public OnGameModeInit()
{
SetGameModeText("...");
ShowPlayerMarkers(1);
UsePlayerPedAnims();
DisableInteriorEnterExits();
SetTimer("payday",180000,1);
TextDrawLetterSize(Forum,0.5,1.3);
TextDrawColor(Forum,0xFF9900AA);
TextDrawSetShadow(Forum,0);
TextDrawUseBox(Forum,1);
//Gang Zonen
....
//Gang Zonen Ende
// Player Class's 18
....
//gteam cars
...
//Base´s
//Base´s Ende
//Objecte Ende
return 1;
}
//------------------------------------------------------------------------------
public OnGameModeExit()
{
TextDrawDestroy(Forum);
StreamObject_OnGameModeExit();
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
...
//------------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"~w~Willkommen zum Gangwar 2.0",5000,5);
SendClientMessage(playerid,COLOR_BLUE,"Herzlich Willkommen beim Gangwar 2011!");
SendClientMessage(playerid,COLOR_BLUE,"Wen Sie fragen haben geben Sie bitte /help ein");
SendClientMessage(playerid,COLOR_BLUE,"Wir Wünschen euch viel Spaß auf unseren Server eure Admins Comet und Marten");
TextDrawShowForPlayer(playerid, Forum);
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.ini",pname);
if(fexist(accFormat))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte gebe dein Passwort ein!","Einloggen","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich (Achtung du kannst das Passwort nicht mehr ändern!","Registrieren","Abbrechen");
}
new string[100];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s ist dem Server Beigetreten!", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.ini",pname);
if(fexist(accFormat) && Spieler[playerid][eingeloggt])
{
dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
}
Spieler[playerid][eingeloggt] = 0;
new string[100];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s hat den Server Verlassen!", pname);
SendClientMessageToAll(0xAAAAAAAA, string);
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
GangZoneShowForPlayer(playerid, RIFA, 0x00FFFF9B);
GangZoneShowForPlayer(playerid, TRIADEN, 0xFFFF009B);
GangZoneShowForPlayer(playerid, GROVE, 0x0080009B);
GangZoneShowForPlayer(playerid, BIKER, 0xFF8000A0);
GangZoneShowForPlayer(playerid, BALLAS, 0x8000FFAA);
GangZoneShowForPlayer(playerid, RUSSIA, 0xFF0000AA);
GangZoneShowForPlayer(playerid, COP, 0x0000FFA1);
GangZoneShowForPlayer(playerid, ITAL, 0xFF80FFA5);
GangZoneShowForPlayer(playerid, VAGOS, 0x0000009C);
GangZoneShowForPlayer(playerid, AZTECAS, 0x00000096);
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
GivePlayerMoney(killerid,2500);
SendClientMessage(killerid,0xFFFF00FF,"Kill+2500$!");
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleSpawn(vehicleid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerText(playerid, text[])
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/help",cmdtext,true)
!strcmp("/befehle",cmdtext,true))
{
SendClientMessage(playerid,COLOR_WHITE,"Normale Befehle: /afk /back /zeit");
SendClientMessage(playerid,COLOR_WHITE,"Waffen: /shop");
SendClientMessage(playerid,COLOR_WHITE,"Tod: /kill");
SendClientMessage(playerid,COLOR_WHITE,"Schutzweste: /buyarmour -9000$ ");
SendClientMessage(playerid,COLOR_WHITE,"Heilen: /heal -6000$");
SendClientMessage(playerid,COLOR_WHITE,"Teamwechsel: F4 (+) /kill ");
SendClientMessage(playerid,COLOR_WHITE,"Deathmatch Spiele: /dm1 /dm2 ");
return 1;
}
if(strcmp(cmdtext, "/afk", true) == 0) {
new afk[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(afk, sizeof(afk), "%s ist AFK gegangen", pname);
SendClientMessageToAll(0xFFFF00AA, afk);
TogglePlayerControllable(playerid, 0);
return 1;
}
if(strcmp(cmdtext, "/back", true) == 0) {
new afk[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(afk, sizeof(afk), "%s ist wieder da!", pname);
SendClientMessageToAll(0xFFFF00AA, afk);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(!strcmp("/zeit",cmdtext,true)
!strcmp("/zeit",cmdtext,true))
{
new hour, minute, second, year, month, day, monthstring[16], timestring[128];
gettime(hour,minute,second);
getdate(year,month,day);
switch(month)
{
case 1: format(monthstring,sizeof monthstring,"Januar");
case 2: format(monthstring,sizeof monthstring,"Februar");
case 3: format(monthstring,sizeof monthstring,"Maerz");
case 4: format(monthstring,sizeof monthstring,"April");
case 5: format(monthstring,sizeof monthstring,"Mai");
case 6: format(monthstring,sizeof monthstring,"Juni");
case 7: format(monthstring,sizeof monthstring,"Juli");
case 8: format(monthstring,sizeof monthstring,"August");
case 9: format(monthstring,sizeof monthstring,"September");
case 10: format(monthstring,sizeof monthstring,"Oktober");
case 11: format(monthstring,sizeof monthstring,"November");
case 12: format(monthstring,sizeof monthstring,"Dezember");
}
format(timestring,sizeof timestring,"~g~~h~ %d:%d Uhr %d Sec ~n~~n~~w~ %d. %s %d",hour,minute,second,day,monthstring,year);
GameTextForPlayer(playerid,timestring,7500,4);
return 1;
}
//TORE
//TORE ENDE
return 0;
}
//------------------------------------------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnRconCommand(cmd[])
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnObjectMoved(objectid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerExitedMenu(playerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
//------------------------------------------------------------------------------
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerUpdate(playerid)
{
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) {
Kick(playerid);
return 0;
}
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
Kick(playerid);
return 0;
}
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
//------------------------------------------------------------------------------
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.ini",pname);
if(response)
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Gebe dein Passwort ein","Einloggen","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"du wurdest eingeloggt!.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Gebe dein Passwort ein","Einloggen","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Registrieren","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingelogt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Gebe dein Passwort ein","Einloggen","Abbrechen");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich (Achtung! du kannst das Passwort nich mehr ändern!)","Registrieren","Abbrechen");
}
}
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//------------------------------------------------------------------------------
public payday() {
for (new i = 0; i < MAX_PLAYERS; i++) {
SendClientMessage(i,COLOR_GREEN,"PayDay!");
GivePlayerMoney(i, 25000);
}
return 1;
}
//------------------------------------------------------------------------------