Beiträge von phN
-
-
-
Wie gesagt, da ich es nicht mehr Brauche und es sind Auch nur Grundkentnisse eingesetzt worden.
Und es ist Relativ unsauber Geschrieben. -
Hallo, Heute Release ich mein DM Script. An dem ich die Woche immer mal wieder was Gemacht habe.
Grund:
Für mich ist es Einfach Unnötz , Da es nur ein Zeitvertreib fpr mich war.Was dieses Script Beinhaltet:
Es Beinhaltet 6Fraktion , Login /Register, Admin System, Admin Befehle,Gangfight.
Zu den Fraktionen:
Es sind derzeit vorhanden:
Yakuza
Red Soldiers
Aztecas
Vagos
GSF
Ballas.
Diese haben einen Spawn.
Und jede 4 Sultäne
Und 4 FCR'szum Login/Register System:
Es ist mit Strings Gearbeitet wo im Dialog der Name Angezeigt wird.Zum Adminsystem:
Das Adminlevel is wie Folgt Definiert:
if(AdminLevel[playerid]Admin Befehle:
/kick, /ban, /saveaccs, /makeadmin, /Aond/Aoffd[Grund],/setskin, /a, /o
Das Höchste Adminlevel ist 2000.Gangfight:
Es sind Derzeit 3Gebiete, wo die Sich die Zeit Vertreiben können.Gebiete:
Tanken Gebiet da Fighten: GSF vs Aztecas.
WüstenGebiet da Fighten: Ballas gegen Vagos.
ContainerGebiet da Fighten Red Soldiers gegen die Yakuza
Der der Punktestand wird wie Folgt aufgerufen mit /Punkte.Bekannte Bugs:
bei /Aond/aoffd wird der Name nicht Angezeigt.
wenn man GSF oder Aztecas Member ist und /Punkte eingibt, wird der Stand von Ballas vs vagos Angezeigt.Fixed.
bei /W wird im Achat der Text den du Sendest angezeigt, und 2X der name vom Ausführenden Admin.
Pastebin
ScriptDieses Script ist soweit Nur für Scripter die Ahnung haben es Auszubauen.
Credits:
Hauptteil von mir.
Einige sachen sind von @[NB]Nexus:
und Blunt: hat mir einen kleinen Schlag auf den Hinterkopf gegeben beim Gangfight. -
Tolle information.
Den Code wo die fraktionen einem spieler zugewiesen werden bitte.btw:
new Punkte1;
new Punkte2;
new Punkte3;
new Punkte4;
new Punkte5;
new Punkte6;
=
new Punkte1,Punkte2,Punkte3.....
Hier , Das läuft über Skin Abfrage
new skin = GetPlayerSkin(playerid);
if(skin == 123 || skin == 122 || skin == 186)
{
Fraktion[playerid] = Yakuza;
}
if(skin == 105 || skin == 106 || skin == 107)
{
Fraktion[playerid] = GSF;
}
if(skin == 102 || skin == 103 || skin == 104)
{
Fraktion[playerid] = Ballas;
}
if(skin == 114 || skin == 115 || skin == 116)
{
Fraktion[playerid] = Aztecas;
}
if(skin == 108 || 109 || 110)
{
Fraktion[playerid] = Vagos;
}
if(skin == 19 || skin == 170 || skin == 180)
{
Fraktion[playerid] = RedSoldiers;
} -
Der fehler liegt nicht dort ,nachdem ich es überlesen habe.
Würd mal schwer behaupten da wo du dem Spieler die Fraktion zuweist ,wird der fehler liegen
btw Tipp,mach lieber nen array für die Punkte
new Punkte[FRAKTIONS_ANZAHL];
Punkte[Yakuza]++; undsoZeig mal die Codestelle wo die fraks zugewiesen werden bzw überlese dieses nochmal ob da nicht vlt ein fehler sein könnte.
Das hab ich Alles Schon Definiet.new Punkte1;
new Punkte2;
new Punkte3;
new Punkte4;
new Punkte5;
new Punkte6; -
Ist das eine Frage oder willst du es nur zeigen? xD
Das Problem ist Wenn ein Yaki einen RS'ler Killt, Bekommt der Yaki kein Punkt Dazu.
-
Hallo, ich Bastel seit 3-5Tagen an einem TDM Gamemode.
Habe ein Gangfight System Reingehauen.
Sobald ich aber einen Gegner im Gebiet Kille, bekommt meine Fraktion kein Punkt Dazu.
Codes:
public OnPlayerDeath(playerid, killerid, reason)
{
if(Fraktion[killerid] == RedSoldiers && Fraktion[playerid] == Yakuza && IsPlayerInRangeOfPoint(killerid,125.0,1394,-2264.7964,13.4541))
{
Punkte1++;
}
if(Fraktion[killerid] == Yakuza && Fraktion[playerid] == RedSoldiers && IsPlayerInRangeOfPoint(killerid,125.0,1394,-2264.7964,13.4541))
{
Punkte2++;
}
GivePlayerMoney(playerid,1337);
new sendername[MAX_PLAYER_NAME],string[GENERAL_STRING], killer[MAX_PLAYER_NAME];
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(killerid, killer, sizeof(killer));
format(string,sizeof(string),"** %s wurde von %s getötet",sendername, killer);
SendClientMessageToAll(Color_Grey, string);
KillLog(string);
return 1;
}
und Hier vom Punkte Stand.
if(strcmp("/Punkte",cmdtext,true) ==0)
{
if(Fraktion[playerid] == RedSoldiers || Fraktion[playerid] == Yakuza)
{
SendClientMessage(playerid,Color_White,"Gebietsstand:");
format(string,sizeof(string),"Punkte Red Soldiers: %d",Punkte1);
SendClientMessage(playerid,Color_White,string);
format(string,sizeof(string),"Punkte Yakuza: %d",Punkte2);
SendClientMessage(playerid,Color_White,string);
}
if(Fraktion[playerid] == Ballas || Fraktion[playerid] == GSF)
{
SendClientMessage(playerid,Color_White,"Gebietsstand:");
format(string,sizeof(string),"Punkte Ballas: %d",Punkte3);
SendClientMessage(playerid,Color_White,string);
format(string,sizeof(string),"Punkte GSF: %d",Punkte4);
SendClientMessage(playerid,Color_White,string);
}
if(Fraktion[playerid] == Vagos || Fraktion[playerid] == Aztecas)
{
SendClientMessage(playerid,Color_White,"Gebietsstand:");
format(string,sizeof(string),"Punkte Vagos: %d",Punkte5);
SendClientMessage(playerid,Color_White,string);
format(string,sizeof(string),"Punkte Aztecas: %d",Punkte6);
SendClientMessage(playerid,Color_White,string);
}
return 1;
} -
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(3575) : warning 208: function with tag result used before definition, forcing reparse
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2265) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2287) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2310) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2332) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2354) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2390) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2401) : warning 204: symbol is assigned a value that is never used: "adminduty"
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2420) : warning 217: loose indentation
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2958) : error 017: undefined symbol "Adminlevel"
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2958) : warning 215: expression has no effect
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2958) : error 001: expected token: ";", but found "]"
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2958) : error 029: invalid expression, assumed zero
C:\Users\Tim\Desktop\multi\gamemodes\Reallife[FTR].pwn(2958) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
wie soll ich das machen mit adminlevel
Die ersten Warnings sind Einrückungs Fehler.
und das AdminLevel gibt es bei dir im Script nicht.
du musst deine Abfrage verwenden.
zb. if(IsPlayerAnAdmin(playerid)) oder so. -
Zitat
Wenn du schon Copy-Paste machst, dann bitte auch komplett "hust"
Gruss: Sonic
Was meinst du?
Habe Soetwas nicht Nötig aber ist Okay, da es die Basics sind.
/edit Stock.
forward SendAdminMessage(color,string[]);
public SendAdminMessage(color,string[])
{
for(new i = 0; i<MAX_PLAYERS; i++)
{
if(AdminLevel[i] >= 1)
{
SendClientMessage(i,color,string);
}
}
return 1;
} -
Musst die Admin Abfrage nur Ändern, gebe dir jetzt mal meins ausm Selfmade mit OCMD geschrieben.
ocmd:a(playerid,params[])
{
if(AdminLevel[playerid] >= 1)
{
new name[128],text[128],string[128];
if(sscanf(params,"s",text))return SendClientMessage(playerid,Color_Red,"Verwendung /a [text]");
if(AdminLevel[playerid] == 1)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Supporter ** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
if(AdminLevel[playerid] == 2)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Supporter ** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
if(AdminLevel[playerid] == 3)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Supporter ** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
if(AdminLevel[playerid] == 4)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Admin** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
if(AdminLevel[playerid] == 5)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Fulladmin** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
if(AdminLevel[playerid] == 2000)
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Server Leitung** %s: %s **",name,text);
SendAdminMessage(Color_Gold,string);
return 1;
}
ALog(string);
return 1;
}
else
{
SendClientMessage(playerid,Color_Red,"Du hast keinen Zugriff auf den Befehl benötigt:Supporter");
}
return 1;
} -
Das ist mein Code, sehe dort nicht WIrklich den Fehler, meistens ist es ein Return Fehler, habe aber auch keins und bei mir gehts.
ocmd:kick(playerid,params[])
{
new pID;
new string[128],grund[128];
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Color_Red,"Der angegebene Spieler ist nicht connected!");
if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,Color_Red,"Benutzung: /kick [ID] [Grund]");
if(AdminLevel[playerid] >= 1)
{
format(string,sizeof(string),"[Server News]: %s hat %s vom Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
SendClientMessageToAll(Color_Orange,string);
FreezePlayer(pID);
GameTextForPlayer(pID,"~r~Du wurdest Gekickt",5000,3);
Kick(pID);
speichern(pID);
KickLog(string);
}
else
{
SendClientMessage(playerid,Color_Red,"Dein Adminlevel ist zu niedrig - Bnötigt: Yakuza Ausbilder");
return 1;
}
return 1;
} -
Hallo, Habe diesen Error.
error 035: argument type mismatch (argument 1)
der Code:
ocmd:w(playerid,params[])
{
if(AdminLevel[playerid] >= 1)
{
new name[128],text[128],string[128],sendid[128];
if(sscanf(params,"us",sendid,text))return SendClientMessage(playerid,Color_Red,"Verwendung /W [ID] [Nachricht]");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Admin %s Antwortet %s",name,text);
SendClientMessage(sendid,Color_White,string); <- Error Zeile.
return 1;
}
return 1;
}
Würde mich über Hilfe freuen. -
Weiß jemand, warum der admin rank eines Spielers beim Disconecten Auf 6 Gesetzt wird?
stock accounts(playerid)
{
new Spieler[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spieler,sizeof(Spieler),"/Spieler/%s.ini",name);
SetPlayerScore(playerid,dini_Int(Spieler,"Kills"));
AdminLevel[playerid] = dini_Int(Spieler,"Adminlevel");
return 1;
}
stock speichern(playerid)
{
new Spieler[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spieler,sizeof(Spieler),"/Spieler/%s.ini",name);
dini_IntSet(Spieler,"Adminlevel",AdminLevel[playerid]);
return 1;
} -
Hab ich Bereits hinbekommen.
aber jetzt failed der bann Befehl.
ocmd:ban(playerid,params[])
{
new pID,string[128],grund[128];
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Color_Red,"Der angegebene Spieler ist nicht connected!");
if(sscanf(params,"us",pID))return SendClientMessage(playerid,Color_Red,"Benutzung: /ban [ID] [Grund]");
if (AdminLevel[playerid] >= 1)
{
SetPVarInt(playerid,"Banned",1);
format(string,sizeof(string),"[AdmCmd] %s hat %s permanent vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
SendClientMessageToAll(orange,string);
FreezePlayer(pID);
Kick(pID);
speichern(pID);
}
else
{
SendClientMessage(playerid,Color_Red,"Dein Adminlevel ist zu niedrig");
return 1;
}
return 1;
}
Es kommt nur.
Benutzung: /ban [ID] [Grund] -
Hallo, mein Sscanf ist leider Fail.
Das ist mein sscanf
stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}
Bekomme aber den Error.
C:\Dokumente und Einstellungen\test\Desktop\Gta Shit\gamemodes\yaki2.pwn(646) : error 017: undefined symbol "ize"
Die Zeile
#pragma tabsize 4 -
Hallo, sobald ich den Kick Befehl mit OCMD rein mache kommt das hier
----------------------
v0.3e, (C)2005-2012 SA-MP Team[19:39:27] filterscripts = "" (string)
[19:39:27] weburl = "www.sa-mp.com" (string)
[19:39:27]
[19:39:27] Server Plugins
[19:39:27] --------------
[19:39:27] Loading plugin: streamer
[19:39:27]*** Streamer Plugin v2.6 by Incognito loaded ***
[19:39:27] Loaded.
[19:39:27] Loaded 1 plugins.[19:39:27]
[19:39:27] Filterscripts
[19:39:27] ---------------
[19:39:27] Loaded 0 filterscripts.[19:39:27] Script[gamemodes/yaki2.amx]: Run time error 19: "File or function is not found"
[19:39:27] Number of vehicle models: 0
[19:39:32] --- Server Shutting Down.
[19:39:32]*** Streamer Plugin v2.6 by Incognito unloaded ***
ohne Kick Befehl
SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team[19:41:05] filterscripts = "" (string)
[19:41:05] weburl = "www.sa-mp.com" (string)
[19:41:05]
[19:41:05] Server Plugins
[19:41:05] --------------
[19:41:05] Loading plugin: streamer
[19:41:05]*** Streamer Plugin v2.6 by Incognito loaded ***
[19:41:05] Loaded.
[19:41:05] Loaded 1 plugins.[19:41:05]
[19:41:05] Filterscripts
[19:41:05] ---------------
[19:41:05] Loaded 0 filterscripts.[19:41:05]
----------------------------------
[19:41:05] YaKuZa EST und DM Server Loaded
[19:41:05] ----------------------------------[19:41:05] Number of vehicle models: 3
[19:41:06] --- Server Shutting Down.
[19:41:06]*** Streamer Plugin v2.6 by Incognito unloaded ***
Der Kick befehl.
ocmd:kick(playerid,params[])
{
new pID;
new string[64];
new grund[64];
if (AdminLevel[playerid] >= 1)
{
if(sscanf(params,"us",pID))return SendClientMessage(playerid,Color_Red,"Benutzung: /kick [ID] [Grund]");
format(string,sizeof(string),"[Server News]: %s hat %s von Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
FreezePlayer(pID);
Kick(pID);
speichern(pID);
}
else
{
SendClientMessage(playerid,Color_Red,"Dein Adminlevel ist zu niedrig Benötigt: YaKuZa Member");
return 1;
}
}
Es ist Errorlos Compiled -
eines morgens...
ne spaß
auf meinem debian squeeze 64bit root geht ts ned ich weiß ned warum und im logordner herscht gänende leere...Coderoot@server:/home/TS# sh ts3server_startscript.sh start ts3server.pid found, but no server running. Possibly your previously started server crashed Please view the logfile for details. Starting the TeamSpeak 3 server TeamSpeak 3 server started, for details please view the log file
wie gesagt logfile existiert ned chmod 777 is auf SÄMTLICHEN datein die iwas damit zu tun haben...
was interessant sein könnte: der ts wurde aus einem backup wiederhergestellt was aber sonst immer gefunzt hat
Hatte , das auch mal, Habe aber die Ts3server.Pid Gelöscht , danach war mein Problem Behoben.
Also Probier das einfach mal aus. -
Das mit dem Ingame + Forum Account ist mit Denke ich mal WBB_Connect gemacht.
Gibt auch ein Tutorial dazu musst einfach mal im Forum Gucken. -