Haxler könntest du bitte genauer erklären was die einzelnen Sachen bei dem Stock bewirken?
Würde das nämlich gerne verstehen können und nicht nur kopieren..
Beiträge von MrTadäus
-
-
Ohhh ja wieso is mir das nicht direkt aufgefallen?
DankeEDIT: Neues problem
EDIT: Neues Problem gelöst. Lösung: Dummheit vergessen und int erlernen wtf -
Hey. Ich wollte mir ein dynamisches Fraktions system basteln, wo ich dann ingame /createfraktion [Fraktionsname] o.ä. eingebe und dann eine "Fraktionsid".txt erstellt wird.
Also hab ich mir gedacht fange ich mal so an:Ich habe mir gedacht, da ich ja eine for schleife machen muss, damit keine Fraktionsid überschrieben wird, setze ich erstmal klein an, damit die for schleife nicht erstmal bis 100 hochzählen muss. Kann man ja nachher noch ändern, wenn man mehrere Fraktionen haben möchte.
Code
Alles anzeigenenum fraktion_info { FName[128], FMoney, Rang1, Rang2, Rang3, Rang4, Rang5, Rang6 } new Fraktion_Info[MAX_FRAK][fraktion_info];
Hier bin ich mir schon unsicher, ob das [64] rein muss, weil ich habe nirgends ein System gefunden, das einen Namen in einer Datei speichert.
Naja weiter.Code
Alles anzeigenstock CreateFraction() { new datei[64]; for(new frak=1;frak<MAX_FRAK;frak++) { format(datei,sizeof(datei),"/Fraktionen/%i.txt",frak); if(!dini_Exists(datei)) { dini_Create(datei); dini_Set(datei,"FName",Fraktion_Info[frak][FName]); dini_IntSet(datei,"FMoney",0); dini_Set(datei,"Rang1","Rang 1"); dini_Set(datei,"Rang2","Rang 2"); dini_Set(datei,"Rang3","Rang 3"); dini_Set(datei,"Rang4","Rang 4"); dini_Set(datei,"Rang5","Rang 5"); dini_Set(datei,"Rang6","Rang 6"); return 1; } } return 1; }
Codeocmd:createfraktion(playerid,params[]) { if(isPlayerAnAdmin(playerid,0)) { CreateFraction(); return 1; } return 1; }
Das PlayerAdmin(0) ist so gewollt, da ich noch probleme mit dem speichern nach dem /gmx habe. So wie bekomme ich jetzt hin, dass der Name in der Datei gespeichert wird?
Klar mitCodeif(sscanf(params,"s",FName)) return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /createfraktion [Fraktionsname]");
aber wie schaffe ich es jetzt den String FName in der Datei zu speichern. Für die Räne gibt es dann einen Extra befehl
Wäre nett wenn mir jemand helfen könnte.
Ich hoffe, dass ich mein Problem ausführlich und verständlich genug beschrieben habe.MFG InsaneDucky
//EDIT: Codes und Probleme aktuallisiert
//EDIT 2:
Okay, ich hab es glaub ich fast selbst geschafft aber habe jetzt ein neues Problem:Code
Alles anzeigenocmd:fkasse(playerid,params[]) { new Betrag,datei[64]; if(sscanf(params,"i",Betrag)) return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /FKasse [Betrag]"); for(new frak=1;frak<MAX_FRAK;frak++) { format(datei,sizeof(datei),"/Fraktionen/%i.txt",frak); if(dini_Exists(datei)) { if(frak==GetPVarInt(playerid,"Fraktion")) { Fraktion_Info[frak] -= Betrag; return 1; } } } return 1; }
Error:
Ist die zeile -
Haha richtig geile Geschichte. Mach bitte noch eine.
-
@ iAIR
Wäre es sicht sinnvoller das beo OnplayerText zu machen? Bin nicht so erfahren, aber bei OnPlayerConnect hat das doch wenig Sinn, ausser, dass er erfährt, dass er gemuted ist? -
Ok klappt irgendwie doch nicht? =((
-
Daaaanke :**
;D//EDIT:
pInfo[playerid][skin] = classid;
So ist es richtig^^ -
Danke =)
ZitatUnd wie kann ich machen dass der skin nach dem drücken von "Spawn" bei einer SKinauswahl gesaved wird?
Wenn mir jetzt noch jemand bei dem Problem helfen könnte wäre das super
-
Sorry bin (noch) nicht so gut im scripten, kannst du das mal vielleicht genauer erklären?
//EDIT: Ich denk mal,dass ich "i" definieren muss oder so und kp wiedas geht^^
LG
-
Wenn ich dann aber das mache:
public OnGameModeExit()
{
new name[128], save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save))
{
dini_IntSet(save,"skin",GetPlayerSkin(playerid));
//dini_IntSet(save,"skin",pInfo[playerid][skin]);
dini_IntSet(save,"geld",GetPlayerMoney(playerid));
dini_IntSet(save,"team",pInfo[playerid][team]);
dini_IntSet(save,"leader",pInfo[playerid][leader]);
dini_IntSet(save,"alvl",pInfo[playerid][alvl]);
}
return 1;
}
bekomme ich folgende Errors
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid" -
Also wie die Überschrift schon sagt bekomm ich nach nem gmx immer die skin ID 0. Bei nem Logout saved er den Skin. Und wie kann ich machen dass der skin nach dem drücken von "Spawn" bei einer SKinauswahl gesaved wird?
Hier erstmal der GMX-Befehl:
dcmd_gmx(playerid,params[])
{
if(loggedin[playerid] == false)
{
SendClientMessage(playerid,COLOR_RED,"Du musst dich erst einloggen.");
return 0;
}
if(pInfo[playerid][alvl] >=3)
{
#pragma unused params
SendClientMessageToAll(COLOR_RED,"Ein Admin hat einen Server-Restart durchgeführt!");
SendRconCommand("gmx");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte.");
}
return 1;
} -
Also so?
Onplayerconnect
SetPlayerColor(playerid,0xFFFFFF00); // unsichtbar (weiß)
Da ja jeder mit einer Farbe z.B. Orange,Lila spawnt
und dann beim /adutydcmd_aduty(playerid,params[] )
{
#pragma unused params
if(aduty[playerid] == 0)
{
new Name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,Name,sizeof(Name));
format(string,sizeof(string),"Admin %s befindet sich nun im Adminduty!",Name);
SendClientMessageToAll(GELB,string);
SetPlayerHealth(playerid, 10000);
SetPlayerArmour(playerid, 10000);
SetPlayerColor(playerid, 0xFF8C00FF); // Sichtbar Orange
new Float:x,Float:y,Float:z;
format(string,256,"Admin");
aduty[playerid] = 1;
return 1;
}
else if(aduty[playerid] == 1) //Wenn er den Befehl eingibt und die Variable diesmal auf True/1 ist weil man den Befehl schonmal eingegeben hat
{
new Name[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,Name,sizeof(Name));
format(string,sizeof(string),"Admin %s befindet sich nun nicht mehr im Adminduty!",Name);
SendClientMessageToAll(GELB,string);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 0);
SetPlayerColor(playerid, 0xFFFFFF00); // Unsichtbar Weiß
aduty[playerid] = 0;
}return 1;
} -
Ok das mit dem Skin hat sich erledigt, habs selber rausgefunden
-
Hey.
Gutet Tutorial, doch ich habe eine Frage.Wie mache ich das mit skin und der position? Ich hab alles versucht aber es klappt nich.Bin langsam am verzweifelnIch habe schon bei Onplayerspawn
if(dini_Isset(accFormat,"skin"))
{
SetPlayerSkin(playerid,Spieler[playerid][skin]);
}eingefügt,da BlackFox das mit lastx etc auch so gemacht hat. Jedoch ohne auswirkung
-
Am Anfang sollen alle marker deaktiviert werden.Nur wenn man /aduty eingibt, nachdem man schon aduty war (alsoa duty verlasse) soll nur die Markierung von demjenigen gelöscht werden.Also ,dass er nicht mehr angezeigt wird.
Und jetztz nocheine frage.Wie mache ich nun, dass wenn man in aduty reingeht, dass man wieder auf der karte markiert wird? -
-
-
-
-