Mir gefällt die Map richtig super.
10/10
Beiträge von Mogly1
-
-
Okay schau dir das an, dann sollte es dir auffallen.
- MoveDynamicObject(objectid, Float:x, Float:y, Float:z, Float:speed, Float:rx = -1000.0, Float:ry = -1000.0, Float:rz = -1000.0)
-
sry @Dr. Frauenarzt stehst du auf dem schlauch?
mit dem
stock Realzeichen(string[])
{
new zeichen;
for (new i = 0, j = strlen(string); i < j; i++)
{
if(string[i] != ' ')zeichen++;
}
return zeichen;
}
gibt er dir die anzeichen an geschriebenen zeichen aus...
Also nutze einfach das...
format(string, sizeof(string), "~r~%d$~n~~w~%d Buchstaben", price, Realzeichen(werbung));
GameTextForPlayer(playerid, string, 5000, 5);
Also bitte, wenn du das schon übernimmst, versteh es doch auch einfach ^^.
Nicht böse gemeint aber... -
Tja das einzige woran es liegen könnte... da Bei mir alles Funkt.
wäre das hier, änder das mal so bei dir.
if(sscanf(params, "s", werbung)) -
Versuch es mal so
ocmd:advertise(playerid, params[])
{
new string[128], werbung[96];
if(sscanf(params, "s[96]", werbung))
{
SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze: {00FF00}(/ad)vertise [Werbung]");
return 1;
}
if(PlayerInfo[playerid][pMuted] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du wurdest stummgeschaltet. (/muteinfo)");
return 0;
}
if(PlayerInfo[playerid][pLevel] < 3)return SendClientMessage(playerid, COLOR_GREY, "Du benötigst Level 3.");
if(Realzeichen(werbung)<=5)return SendClientMessage(playerid, COLOR_GREY, "Du solltest schon was sinvolles schreiben.");
new Geld=(Realzeichen(werbung)-1)*15;
new price = Geld+75;
if(GetPlayerMoney(playerid) < price)
{
format(string,sizeof(string),"Die Werbung kostet $%d pro Buchstabe. Du hast nicht genügend Geld.", price);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
if(PlayerInfo[playerid][pDonateRank] >= 1)
{
if(sAdvertise <= 10)
{
format(string, sizeof(string), "[Werbung] %s, %s (%d)", werbung, GetName(playerid), PlayerInfo[playerid][pPnumber]);
SendClientMessageToAll(COLOR_GREEN, string);
sAdvertise = 60;
GivePlayerMoney(playerid, -price);
}
else
{
new sAdx = sAdvertise-10;
format(string, sizeof(string), "Du musst noch %d Sekunden warten um eine Werbung schreiben zu können.", sAdx);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
else
{
if(sAdvertise > 0)
{
format(string, sizeof(string), "Du musst noch %d Sekunden warten um eine Werbung schreiben zu können.", sAdvertise);
SendClientMessage(playerid, COLOR_GREY, string);
SendClientMessage(playerid, COLOR_GREY, "Premium-Mitglieder können bereits ab 10 Sekunden schreiben.");
}
else
{
format(string, sizeof(string), "[Werbung] %s, %s (%d)", werbung, GetName(playerid), PlayerInfo[playerid][pPnumber]);
SendClientMessageToAll(COLOR_GREEN, string);
sAdvertise = 60;
GivePlayerMoney(playerid, -price);
}
}
return 1;
}stock Realzeichen(string[])
{
new zeichen;
for (new i = 0, j = strlen(string); i < j; i++)
{
if(string[i] != ' ')zeichen++;
}
return zeichen;
} -
Das ist doch leicht zu verstehen strlen gibt dir die maximalen zeichen des strings wieder also, ungefähr so...
[b]new[/b] stringLength = [url='http://wiki.sa-mp.com/wiki/strlen']strlen[/url]("This is an example string."); [i]// stringLength is now set to 26[/i]
heißt
new laenge=strlen(werbung);
price=((laenge-1)*15)+75;
tja den Rest schaffst du schon. -
Ok. Aber meine OCMD habe ich auch mal gemacht.
ocmd:b(playerid, params[]){new result[128], text[145];if(sscanf(params, "s", result))return SendClientMessage(playerid, 0xF50000FF, "[OOC]Benutzung:{FFFFFF} /b [Nachricht]");new name[MAX_PLAYER_NAME], Float:x, Float:y, Float:z;GetPlayerName(playerid, name, MAX_PLAYER_NAME);GetPlayerPos(playerid, x, y, z);format(text, sizeof (text), "(( %s: %s ))", name, result);for(new i = 0; i < MAX_PLAYERS; i++){if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,20.0, x, y, z)){SendClientMessage(i, 0xBEBEBEFF, text);}}return 1;}
Alle meine OCMD gehen auch nicht.bei dem sscanf müsstest du evt noch das rein machen
if(sscanf(params, "s[128]", result))
dies kommt jedoch drauf an ob du es als plugin oder als code nutzt. -
@VincX
Kleine Idee dir mir einfällt versuch doch mal wenn du mit CreateDynamicobject arbeitest auch AttachDynamicObjectToVehicle
zu nutzen anstatt nur Attachedobjetk...
evt. gehts dann?
mfg. Mogly1 -
Dann Printe mal
forward UserCheck(playerid);
public UserCheck(playerid)
{
print("1");
new num_rows, num_fields;
cache_get_data(num_rows,num_fields,Handle);
SetPlayerVirtualWorld(playerid,1);
if(num_rows = 0)
{
//Register
print("2");
ClearChat(playerid);
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Neuanfang","Herzlich Willkommen,\n auf unserem Game Server: bitte gebe dein Password ein.","Register","Abbrechen");
}
else
{
//Login
print("3");
ClearChat(playerid);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmeldung","bitte gebe dein Password ein.","Login","Abbrechen");
}
return 1;
}
und sag mal was kommt -
Nur so ne Frage du kriegst keien Warnings errors?
weil das müsste so aussehen
if(num_rows == 0)du hast nur
if(num_rows = 0) -
Also habt ihr einen festen und sucht einen der ein paar systeme scriptet oder jemand der ein komplettes script mit euch aufbaut?
-
Hier
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
geht es nicht an oder kommen fehler?
-
Das
for(new i=0; i<sizeof(tank); i++)
musst du glaube zu dem machen
for(new i=0; i<MAX_VEHICLES; i++)
oder wie ist tank definiert? -
@KinGRaPTiiC
Yo hasb gefunden
versuche s mal so
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInAnyVehicle(i))continue;
new vID = GetPlayerVehicleID(i);
format(string1, sizeof(string), "Tank: %i%%", tank[vID]);
PlayerTextDrawSetString(i,TDEditor_PTD[i][5],string1);
} -
@KinGRaPTiiC
Hier falls es dir hilft.aber ansonsten, wennes um das hier geht?
format(string1, sizeof(string), "Tank: %i%%", tank[vID]);
PlayerTextDrawSetString(i,TDEditor_PTD[i][5],string1);
versuch es mal so
format(string1, sizeof(string1), "Tank: %i %", tank[vID]);
PlayerTextDrawSetString(i,TDEditor_PTD[i][5],string1); -
Alles klar dann denk dran das Thema zu schließen Mfg. Mogly1
-
Dann mach das mal so.
new string[164];
f(sscanf(params, "s[164]", string))return SendClientMessage(playerid, GELB, "INFO: /f [Nachricht]");
und wenn das nicht funkt mach das einfach mal so
new string[164];
if(sscanf(params, "s", string))return SendClientMessage(playerid, GELB, "INFO: /f [Nachricht]"); -
wenn nicht versuch mal das einfach und simple

ocmd:f(playerid,params[])
{
if(PlayerInfo[playerid][pFraktion]<7)return SendClientMessage(playerid,GRAU,"Du bist in keiner Gang/Mafia!");
new fID = PlayerInfo[playerid][pFraktion];new string[164];
if(sscanf(params, "s[128]", string))return SendClientMessage(playerid, GELB, "INFO: /f [Nachricht]");
format(string, sizeof(string), "**(( %s: %s ))**", SpielerName(playerid), string);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(PlayerInfo[i][pFraktion] == fID)
{
SendClientMessage(i, HELLBLAU, string);
}
}
return 1;
} -
Closed
habe alle gefunden