Sry, bin irgendwie durcheinander, bin müde und joa.. .:D
Ist das denn jetzt so richtig, wie du es gepostet hast?
Sry, bin irgendwie durcheinander, bin müde und joa.. .:D
Ist das denn jetzt so richtig, wie du es gepostet hast?
Wie genau meinst es?
Kannst mir den kompletten Absatz posten?^^
Was ist daran falsch?
Hey. Ich möchte, das wenn man in der /dm Arena ist, das man nicht sofort zu einer anderen Arena wechseln kann.
Man sollte davor mit /exit die Arena verlassen. Hab das auch gemacht, klappt aber nicht.
Beispiel mit /dm
if(strcmp("/dm",cmdtext,true,10)==0)
{
if(IstInArena[playerid] == 0)
{
if(IstInDM[playerid] == 0)
{
new name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"[ARENA] Der Spieler {FFFFFF}%s {8200FF}ist der DM-Arena {FFFFFF}[/DM] {8200FF}beigetreten.",SpielerName(playerid));
SendClientMessageToAll(LILA,string);
SetPlayerInterior(playerid,10);
SetPlayerVirtualWorld(playerid,10);
new rand=random(sizeof(DMSpawn));
SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
GivePlayerWeapon(playerid,24,2208);
GivePlayerWeapon(playerid,25,2201);
GivePlayerWeapon(playerid,34,2201);
IstInArena[playerid] = 1;
IstInDM[playerid] = 1;
}
}
else if(IstInArena[playerid] == 1)
{
SendClientMessage(playerid,GRAU,"Du bist bereits in einer Arena!");
return 1;
}
}
Der /exit befehl
if(strcmp("/exit",cmdtext,true,10)==0)
{
if(IstInArena[playerid] == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
SetPlayerPos(playerid,-50.1974,-288.3651,5.4297);
ResetPlayerWeapons(playerid);
SendClientMessage(playerid,GRAU,"Du hast die Arena verlassen.");
SetPlayerColor(playerid,WEIß);
IstInArena[playerid] = 1;
}
else if(IstInArena[playerid] == 1)
{
SendClientMessage(playerid,GRAU,"Du bist schon in der /dm Arena!");
return 1;
}
return 1;
}
Hey. Ich habe vorher abgefragt, ob man in verschiedenen Arenen ist (/deagle,/dm, usw). Dort habe ich das nur mit 1 Variable gelöst,
also IstInArena[playerid] bei meinem /exit befehl. Jedoch musste ich durch einen schwerwiegenden Bug jede DM eine Variable zuweisen und musste somit IstInArena[playerid] löschen, die somit auch von meinem /exit befehl weg ist. Wie mache ich es jetzt mit meinen einzelnen variablen?
Also wenn man in /dm ist, das man erst die Arena verlassen soll (exit), bevor man z.B die nächste Arena betritt.
Danke, klappt
Hallo. Ich hab ein kleines Problem mit meinem Givegun Befehl. Eigentlich sollte es problemlos funktionieren, tut es aber nicht. Warum auch immer.
Sobald ich alle Parameter fülle, bekomme ich eine Meldung, das ich eine ungültige Waffenid eingegeben habe.
Wenn ich z.B. eine Waffe mit der Waffen ID 24 (Deagle) nehme, kommt die Meldung, dass ich eine Waffe zwischen den ID's 0-46 nehmen soll (unten angezeigt). Diese soll aber nur angezeigt werden, wenn die angegebene Waffen ID unter 0 oder über 46 ist.
Hier der Code:
ocmd:givegun(playerid,params[])
{
if(IsPlayerAnAdmin(playerid,3))
{
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online.");
new pID,waffenid,munitionsid,string[128];
if(sscanf(params,"uii",pID,waffenid,munitionsid))return SendClientMessage(playerid,WEIß,"{FFFFFF}» {FF000F}Syntax: {FFFFFF}/Givegun {969696}[Name/ID] [Waffen ID] [Munition]");
if(waffenid<0||46>waffenid)return SendClientMessage(playerid,GRAU,"Bitte gebe eine gültige Waffen ID an. {FFFFFF}[0-46]");
if(9999>munitionsid)return SendClientMessage(playerid,GRAU,"Es ist nur maximal 9999 Munition erlaubt.");
format(string,sizeof(string),"[WEAPON] Du hast von dem Teammitglied %s die Waffe(n) (ID) %i mit %i Munition erhalten.",SpielerName(playerid),waffenid,munitionsid);
GivePlayerWeapon(pID,waffenid,munitionsid);
SendClientMessage(pID,ROT,string);
return 1;
}
SendClientMessage(playerid,GRAU,"Für diesen Befehl benötigst du das folgende Adminlevel: {FF000F}Administrator {969696}[{FF000F}3{969696}] oder höher.");
return 1;
}
Danke, klappt.
public OnPlayerSpawn(playerid)
{
if(IstInDM[playerid] == 1)
{
new rand=random(sizeof(DMSpawn));
SetPlayerPos(playerid,DMSpawn[rand][0],DMSpawn[rand][1],DMSpawn[rand][2]);
SetPlayerFacingAngle(playerid,DMSpawn[rand][3]);
SetPlayerInterior(playerid,10);
SetPlayerVirtualWorld(playerid,10);
GivePlayerWeapon(playerid,24,2208);
GivePlayerWeapon(playerid,25,2201);
GivePlayerWeapon(playerid,34,2201);
IstInDM[playerid] = 1;
return 1;
}
if(IstInDeagle[playerid] == 1)
{
new rand=random(sizeof(DeagleSpawn));
SetPlayerPos(playerid,DeagleSpawn[rand][0],DeagleSpawn[rand][1],DeagleSpawn[rand][2]);
SetPlayerFacingAngle(playerid,DeagleSpawn[rand][3]);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid,1);
GivePlayerWeapon(playerid,24,2208);
IstInDeagle[playerid] = 1;
return 1;
}
return 1;
}
public OnPlayerConnect(playerid)
{
IstInDeagle[playerid] =0;
richtig so?
Danke. Klappt. Jedoch noch ein Problem.
Sofort, wenn ich den Server betrete, spawne ich in der /deagle, obwohl ich vorher am Noobspawn spawnen muss. Vllt wegen Onplayerspawn?
Ich will ja, das wenn man in /deagle stirbt, soll man wieder in /deagle spawnen, da man vorher am 0punkt nach einem kill gespawnt ist
Hey. Ich habe ein kleines Problem. Wenn ich die /deagle Arena betrete und dort sterbe, spawne ich nicht wieder in /deagle sondern am 0 Punkt.
/deagle befehl
if(strcmp("/deagle",cmdtext,true,10)==0)
{
if(IstInDeagle[playerid] == 0)
{
new name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"[ARENA] Der Spieler {FFFFFF}%s {8200FF}ist der Deagle-Arena {FFFFFF}[/Deagle] {8200FF}beigetreten.",SpielerName(playerid));
SendClientMessageToAll(LILA,string);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid,1);
new rand=random(sizeof(DeagleSpawn));
SetPlayerPos(playerid,DeagleSpawn[rand][0],DeagleSpawn[rand][1],DeagleSpawn[rand][2]);
SetPlayerFacingAngle(playerid,DeagleSpawn[rand][3]);
GivePlayerWeapon(playerid,24,2208);
IstInDeagle[playerid] = 1;
}
else if(IstInDeagle[playerid] == 1)
{
SendClientMessage(playerid,GRAU,"Du bist bereits in einer Arena.");
return 1;
}
}
//onplayerdeath
if(IstInDeagle[playerid] == 0)
{
new rand=random(sizeof(DeagleSpawn));
SetPlayerPos(playerid,DeagleSpawn[rand][0],DeagleSpawn[rand][1],DeagleSpawn[rand][2]);
SetPlayerFacingAngle(playerid,DeagleSpawn[rand][3]);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid,1);
GivePlayerWeapon(playerid,24,2208);
IstInDeagle[playerid] = 1;
return 1;
}
Wie ihr seht, habe ich bei Onplayerdeath abgefragt, ob er in der /deagle Arena ist, wenn ja, soll er, wenn er dort stirbt, wieder dort spawnen.
Funktioniert aber nicht. Warum?
Jeffry: Kannst du mir da helfen?
Hallo jeffry. Ich bedanke mir bei dir. Funktioniert auch alles, bis auf eine Sache.
Undzwar.. Wenn ich als Admin online bin, dann erscheint:
[20:48:30] Admins und Supporter online:
[20:48:30] Supporter: Legendary [0]
[20:48:30] Moderator: Legendary [0]
[20:48:30] Administrator: Legendary [0]
[20:48:30] Communityleitung: Legendary [0]
Sollten aber 2 Admins online sein erscheint sowas:
[20:48:30] Admins und Supporter online:
[20:48:30] Supporter: Legendary [0]
[20:48:30] Moderator: Legendary [0]
[20:48:30] Administrator: Legendary [0]
[20:48:30] Communityleitung: Legendary [0]
[20:48:30] Supporter: Achtundfuenfziger [1]
[20:48:30] Moderator: Achtundfuenfziger [1]
[20:48:30] Administrator: Achtundfuenfziger [1]
[20:48:30] Communityleitung: Achtundfuenfziger [1]
So sollte es eigentlich sein, wenn 2 Admins on sind:
[20:48:30] Admins und Supporter online:
//Wenn 2 Administratoren online sind:
[20:48:30] Administrator: Legendary [1]
[20:48:30] Administrator: Achtundfuenfziger [1]
//Wenn 2 Communityleiter online sind:
[20:48:30] Communityleitung: Legendary [0]
[20:48:30] Communityleitung: Achtundfuenfziger [1]
usw.
Dadurch kriege ich mehrere Errors^^
Jeffry:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/admins", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid,WEIß, "______________ Admins Online ______________");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerAnAdmin(playerid,1))
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Supporter: %s [%d]", sendername,i);
SendClientMessage(playerid,GRAU, string);
}
if(IsPlayerAnAdmin(playerid,2))
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Moderator: %s [%d]", sendername,i);
SendClientMessage(playerid,GRAU, string);
}
if(IsPlayerAnAdmin(playerid,3))
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Administrator: %s [%d]", sendername,i);
SendClientMessage(playerid,GRAU, string);
}
if(IsPlayerAnAdmin(playerid,4))
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "Communityleitung: %s [%d]", sendername,i);
SendClientMessage(playerid,GRAU, string);
}
}
}
}
return 1;
Errors bleiben^^
Hi. Ich habe mich mal rangesetzt und ein /admins befehl gescriptet.
Jedoch kriege ich Errors, die ich nicht so ganz verstehe:
C:\Dokumente und Einstellungen\Marco\Desktop\Deatmatch Reloaded\gamemodes\DMR.pwn(829) : error 017: undefined symbol "name"
C:\Dokumente und Einstellungen\Marco\Desktop\Deatmatch Reloaded\gamemodes\DMR.pwn(829) : error 017: undefined symbol "name"
C:\Dokumente und Einstellungen\Marco\Desktop\Deatmatch Reloaded\gamemodes\DMR.pwn(829) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Marco\Desktop\Deatmatch Reloaded\gamemodes\DMR.pwn(829) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alle an dieser Zeile:
GetPlayerName(i,sendername, sizeof(sendername));
Spielername Stock:
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
Passt schon, danke
Plugins? lol. Mir sollten eig. keine fehlen..
Wie kann ich das denn fixxen?
SA-MP Dedicated Server
----------------------
v0.3x, (C)2005-2013 SA-MP Team
[20:51:08]
[20:51:08] Server Plugins
[20:51:08] --------------
[20:51:08] Loaded 0 plugins.
[20:51:08]
[20:51:08] Filterscripts
[20:51:08] ---------------
[20:51:08] Loaded 0 filterscripts.
[20:51:08] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
[20:51:08] Number of vehicle models: 0
Console input: gmx
[20:52:11] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
[20:52:11] Number of vehicle models: 0
Console input: gmx
[20:53:03] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
[20:53:03] Number of vehicle models: 0
[20:53:33] Incoming connection: 127.0.0.1:3280
[20:53:33] [join] Legendary has joined the server (0:127.0.0.1)
[20:54:14] RCON (In-Game): Player #0 (Legendary) failed login.
[20:54:17] RCON (In-Game): Player #0 (Legendary) failed login.
[20:54:20] RCON (In-Game): Player #0 (Legendary) has logged in.
[20:54:35] [part] Legendary has left the server (0:1)
Console input: gmx
[20:56:36] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
[20:56:36] Number of vehicle models: 0
Console input: gmx
[20:57:50] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
[20:57:50] Number of vehicle models: 0
Hey. Kriege den oben beschriebenen Error in der Konsole und in der Server_log.
// [20:57:50] Script[gamemodes/MyDMR.amx]: Run time error 19: "File or function is not found"
was heißt er und wie fixxe ich ihn?
passt schon, danke
Keiner eine Idee?