Geht nicht
//EDIT: Da war wer schneller
Beiträge von KeksOfDeath
-
-
Ok, dann darfst du diesen cmd auch nicht umbenennen, esseidern, dass du die cmd zahl auch änderst
if(strcmp(cmdtext,"/level",true,6)==0) {
if(strlen(cmdtext[7])) {
new typ=strval(cmdtext[7]);
if(IsPlayerConnected(typ)) {
new ding=0;
if(typ>=100) { ding=4; }
else if(typ>=10) { ding=3; }
else if(typ>=0) { ding=2; }
if(strlen(cmdtext[7+ding])) {
new level=strval(cmdtext[7+ding]);
if(level>=0 && level<=10) {
admlevel[typ]=level; }}}}
return 1;
}
Mir ist auch schon aufgefallen, dass das mit dem cmdtext[...] jetzt ne doofe Idee war, desshalb nochmal mit strget
Hier kannst du auch bedenkenlos den cmdnamen ändern^^
if(!strcmp(strget(cmdtext,0),"/level")) {
if(strlen(strget(cmdtext,1))) {
new typ=strval(strget(cmdtext,1));
if(IsPlayerConnected(typ)) {
if(strlen(strget(cmdtext,2))) {
new level=strval(strget(cmdtext,2));
if(level>=0 && level<=10) {
admlevel[typ]=level; }}}}
return 1;
}
strget: (die strtok Alternative) http://wiki.sa-mp.de/Strtok -
dcmd_punkteentzug(playerid, params[])
{
new id, grund, punkte;
if (!sscanf(params, "dsd", id, grund, punkte)) return SendClientMessage(playerid, 0xFF0000FF, "[INFO] Usage: /punkteentzug [ID] [REASON] [PUNKTE]");
if (!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, "[INFO] Invalid ID");
if (PInfo[playerid][Job] !=1) return SendClientMessage(playerid, 0xFF0000FF, "[INFO] Du bist kein Polizist");
if (PInfo[id][Fuehrerschein] !=1) return SendClientMessage(playerid, 0xFF0000FF, "[INFO] Dieser Spieler hat kein Führerschein");
format(tmp,256,"[LVPD] %s hat
[...]
noch ne Klammer unten entfernen und anderen angleichen -
Verwendest du sowas wie strget, strtok oder sscanf?
-
Habe den Code ebenfalls nicht getestet.
Kann so auch nicht funzen
if (Zahl > 0) {
new s[5]; format(s,sizeof(s),"%d",zahl);
GameTextForAll(s,1000,0); } -
Ganz nach oben:
new admlevel[MAX_PLAYERS];
//in den cmd:
if(admlevel[playerid]>=1) {//geht nur, wenn sein admlevel höher gleich 1 ist -
Mal als kleine Frage nebenbei... warum steht bei dir "new ID = playerid;" wobei du "ID" gar nicht verwendest?
-
if (Angebot == Lackierung)
funktioniert nicht, wie es mit sscanf jetzt aussieht, weiß ich nicht, dafür aber mit strget^^
if(!strcmp(strget(params,0),"lackierung")) {
Und am besten machst du auch noch etwas, damit der Server weiß, dass dir jemand eine Lackierung angeboten hat:
new lackierungsangebot[MAX_PLAYERS]//oder so^^ -
Ist TEAM_Blackdevils bei dir auch die TeamID 3?
-
OnPlayerRequstSpawn:
if(GetPlayerSkin(playerid)==skinid) {
if(gLeader[playerid]!=leader der Fraktion) {
SendClientMessage(playerid,FARBE,"Nur für Leader der Fraktion bla");
return 0; }} -
Bei mir auch nicht^^
Ganz nach oben:
#include <dini>
//OnPlayerConnect:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
SetPlayerWantedLevel(playerid,dini_Int("wantedz.ini",name));
//OnPlayerDisconnect:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
dini_IntSet("wantedz.ini",GetPlayerWantedLevel(playerid));
//OnGameModeInit:
if(!dini_Exists("wantedz.ini") { dini_Create("wantedz.ini"); } -
-
AddStaticPickup gibt genau wie CreatePickup IDs wieder, dein erstes Pickup hat die ID 0, das zweite die 1, ...
-
Nicht vergessen, es wird bei 0 angefangen zu zählen^^
Der erste Case ist nicht "case 1: {" sondern "case 0: {" -
//nach oben:
new Menu:ggeld, gelddind[MAX_PLAYERS];
//OnGameModeInit:
ggeld=CreateMenu(x,y,"Geldding bla");
AddMenuItem(ggeld,0,"Geld ein");
AddMenuItem(ggeld,0,"Geld aus");
AddMenuItem(ggeld,0,"Exit");
//OnPlayerText:
if(geldding[playerid]!=0) {
new summe=strval(text[0]);
if(summe>=1 && summe<=1000000000) {
if(geldding[playerid]==1) {
GivePlayerMoney(playerid,summe); }
else if(geldding[playerid]==2) {
GivePlayerMoney(playerid,-summe); }}}
//OnPlayerSelectMenuRow:
if(GetPlayerMenu(playerid)==ggeld) {
switch(row) {
case 0: { geldding[playerid]=1; }
case 1: { geldding[playerid]=2; }
case 2: { HideMenuForPlayer(ggeld,playerid); }}}
//OnPlayerCommandText:
if(strcmp(cmdtext,"/geld",true)==0) {
ShowMenuForPlayer(ggeld,playerid);
return 1;
} -
Godfather oder eigener Mode?
-
Man kann sowas nicht über die ganze Map machen
PS: Explosionstyp 7 ist größer -
Dann bist du nicht im Team^^
Wie trittst du denn dem Team bei? -
SetTimerEx wird hier nicht gebraucht^^
Und der zählt von 30 bis 22 runter, zeigt auch alles an, du siehst es nur nicht, weil der GameText umd die 5 sekunden da stehen bleibt, egal, wie viel Zeit man dort eingibt, das gleiche Problem hatte ich auch beim Tacho^^
Da müsste man entweder ein TextDraw erstellen oder Message senden
Zum Textdraw:
//ganz nach oben:
new Text:bla;
//public GmxCount()
statt GameTextForAll machst du
TextDrawHideForAll(bla);
bla=TextDrawCreate(x,y,str);//bei x und y die x und y Kooridnaten vom Bildschirm eintragen (findest du mit z.B. Paint heraus)
TextDrawShowForAll(bla); -
Hmm... ich hatte das Problem gestern auch zum ersten (und bis jetzt einzigen) mal, normalerweise bin ich hier nie ausgeloggt, halt nur war ich dann gestern ausgeloggt, als ich in die "Scripting Base" wollte, als ich noch vorher in nem Thread unterwegs war, war ich noch eingeloggt (hab den Browser auch nicht vorher geschlossen)