Hmm.. geht immer noch nicht.
Beiträge von Key
-
-
Hallo,
ich habe folgendes Problem mit den Führerscheinen.
Wenn ich in ein Auto einsteige, ohne Schein, kommt die Nachricht " Du hast kein Führerschein! ".
Das ist ja auch gut, jedoch wenn ich in ein Bike einsteige, kommt die selbe Nachricht, obwohl eigentlich die Nachricht "Du hast kein Motorradschein!" kommen sollte.
OnPlayerEnterVehicle:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(Spielerinfo[playerid][Motorradschein] == 0)
{
if(IsABike(vehicleid))
{
SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
}
if(Spielerinfo[playerid][Flugschein] == 0)
{
if(IsAFlieger(vehicleid))
{
SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
}if(Spielerinfo[playerid][Autoschein] == 0)
{
SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
}
return 1;
}
}
return 1;
}
IsABike und IsAFlieger:
public IsABike(carid)
{
if(carid == 581 && 522 && 461 && 521 && 523 && 463 && 586 && 468 && 471)
{
return 1;
}
return 0;
}
public IsAFlieger(carid)
{
if(carid == 592 && 577 && 511 && 512 && 593 && 520 && 553 && 476 && 519 && 460 && 513 && 548 && 425 && 417 && 487 && 488 && 497 && 563 && 447 && 469)
{
return 1;
}
return 0;
}Kann mir jemand helfen?
LG -
-
Willst du 2 Gamemods miteinander verbinden oder wie?
Nein, ich denke mal, er meint den GameMode der den Namen "Fusion" trägt.
-
Welches Login-\Register System benutzt du denn?
-
Hatte ein wenig Langeweile und hab ein /setskin Befehl mit OCDM geschrieben.
ocmd:setskin(playerid,params[])
{
new pID, level;
new string[128];
new oname[MAX_PLAYER_NAME],aname[MAX_PLAYER_NAME];
GetPlayerName(playerid,aname,sizeof aname);
GetPlayerName(pID,oname,sizeof oname);
if(IsPlayerAdmin(playerid))
{
if(sscanf(params,"ud",pID,level))
return SendClientMessage(playerid,COLOR_WHITE,"Nutze: /setskin [playerid] [SkinID]");
if(!IsPlayerConnected(pID))
return SendClientMessage(playerid,COLOR_WHITE,"ID nicht vergeben");
if(sscanf(params,"ud",pID,level)) {
SendClientMessage(playerid,COLOR_WHITE,"Nutze: /setskin [playerid] [SkinID]"); }
if(level < 0 || level > 300) { return SendClientMessage(playerid,COLOR_WHITE,"Die Skin ID muss zwischen 0 und 300 liegen!"); }
SetPlayerSkin(pID, level);
format(string,sizeof string,"Du hast %s sein Skin zur ID %d gewechselt.",oname,level);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof string,"Admin %s hat dein Skin zur ID %d gewechselt.",aname,level);
SendClientMessage(pID,COLOR_WHITE,string);
}
else { return SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht befugt diesen Befehl zu benutzen!"); }
return 1;
}
//edit: Command bearbeitet -
Zu 2.:
ocmd:changeteam(playerid,params[])
{
new pID, level;
new string[128];
new oname[MAX_PLAYER_NAME],aname[MAX_PLAYER_NAME];
GetPlayerName(playerid,aname,sizeof aname);
GetPlayerName(pID,oname,sizeof oname);
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid))
{
if(sscanf(params,"ud",pID,level))
return SendClientMessage(playerid,COLOR_WHITE,"Nutze: /changeteam [playerid] [TeamID]");
if(!IsPlayerConnected(pID))
return SendClientMessage(playerid,COLOR_WHITE,"ID nicht vergeben");
if(sscanf(params,"ud",pID,level)) {
SendClientMessage(playerid,COLOR_WHITE,"Nutze: /changeteam [playerid] [TeamID]");}
if(level < 1 || level > 6) { return SendClientMessage(playerid,COLOR_WHITE,"Es gibt kein Team unter 1 oder über 6 !"); } // bei level < 1 || level > 6 musst du die minimale und maximale Größe der TeamID eintragen
SetPlayerTeam(pID, level);
format(string,sizeof string,"Du hast %s zum Teammitglied vom Team %d gemacht.",oname,level);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof string,"%s hat dich zum Teammitglied des Teams %d gemacht.",aname,level);
SendClientMessage(pID,COLOR_WHITE,string);
}
else { return SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Admin!"); }
}
return 1;
}
Ist ungetestet, sollte aber funktionieren. ( Du brauchst OCMD! ) -
Hallo,
ich wollte fragen, ob jemand zufällig die Koordinaten vom Knast ( also wenn man im Knast ist ) von dem LVPD hat. Wenn ja, währe es nett, wenn die hier gepostet werden könnten.
LG -
Danke, funktioniert

