Hallo,
Ich wollte euch mal fragen, wie ich ein "/ad" System schreibe, und wie es aufgebaut ist.
Habe schon die Sufu benutzt und gegoogelt, jedoch nichts brauchbares gefunden.
Danke schonmal für die Antworten "
Hallo,
Ich wollte euch mal fragen, wie ich ein "/ad" System schreibe, und wie es aufgebaut ist.
Habe schon die Sufu benutzt und gegoogelt, jedoch nichts brauchbares gefunden.
Danke schonmal für die Antworten "
ehm new sendername;
dann Poste die mal
was machst du da?
new string[256],idx;
Ich frage einfach mal anders.
Aber vielen dank das du es versucht hast @Marius_DePrimo: !
if(strcmp(cmd,"/advertise",true)==0 || strcmp(Cmd,"/ad",true)==0)
{
new gMessage[258],string[128];
gMessage = strrest(cmdtext,idx);
if(strlen(gMessage)==0)return SendClientMessage(playerid, FARBE," /ad [text] ...... ");
new WerberName[MAX_PLAYER_NAME];
GetPlayerName(playerid,WerberName,sizeof(WerbeName));
format(string,sizeof(string)," Werbung: %s, Von: %s",gMessage,WerberName);
SendClientMessageToAll(FARBE,string);
return 1;
}
Ganz einfach mit strrest.
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(PlayerInfo[playerid][pLevel] >= 3)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591) && !IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591))
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am Burder Shot Nord(BSN)!");
return 1;
}
if(PlayerInfo[playerid][pGangJailed] == 1 || PlayerTied[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du kannst jetzt keine Werbung schreiben!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ad)vertise [text]");
return 1;
}
if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
{
format(string, sizeof(string), "Bitte Versuch es Später wieder %d sekunden zwischen einer Werbung!", (addtimer/1000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = idx * SBizzInfo[5][sbEntranceCost];
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Du hast %d Zeichen benutzt, das kostet $%d, du hast nicht genug dabei.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerMoney(playerid, - payout);
SBizzInfo[5][sbTill] += payout/3;
ExtortionSBiz(5, payout);
format(string, sizeof(string), "Werbung: %s, Von: %s, PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(0xFF8900FF,string);
format(string, sizeof(string), "~r~Rechnung: $%d~n~~w~Nachricht hatte: %d Zeichen.", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
}
else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 3 um eine Werbung zu schreiben.");
return 1;
}
Alles anzeigenif(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(PlayerInfo[playerid][pLevel] >= 3)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
return 1;
}
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591) && !IsPlayerInRangeOfPoint(playerid, 5.0, 1207.9789,-917.8524,43.0591))
{
SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am Burder Shot Nord(BSN)!");
return 1;
}
if(PlayerInfo[playerid][pGangJailed] == 1 || PlayerTied[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du kannst jetzt keine Werbung schreiben!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ad)vertise [text]");
return 1;
}
if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
{
format(string, sizeof(string), "Bitte Versuch es Später wieder %d sekunden zwischen einer Werbung!", (addtimer/1000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = idx * SBizzInfo[5][sbEntranceCost];
if(GetPlayerMoney(playerid) < payout)
{
format(string, sizeof(string), "* Du hast %d Zeichen benutzt, das kostet $%d, du hast nicht genug dabei.", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
GivePlayerMoney(playerid, - payout);
SBizzInfo[5][sbTill] += payout/3;
ExtortionSBiz(5, payout);
format(string, sizeof(string), "Werbung: %s, Von: %s, PH: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(0xFF8900FF,string);
format(string, sizeof(string), "~r~Rechnung: $%d~n~~w~Nachricht hatte: %d Zeichen.", payout, idx);
GameTextForPlayer(playerid, string, 5000, 5);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
}
else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 3 um eine Werbung zu schreiben.");
return 1;
}
Bringt ihm nichts, wenn du einfach den /advertise Befehl eines GF-Scriptes kopierst und hier einfügst...
Alles anzeigenif(strcmp(cmd,"/advertise",true)==0 || strcmp(Cmd,"/ad",true)==0)
{
new gMessage[258],string[128];
gMessage = strrest(cmdtext,idx);
if(strlen(gMessage)==0)return SendClientMessage(playerid, FARBE," /ad [text] ...... ");
new WerberName[MAX_PLAYER_NAME];
GetPlayerName(playerid,WerberName,sizeof(WerbeName));
format(string,sizeof(string)," Werbung: %s, Von: %s",gMessage,WerberName);
SendClientMessageToAll(FARBE,string);
return 1;
}
Ganz einfach mit strrest.
Da passt was nicht ganz..
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(323) : error 017: undefined symbol "cmd"
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(326) : error 017: undefined symbol "strrest"
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(326) : error 033: array must be indexed (variable "gMessage")
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "AFK"
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "ret_memcpy"
C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "strtok"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
Alles anzeigen
Zeile 326:
Zeile 323:
Ich mach dir mal eins mit ocmd kannst du ja ändern
kommt gleich mit #1 edit.
#1
ocmd:ad(playerid,params[])
{
new adtext[128],SpielerName[MAX_PLAYER_NAME],string[150];
if(sscanf(params, "s", adtext)) return SendClientMessage(playerid,FARBE, "Benutzung: /ad [TEXT]");
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
format(string,sizeof(string)," Werbung: %s, Von: %s",adtext,SpielerName);
SendClientMessageToAll(FARBE,string);
return 1;
}
Okay dann warte ich auch mal
Hab ein edit oben gemacht
Da passt was nicht ganz..
CodeAlles anzeigenC:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(323) : error 017: undefined symbol "cmd" C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(326) : error 017: undefined symbol "strrest" C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(326) : error 033: array must be indexed (variable "gMessage") C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "AFK" C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "ret_memcpy" C:\Users\Medion\Desktop\0.3e\gamemodes\Selfmadev2.pwn(542) : warning 203: symbol is never used: "strtok" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 3 Errors.
Zeile 326:
Zeile 323:
Hast Du das alles denn auch definiert? Hast du den strrest-stock? Ohne diese Sachen geht des nämlich nicht.
Mann muss immer davon ausgehen das man die Normalen werte von Pawno nimmt.
Nicht jeder hat es so definiert wie du.