wenn du hilfe benötigst wäre es hilfreich die Zeilen zu posten, welche die Errors verursachen. Oder die bleibt nichts anderes übrig als jemanden einen Einblick zu gewähren.
Beiträge von no.Ob
-
-
ocmd:kick(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
new pID, reason[128],string[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(ROT,string); Kick(pID);
return 1;
}jetzt mal zwei bescheidene Fragen:
- wieviele Adminlevel hast du deklariert ?
- wäre es nicht besser wenn du abfragst ob der Spieler die nötige Levelhöhe besitzt ?
if(isPlayerAnAdmin(playerid)<1) // Bedeutet soviel wie: Wenn der Spieler ein kleineres Level als 1 besitzt
dies ist lohnenswert wenn du mehrere Adminlevel benötigst. Mit deinem Befehl wird abgefragt ob er das Level eins besitzt, doch wenn du mehrere Adminlevel hast und das Level höher als 1 liegt gibt er rein theoretisch ebenso " Du bist kein Admin " aus._____________________________________________________________________
wenn ich mich irre könnt ihr es ruhig sagen -
{
if(IsPlayerAnAdmin(playerid,<2))return SendClientMessage(playerid,Rot,"Du bist kein Admin oder dein Rang ist nicht hoch genug!");
new pID, reason[128],string[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Blau,"/Kick [ID] [Grund]");
else{
format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(ROT,string);
Kick(pID);}
return 1;
} -
ist kein wunder
if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,Rot,"Du bist kein Admin oder dein Rang ist nicht hoch genug!");
-
was ist mit dem Befehl der das Level zuweist ?
Speicherst du dort das Level in der Variable "Level"?
-
sorry für den Sinnlosen Beitrag, aber ich würde mal sagen erwischt !
-
hast du an den Timern etwas verändert ? TextDrawHideForPlayer ?
-
dann würde er es nicht kompilieren
-
Sorry wenn ich es mal so schreibe, vielleicht kassier ich auch eine gelbe Karte, aber ich finde man sollte wenigstens versuchen die Ursache des Fehlers selber zu beheben um zu lernen was man falsch macht.
-
Und du hast nach einer Meinung gefragt, welche ich nun offen kundgetan habe
-
Falls ich da ein Hauch von Ironie spüre, empfehle ich dir dringendst Englisch zu lernen bevor du weiter zu Coden versuchst. Ansonsten war die Antwort ernst gemeint.
Du hast die Variable "CreateObject" definiert obwohl sie vom Pawn schon definiert ist.
-
PSD Tutorials FTW
Die Punkte sind Standardpinsel im Photoshop, eine Glaskugel hab ich schon mal besser gesehen(falls es eine darstellen soll) und die Schlingen oder wie auch immer man es bezeichent sind aus nem Tutorial.
Farbwahl zu grell und sonst ist es mir zusehr durcheinander gewüfelt. 6/10 (fleißig üben, Potential ist vorhanden) =)
-
schon mal übersetzt ?
-
schon mal geschaut ob die .inc überhaupt im ordner includes vorhanden ist ?
//EDIT : pawno/include ..
-
Soweit ich mich jetzt schon mit Pawn auskenne müsste diese Meldung beim Compilieren erscheinen. Schau bitte nach, an welcher Stelle #include <a_sampmysql> definiert ist und setze es direkt unter die #include <a_samp>, dann sollte es funktionieren.
Gruß noob
-
tjo dann haste wohl pech, oder musst warten bis der Bug von LoH fixed ist
-
Zitat
Alleine schon wenn ich deine Variablen sehen
Allein wenn ich schon deine Rechtschreibung sehe, wird mir schlecht. Meinst du nicht das jeder mal mit dem Coden angefangen hat?.. echt solch Kommentar kann man sich echt klemmen!
Meins hat 15.185 Zeilen
Was sagen Zeilen schon aus?
ich hab 15.185 Zeilen auch in 10 min eingebaut, aber ob sie mit Bugs übertreufelt sind kann man den 15.185 Zeilen nicht entnehmenKonstruktive Kritik ist angebracht Jungs, nicht nur euer *alles Shit gelaber* ..
Guten Tag .. -
guter Anfang
aber da gibt es noch einiges zu optimieren
kleines Beispiel:ocmd:clear(playerid,params[])
{
if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid, rot, "Du bist kein Admin!");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
SendClientMessageToAll(rot, "");
new s[128];
format(s,sizeof(s),"*** Administrator %s hat den Chat gecleart! ***", Spielername(playerid));
SendClientMessageToAll(grün , s);
return 1;
}Geht viel einfacher und schneller zu schreiben, wenn man es so macht.
ocmd:clear(playerid,params[])
{
if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid, rot, "Du bist kein Admin!");
for(new i=0; i<100; i++) SendClientMessageToAll(rot," ");
new s[128];
format(s,sizeof(s),"*** Administrator %s hat den Chat gecleart! ***", Spielername(playerid));
SendClientMessageToAll(grün , s);
return 1;
} -
-
So ich hab da mal was gebastelt und eben bei mir lokal getestet = funktioniert. Eines vorab dieser Code ist etwas zum nachdenken, solltest du garkeine Erfahrung darin haben kannst du den Code gleich vergessen, da du ziemlich viel an dein Script anpassen musst!
COMMAND:premium(playerid,params[])
{
if(SpielerInfo[playerid][pLevel]==3)
{
new pID,name[20],premium,string[256],query[128],ausgabe[256]; GetPlayerName(pID,name,sizeof(name));
format(ausgabe,sizeof(ausgabe),"`Name`='%s'",name);
if(sscanf(params,"ii",pID,premium)) return SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /premium [ID] [premiumlevel]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_WHITE,"kein Spieler mit der angegebenen ID online");
if(premium>2) return SendClientMessage(playerid,COLOR_WHITE,"es gibt nur 2 Premiumlevel");
if(premium==2) return SendClientMessage(playerid,COLOR_WHITE,"Premium level 2 ist derzeit deaktiviert");
if(premium<0) return SendClientMessage(playerid,COLOR_WHITE,"unter 0 gibts nichts");
else
{
SpielerInfo[pID][PlrP] = premium;
SetPVarInt(pID,"premium",1);
format(string,sizeof(string),"%s hat nun Premiumstatus Level %i",name,premium);
SendClientMessageToAll(COLOR_WHITE,string);
format(query, 256, "UPDATE `player_info` SET `premium` = '%i' WHERE %s", SpielerInfo[pID][PlrP], ausgabe);
mysql_query(query);
}
}
else return SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht autorisiert diesen Befehl zu benutzen!");
return 1;
}COMMAND:changename(playerid,params[])
{
if(GetPVarInt(playerid,"premium")==1)
{
new newName[20],string[256],nameold[20]; GetPlayerName(playerid,nameold,sizeof(nameold));format(ausgabe,sizeof(ausgabe),"`Name`='%s'",nameold);
if(sscanf(params,"s",newName)) return SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /changename [Name]");
else
{
SetPlayerName(playerid,newName);
format(string,sizeof(string),"%s hat seinen Namen in %s geändert",nameold,newName);
SendClientMessageToAll(COLOR_WHITE,string); DeletePVar(playerid,"premium");
format(query, 256, "UPDATE `player_info` SET `Name` = '%s' WHERE %s", newName, ausgabe);
}
}
else return SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht autorisiert diesen Befehl zu benutzen!");
return 1;// ein Enum könnte etwa so aussehen
enum SpielerDaten
{
pName[MAX_PLAYER_NAME],
pLevel,
PlrP
// rest hab ich mal entnommen, dies sind die Relevanten Variablen
}
new SpielerInfo[MAX_PLAYERS][SpielerDaten];
}Benötigte Plugins:
- Sscanf2
- mysql
- Hirn !
Sollte man leicht auf DINI umstellen können, war gerade zu faul und hab es auch erst zu spät gelesen. Pass es deinen Bedürnissen an und gut ist.
Dies hat mich etwa 15 - 20 min gekostet. Support kannst du dir per PN holen, was diesen Code angeht(kein GF support, da ich GF nicht leiden kann und lieber Selfmade schreibe!)//EDIT: speichern des neuen Namens in der DB eingefügt !