-
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == BluePickup)
{
if(Team[playerid] == TEAM_GREEN)
{
SendClientMessage(playerid,blue,"Bleibe 10 Sekunden in dem Pickup stehen, dann hat dein Team gewonnen!");
SendClientMessage(playerid,blue,"Stirbst du allerdings, spawnst du neu und musst wieder zum Pickup laufen.");
SetTimer("GREEN_TIMER",10000,1);
}
}
if(pickupid == GreenPickup)
{
if(Team[playerid] == TEAM_BLUE)
{
SendClientMessage(playerid,blue,"Bleibe 10 Sekunden in dem Pickup stehen, dann hat dein Team gewonnen!");
SendClientMessage(playerid,blue,"Stirbst du allerdings, spawnst du neu und musst wieder zum Pickup laufen.");
SetTimer("BLUE_TIMER",10000,1);
}
}
return 1;
} -
Hallo,
ich bekomme Errors bei KillTimer.
Die Errors:
D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\MiniThree.pwn(95) : error 076: syntax error in the expression, or invalid function call
D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\MiniThree.pwn(99) : error 076: syntax error in the expression, or invalid function call
Die Zeilen:
public OnPlayerDeath(playerid, killerid, reason)
{if(IsPlayerInRangeOfPoint(playerid,7.0,-640.1326,864.3789,2.0000))
{
KillTimer(GREEN_TIMER); // <- Zeile 95
}
if(IsPlayerInRangeOfPoint(playerid,7.0,-489.3181,611.7156,1.7739))
{
KillTimer(BLUE_TIMER); // <- Zeile 99
}
return 1;
} -
Ich bekomm zwar keine Errors mehr, funktionieren tut es trotzdem nicht.

-
Normalerweise, wenn ich keine Errors hätte.
Die Errors:
CodeD:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 017: undefined symbol "Spielerdatei" D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : warning 215: expression has no effect D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 001: expected token: ";", but found "]" D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 029: invalid expression, assumed zero D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : fatal error 107: too many error messages on one lineDie Zeile:
SetPlayerSkin(playerid,Spielerdatei[playerid][Skin]); -
Geht auch nicht.
Vielleicht liegt es daran, dass im Moment der Skin nachdem ich mich eingeloggt habe geladen wird, und danach muss ich ja noch in diesem "<< >> Spawn" Menu Spawn klicken, und da wird mir dann ja der CJ Skin gegeben. Aber wie kann ich dieses "<< >> Spawn" Menu entfernen? -
Jetzt bekomm ich ein Warning:
Zeile:
SetPlayerSkin(playerid, Skin);
//edit: Eigentlich müsste es doch auch reichen, wenn ich bei LoadAccount
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
habe. Oder? Aber leider funktioniert das nicht
-
Hallo,
ich habe in meinem Script eingebaut, das der Skin beim Verlassen des Servers in der Userdatei gespeichert werden soll. Das funktioniert soweit auch! Jedoch lädt er den Skin nicht.
Speichern:
stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",Spielerinfo[playerid][Adminlevel]);
dini_IntSet(Spielerdatei,"Fraktion",Spielerinfo[playerid][Fraktion]);
dini_IntSet(Spielerdatei,"Leader",Spielerinfo[playerid][Leader]);
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
ResetVariablen(playerid);
return 1;
}Laden:
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,COLOR_WHITE,"Du hast dich erfolgreich eingeloggt!");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_WHITE,"Das Passwort war falsch!");
ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gebe bitte hier dein Passwort ein.","Login","Abbrechen");
return 1;
}
}stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
Spielerinfo[playerid][Leader]=dini_Int(Spielerdatei,"Leader");
return 1;
}Jedoch spawne ich immer noch mit dem CJ Skin, obwohl in der Userdatei "Skin=283" steht.
-
-
Hallo,
ich wollte fragen, ob mir jemand ein /makeleader Befehl für mein Selfmade schreiben kann.
Ich hab folgendes schon:
static gTeam[MAX_PLAYERS];
static gLeader[MAX_PLAYERS];
#define TEAM_POLIZEI
enum SInfo
{
Fraktion,
Adminlevel,
Leader
}new Spielerinfo[MAX_PLAYERS][SInfo];
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
Spielerinfo[playerid][Leader]=dini_Int(Spielerdatei,"Leader");
return 1;
}stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",Spielerinfo[playerid][Adminlevel]);
dini_IntSet(Spielerdatei,"Fraktion",Spielerinfo[playerid][Fraktion]);
dini_IntSet(Spielerdatei,"Leader",Spielerinfo[playerid][Leader]);
return 1;
}stock ResetVariablen(playerid)
{
Spielerinfo[playerid][Adminlevel]=0;
Spielerinfo[playerid][Fraktion]=0;
Spielerinfo[playerid][Leader]=0;
return 1;
}LG
//edit: Ich würde es gerne so haben, dass die Fraktion auch gespeichert wird.
-
Ah, danke.
Bei "stock Register" musste das hin.
-