Jump to content
  • 0

pomoc Rozdělení dárků na levely


DarkDragon_CZE69

Dotaz

Zdravím potřeboval bych pomoc rozdělit můj dárkový script na 2 levely a příkaz by měl vypadat /setdarecek [iD] [LEVEL]

 

Zde je můj celý FS:

 

 

/*Tento Script udělal Stringer_CZE*/

#include
#include
#include
#define COLOR_LIME 0x80FF00FF
#define COLOR_TMAVEMODRA 0x0000FFFF
#define COLOR_SVETLEMODRA 0x00FFFFFF
#define COLOR_SPECCERVENA 0xFF0000FF
#define DIALOG_DAREKINFO 1456
#define DIALOG_DAREKINFOA 1457
new DAREK[MAX_PLAYERS];
new DAREKSAVE[50];
new DAREKREMOVE[50];

public OnFilterScriptInit()
{
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

public OnGameModeInit()
{
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));
DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

CMD:setdarecek(playerid,params[])
{
new id = strval(params);
if(params[0] == '\1') return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /setdarecek [ID]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF, "Jenom RCON může dát hráči dárek!");
else if(DAREK[id] == 1) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Tento hráč už má darek!");
else
{
DAREK[id] = 1;
new setdarecek[150];
format(setdarecek, sizeof(setdarecek), "Administrátor %s dal hráči %s dárek č.1 !", Meno(playerid), Meno(id));
SendClientMessageToAll(COLOR_SPECCERVENA, setdarecek);
format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
if(!dini_Exists(DAREKSAVE))
{
dini_Create(DAREKSAVE);
dini_BoolSet(DAREKSAVE, "DAREK", DAREK[playerid]);
}
}
return 1;
}

CMD:darecek(playerid,params[])
{
if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dárek!");
new string[200];
new name[25];
switch(random(10))
{
case 0:{
random(10);
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}125,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 1:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}500,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 2:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}250,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 3:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}1,000,000.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 4:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}200,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 5:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}25,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 6:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}150,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 7:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}100,000$.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 8:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}má smůlu a nedostal nic.", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
case 9:{
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}50,000$ .", name);
SendClientMessageToAll(COLOR_SPECCERVENA,string);
DAREK[playerid] = 0;
}
}
return 1;
}

CMD:odeberdarecek(playerid,params[])
{
new id = strval(params);
if(params[0] == '\1') return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /odeberdarecek [ID]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Jenom RCON může odebrat dárek!");
else if(DAREK[id] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Tento hráč nemá dárek!");
else
{
DAREK[id] = 0;
format(DAREKREMOVE, sizeof(DAREKREMOVE), "Administrátor %s odebral hráči %s dárek č.1 !", Meno(playerid), Meno(id));
SendClientMessageToAll(COLOR_SPECCERVENA, DAREKREMOVE);
format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
if(dini_Exists(DAREKREMOVE))
{
dini_Remove(DAREKREMOVE);
}
}
return 1;
}

CMD:darekinfo(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_DAREKINFO,DIALOG_STYLE_MSGBOX,"Dárky","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1","Zavřít","");
else
{
ShowPlayerDialog(playerid,DIALOG_DAREKINFOA,DIALOG_STYLE_MSGBOX,"Dárky - Admini","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1\n\n{00FF00}/setdarecek {FF0000}- Dá hráči dárek č.1(Pouze RCON!)","Zavřít","");
}
return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

stock Meno(playerid)
{
new pName[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, pName, sizeof(pName));
}
return pName;
}

 

 

Mimochodem princip bych měl být takový, že když hráč má Level 1 tak to napíše do chatu všem random zprávu, který budou nastaveny a když má level 2 tak to stejný akorát bude mít trošku lepší výhry :d
Všem předem děkuji za rady.

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Recommended Posts

  • 0

použij sscanf2 plugin popřípadě stock sscanf (pouze pokud máš hosting který neumožňuje použití pluginu). Kdyby sis s ním nevěděl rady, zkus si na fóru najít návod. Měl by tu někde být.

Link to comment
Share on other sites

  • 0


CMD:setdarecek(playerid, params[]){
new id = strval(params),
lvlid;

else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Toto ID neexistuje.");
else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "Toto je NPC.");

DAREK[id] = lvlid;
// ... dál už si to doděláš (jo prosím tě... neukládej DAREK kde máš lvlid na bool :-D máš tam možná víc blbostí ale to už je tvůj problém)
return true;
}

+ sscanf napiš do google: samp wiki sscanf code (ten kód si pak dáš někam do módu)

 

Edited by rEf
Link to comment
Share on other sites

  • 0

Díky za pomoc, ale ještě pro kontrolu mělo by to být nějak takhle?:

 

CMD:setdarecek(playerid,params[]){
	new id = strval(params);
			lvlid;
			
	else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
	else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
	else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF, "Jenom RCON může dát hráči dárek!");
	else if(DAREK[id] == 1) return SendClientMessage(playerid,COLOR_SPECCERVENA, "Tento hráč už má darek!");
	else
	{
		DAREK[id] = lvlid;
		new setdarecek[150];
		format(setdarecek, sizeof(setdarecek), "Administrátor %s dal hráči %s dárek č.1 !", Meno(playerid), Meno(id));
 		SendClientMessageToAll(COLOR_SPECCERVENA, setdarecek);
		format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
		if(!dini_Exists(DAREKSAVE))
		{
			dini_Create(DAREKSAVE);
			dini_BoolSet(DAREKSAVE, "DAREK", DAREK[playerid]);
		}
	}
    return 1;
}

 

 

Link to comment
Share on other sites

  • 0

Ne nemělo :-) Takhle...

CMD:setdarecek(playerid, params[]){
	new id = strval(params),
            lvlid,
	    s[156],
	    c[100];

	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Nejsi rcon administrátor.");
	else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
	else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "/setdarecek [id] [1-2]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Toto ID neexistuje.");
	else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "Toto je NPC.");
	else if(DAREK[id] != 0) return SendClientMessage(playerid, -1, "Tento hráč již má dárek."); // když se nerovná 0 což znamená že už má nastavený 1 nebo 2
	
        DAREK[id] = lvlid; // nastaví na DAREK[id] level(číslo 1 nebo 2)
        format(s, sizeof(s), "Admin %s dal hráči %s dárek č.%d", Meno(playerid), Meno(id), lvlid);
        SendClientMessageToAll(-1, s);
        format(c, sizeof(c), "DAREK/%s.txt", Meno(id));
        if(!fexist(c)){ // kontroluje jestli neexistuje
               dini_Create(c); // vytvoří do složky DAREK .txt soubor dle hráčova jména
               dini_IntSet(c, "DAREK", lvlid); // zapíše na řádek DAREK o jaký se jedná (číslo 1 nebo 2)
        }
        return true;
}
Edited by rEf
Link to comment
Share on other sites

  • 0

Díky a ještě bych potřeboval jak tam udělat když hráč dá /darecek tak když má dárek 1 aby mu to tam dalo random zprávu a když 2 tak taky random zprávu? Akorát rozdíl bude v tom, že jeden Level bude mít jiný zprávy. Mimochodem vím jak udělat ty random zprávy přes case, ale nevím jak to mám nacpat atd...

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Vždyť tu podmínku znáš, tak ji jen napiš :d

Dobrá snaha :d

 

Stačí mi říct tu podmínku, že když má Level 1 tak mu to udělá TOHLE a když nemá Level 1 tak mu to udělá TOHLE

 

Tohle by jsi měl vědět, jestli ne, tak se máš ještě co učit.

Link to comment
Share on other sites

  • 0

Už to jakžtakž mám, ale potřeboval bych vyřešit tyto errory:
 

C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(91) : warning 217: loose indentation
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(114 -- 115) : error 029: invalid expression, assumed zero
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(122) : error 014: invalid statement; not in switch
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(122) : warning 215: expression has no effect
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(122) : error 001: expected token: ";", but found ":"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(122) : error 029: invalid expression, assumed zero
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(122) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

A celý FS:

 

/*Tento Script udělal Stringer_CZE*/

#include <a_samp>
#include <zcmd>
#include <Dini>
#define COLOR_LIME        0x80FF00FF
#define COLOR_TMAVEMODRA  0x0000FFFF
#define COLOR_SVETLEMODRA 0x00FFFFFF
#define COLOR_SPECCERVENA 0xFF0000FF
#define DIALOG_DAREKINFO  1456
#define DIALOG_DAREKINFOA 1457
new DAREK[MAX_PLAYERS];
new DAREKSAVE[50];
new DAREKREMOVE[50];

public OnFilterScriptInit()
{
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

public OnGameModeInit()
{
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
    format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));
DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

CMD:setdarecek(playerid, params[]){
new id = strval(params),
            lvlid,
   s[156],
   c[100];

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Nejsi RCON Administrátor.");
else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto ID neexistuje.");
else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto je NPC.");
else if(DAREK[id] != 0) return SendClientMessage(playerid, -1, "{FF0000}Tento hráč již má dárek."); // když se nerovná 0 což znamená že už má nastavený 1 nebo 2

DAREK[id] = lvlid; // nastaví na DAREK[id] level(číslo 1 nebo 2)
        format(s, sizeof(s), "Admin %s dal hráči %s dárek level %d", Meno(playerid), Meno(id), lvlid);
        SendClientMessageToAll(-1, s);
        format(c, sizeof(c), "DAREK/%s.txt", Meno(id));
        if(!fexist(c)){ // kontroluje jestli neexistuje
               dini_Create(c); // vytvoří do složky DAREK .txt soubor dle hráčova jména
               dini_IntSet(c, "DAREK", lvlid); // zapíše na řádek DAREK o jaký se jedná (číslo 1 nebo 2)
        }
        return true;
}

CMD:darecek(playerid,params[])
{
    if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dárek!");
    new id = strval(params),
            lvlid,
   s[156],
   c[100];
   
new string[200];
new name[25];
if(lvlid == 1){
switch
{
   case 0:{
      random(10);
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}125,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
    DAREK[playerid] = 0;
  }
        case 1:{
        GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}500,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 2:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}250,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 3:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}1,000,000.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
        case 4:{
        GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}200,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 5:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}25,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 6:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}150,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 7:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}100,000$.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 8:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}má smůlu a nedostal nic.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 9:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}50,000$ .", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
}else if(lvlid == 2){
new string[200];
new name[25];
switch
{
case 0:{
random(2))
  GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}čtyřkolku.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
  }
case 1:{
GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}Sabre.", name);
    SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
        }
}
return 1;
}

CMD:odeberdarecek(playerid,params[])
{
    new id = strval(params);
if(params[0] == '\1') return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /odeberdarecek [ID]");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Jenom RCON může odebrat dárek!");
else if(DAREK[id] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Tento hráč nemá dárek!");
else
{
DAREK[id] = 0;
format(DAREKREMOVE, sizeof(DAREKREMOVE), "Administrátor %s odebral hráči %s dárek č.1 !", Meno(playerid), Meno(id));
SendClientMessageToAll(COLOR_SPECCERVENA, DAREKREMOVE);
format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
if(dini_Exists(DAREKREMOVE))
{
dini_Remove(DAREKREMOVE);
}
}
return 1;
}

CMD:darekinfo(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_DAREKINFO,DIALOG_STYLE_MSGBOX,"Dárky","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1","Zavřít","");
else
{
ShowPlayerDialog(playerid,DIALOG_DAREKINFOA,DIALOG_STYLE_MSGBOX,"Dárky - Admini","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1\n\n{00FF00}/setdarecek {FF0000}- Dá hráči dárek č.1(Pouze RCON!)","Zavřít","");
}
return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

stock Meno(playerid)
{
   new pName[MAX_PLAYER_NAME];
   if(IsPlayerConnected(playerid))
   {
         GetPlayerName(playerid, pName, sizeof(pName));
   }
   return pName;
}

stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{

new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
    }
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}

 


Děkuji předem všem co mi pomůžou errory vyřešit

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0
// Náhodnou zprávu přes switch lze udělat jednoduše...

new rand = RandomEx(0,1); // rand bude 0 nebo 1
// když změníš tu 1 třeba na 2 pak můžeš přidělat i case 2

switch(rand){
	case 0: SendClientMessage(playerid, -1, "zpráva");
	case 1: {
		// nebo takhle jestli chceš něco více
	}
}

// + aby ti šlo RandomEx

RandomEx(min, max){
    return random(max - min) + min;
}

+ ty chyby nahoře co ti vypisují znamenají že neumíš tabovat a nedokážeš sestrojit funkční switch

snad to pochopíš až se podíváš na to jak sem ten switch udělal já

a i kdyby ne chybí ti tam (obsah) + loose indentation znamená že ten kód nemáš zarovnaný aneb neumíš tabovat

Edited by rEf
Link to comment
Share on other sites

  • 0

Pořád to hází errory: 

 

 

C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(44) : error 017: undefined symbol "Meno"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(92) : warning 217: loose indentation
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(93) : error 017: undefined symbol "Meno"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(95) : error 017: undefined symbol "Meno"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(105) : error 079: inconsistent return types (array & non-array)
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(113) : error 017: undefined symbol "RandomEX"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(176) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(177) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(178) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(179) : error 017: undefined symbol "RandomEx"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(183) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(183) : warning 215: expression has no effect
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(186) : error 014: invalid statement; not in switch
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(186) : warning 215: expression has no effect
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(186) : error 001: expected token: ";", but found ":"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(186) : error 029: invalid expression, assumed zero
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(186) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


12 Errors.
 

 


 

A ten příkaz /darecek mám tu:


 

/*Tento Script udělal Stringer_CZE*/

#include <a_samp>
#include <zcmd>
#include <Dini>
#include <sscanf2>
#define COLOR_LIME        0x80FF00FF
#define COLOR_TMAVEMODRA  0x0000FFFF
#define COLOR_SVETLEMODRA 0x00FFFFFF
#define COLOR_SPECCERVENA 0xFF0000FF
#define DIALOG_DAREKINFO  1456
#define DIALOG_DAREKINFOA 1457
new DAREK[MAX_PLAYERS];
new DAREKSAVE[50];
new DAREKREMOVE[50];

public OnFilterScriptInit()
{
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

public OnGameModeInit()
{
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
    format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));
	DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

CMD:setdarecek(playerid, params[]){
	new id = strval(params),
            lvlid,
	    s[156],
	    c[100];

	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Nejsi RCON Administrátor.");
	else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
	else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto ID neexistuje.");
	else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto je NPC.");
	else if(DAREK[id] != 0) return SendClientMessage(playerid, -1, "{FF0000}Tento hráč již má dárek."); // když se nerovná 0 což znamená že už má nastavený 1 nebo 2

		DAREK[id] = lvlid; // nastaví na DAREK[id] level(číslo 1 nebo 2)
        format(s, sizeof(s), "Admin %s dal hráči %s dárek level %d", Meno(playerid), Meno(id), lvlid);
        SendClientMessageToAll(-1, s);
        format(c, sizeof(c), "DAREK/%s.txt", Meno(id));
        if(!fexist(c)){ // kontroluje jestli neexistuje
               dini_Create(c); // vytvoří do složky DAREK .txt soubor dle hráčova jména
               dini_IntSet(c, "DAREK", lvlid); // zapíše na řádek DAREK o jaký se jedná (číslo 1 nebo 2)
        }
        return true;
}

CMD:darecek(playerid,params[])
	{
    if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dárek!");
    new id = strval(params),
            lvlid,
	    s[156],
	    c[100];
	    
	new string[200];
	new name[25];
	new rand = RandomEX(0,1,2,3,4,5,6,7,8,9,10);
	if(lvlid == 1){
	switch(rand){
	    case 0:{
		GetPlayerName(playerid, name, sizeof(name));
		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}125,000$.", name);
 		SendClientMessageToAll(COLOR_SPECCERVENA,string);
 		DAREK[playerid] = 0;
			   }
		case 1:{
        GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}500,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 2:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}250,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 3:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}1,000,000.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
        case 4:{
        GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}200,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 5:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}25,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 6:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}150,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 7:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}100,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 8:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}má smůlu a nedostal nic.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
	 	case 9:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}50,000$ .", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		else if(lvlid == 2){
		new string[200];
		new name[25];
		new rand2 = RandomEx(0,1){
		switch(rand2){
		case 0:
  		GetPlayerName(playerid, name, sizeof(name));
		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}čtyřkolku.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
		case 1:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}Sabre.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
        }
	}
	RandomEx(min, max){
    return random(max - min) + min;
}

CMD:odeberdarecek(playerid,params[])
{
    new id = strval(params);
	if(params[0] == '\1') return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /odeberdarecek [ID]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
	else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Jenom RCON může odebrat dárek!");
	else if(DAREK[id] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Tento hráč nemá dárek!");
	else
	{
	DAREK[id] = 0;
	format(DAREKREMOVE, sizeof(DAREKREMOVE), "Administrátor %s odebral hráči %s dárek č.1 !", Meno(playerid), Meno(id));
	SendClientMessageToAll(COLOR_SPECCERVENA, DAREKREMOVE);
	format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
	if(dini_Exists(DAREKREMOVE))
	{
		dini_Remove(DAREKREMOVE);
	}
	}
	return 1;
}

CMD:darekinfo(playerid,params[])
{
	if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_DAREKINFO,DIALOG_STYLE_MSGBOX,"Dárky","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1","Zavřít","");
	else
	{
		ShowPlayerDialog(playerid,DIALOG_DAREKINFOA,DIALOG_STYLE_MSGBOX,"Dárky - Admini","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1\n\n{00FF00}/setdarecek {FF0000}- Dá hráči dárek č.1(Pouze RCON!)","Zavřít","");
	}
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

stock Meno(playerid)
{
   new pName[MAX_PLAYER_NAME];
   if(IsPlayerConnected(playerid))
   {
         GetPlayerName(playerid, pName, sizeof(pName));
   }
   return pName;
}

stock sscanf(string[], format[], {Float,_}:...)
{
	#if defined isnull
		if (isnull(string))
	#else
		if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
	#endif
		{
			return format[0];
		}
	#pragma tabsize 4
	new
		formatPos = 0,
		stringPos = 0,
		paramPos = 2,
		paramCount = numargs(),
		delim = ' ';
	while (string[stringPos] && string[stringPos] <= ' ')
	{
		stringPos++;
	}
	while (paramPos < paramCount && string[stringPos])
	{
		switch (format[formatPos++])
		{
			case '\0':
			{
				return 0;
			}
			case 'i', 'd':
			{
				new
					neg = 1,
					num = 0,
					ch = string[stringPos];
				if (ch == '-')
				{
					neg = -1;
					ch = string[++stringPos];
				}
				do
				{
					stringPos++;
					if ('0' <= ch <= '9')
					{
						num = (num * 10) + (ch - '0');
					}
					else
					{
						return -1;
					}
				}
				while ((ch = string[stringPos]) > ' ' && ch != delim);
				setarg(paramPos, 0, num * neg);
			}
			case 'h', 'x':
			{
				new
					num = 0,
					ch = string[stringPos];
				do
				{
					stringPos++;
					switch (ch)
					{
						case 'x', 'X':
						{
							num = 0;
							continue;
						}
						case '0' .. '9':
						{
							num = (num << 4) | (ch - '0');
						}
						case 'a' .. 'f':
						{
							num = (num << 4) | (ch - ('a' - 10));
						}
						case 'A' .. 'F':
						{
							num = (num << 4) | (ch - ('A' - 10));
						}
						default:
						{
							return -1;
						}
					}
				}
				while ((ch = string[stringPos]) > ' ' && ch != delim);
				setarg(paramPos, 0, num);
			}
			case 'c':
			{
				setarg(paramPos, 0, string[stringPos++]);
			}
			case 'f':
			{

				new changestr[16], changepos = 0, strpos = stringPos;
				while(changepos < 16 && string[strpos] && string[strpos] != delim)
				{
					changestr[changepos++] = string[strpos++];
    				}
				changestr[changepos] = '\0';
				setarg(paramPos,0,_:floatstr(changestr));
			}
			case 'p':
			{
				delim = format[formatPos++];
				continue;
			}
			case '\'':
			{
				new
					end = formatPos - 1,
					ch;
				while ((ch = format[++end]) && ch != '\'') {}
				if (!ch)
				{
					return -1;
				}
				format[end] = '\0';
				if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
				{
					if (format[end + 1])
					{
						return -1;
					}
					return 0;
				}
				format[end] = '\'';
				stringPos = ch + (end - formatPos);
				formatPos = end + 1;
			}
			case 'u':
			{
				new
					end = stringPos - 1,
					id = 0,
					bool:num = true,
					ch;
				while ((ch = string[++end]) && ch != delim)
				{
					if (num)
					{
						if ('0' <= ch <= '9')
						{
							id = (id * 10) + (ch - '0');
						}
						else
						{
							num = false;
						}
					}
				}
				if (num && IsPlayerConnected(id))
				{
					setarg(paramPos, 0, id);
				}
				else
				{
					#if !defined foreach
						#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
						#define __SSCANF_FOREACH__
					#endif
					string[end] = '\0';
					num = false;
					new
						name[MAX_PLAYER_NAME];
					id = end - stringPos;
					foreach (Player, playerid)
					{
						GetPlayerName(playerid, name, sizeof (name));
						if (!strcmp(name, string[stringPos], true, id))
						{
							setarg(paramPos, 0, playerid);
							num = true;
							break;
						}
					}
					if (!num)
					{
						setarg(paramPos, 0, INVALID_PLAYER_ID);
					}
					string[end] = ch;
					#if defined __SSCANF_FOREACH__
						#undef foreach
						#undef __SSCANF_FOREACH__
					#endif
				}
				stringPos = end;
			}
			case 's', 'z':
			{
				new
					i = 0,
					ch;
				if (format[formatPos])
				{
					while ((ch = string[stringPos++]) && ch != delim)
					{
						setarg(paramPos, i++, ch);
					}
					if (!i)
					{
						return -1;
					}
				}
				else
				{
					while ((ch = string[stringPos++]))
					{
						setarg(paramPos, i++, ch);
					}
				}
				stringPos--;
				setarg(paramPos, i, '\0');
			}
			default:
			{
				continue;
			}
		}
		while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
		{
			stringPos++;
		}
		while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
		{
			stringPos++;
		}
		paramPos++;
	}
	do
	{
		if ((delim = format[formatPos++]) > ' ')
		{
			if (delim == '\'')
			{
				while ((delim = format[formatPos++]) && delim != '\'') {}
			}
			else if (delim != 'z')
			{
				return delim;
			}
		}
	}
	while (delim > ' ');
	return 0;
}
 

 

 

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Já už na to nemam nervy...

 

1: Píše ti to u určitého řádku že ho nemáš natabovaný což znamená zarovnaný/srovnaný kód.

2: Píše ti to že nemáš v módě stock Meno a RandomEx (to se dává do módu mimo public ... bože třeba někam dolu)

3: Píše ti to že máš na ho*no udělaný switch jasně jsem ti ukázal jak ho máš udělat a to že si neschopen se podívat jak vypadá můj switch a tvůj kde nemáš vůbec ten random ani za switch ()

4: Když používáš RandomEx tak do () se dává minimální číslo, maximální což je třeba (5,20) ne dvacet čísel tvl

 

Děláš si zbytečný chyby protože se pořádně nekoukáš a nečteš... Promiň ale mám také svou práci než řešit primitivní hlouposti.

Edited by rEf
Link to comment
Share on other sites

  • 0

Já už na to nemam nervy...

 

1: Píše ti to u určitého řádku že ho nemáš natabovaný což znamená zarovnaný/srovnaný kód.

2: Píše ti to že nemáš v módě stock Meno a RandomEx (to se dává do módu mimo public ... bože třeba někam dolu)

3: Píše ti to že máš na ho*no udělaný switch jasně jsem ti ukázal jak ho máš udělat a to že si neschopen se podívat jak vypadá můj switch a tvůj kde nemáš vůbec ten random ani za switch ()

 

Děláš si zbytečný chyby protože se pořádně nekoukáš a nečteš... Promiň ale mám také svou práci než řešit primitivní hlouposti.

2:Stock Meno mám

3: Díval jsem se na tvůj switch a mám ho tam... tak nechápu proč říkáš, že ne...

EDIT: Ták už jsem to dostal na 4 errory:

 

 

 

C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(44) : warning 219: local variable "Meno" shadows a variable at a preceding level
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(46) : error 012: invalid function call, not a valid address
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(46) : warning 215: expression has no effect
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(46) : error 001: expected token: ";", but found ")"
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(46) : error 029: invalid expression, assumed zero
C:\Users\Strin_000\Desktop\SA-MP FS\darecek1.pwn(46) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

 

 

FS:

 

 

/*Tento Script udělal Stringer_CZE*/

#include <a_samp>
#include <zcmd>
#include <Dini>
#include <sscanf2>
#define COLOR_LIME        0x80FF00FF
#define COLOR_TMAVEMODRA  0x0000FFFF
#define COLOR_SVETLEMODRA 0x00FFFFFF
#define COLOR_SPECCERVENA 0xFF0000FF
#define DIALOG_DAREKINFO  1456
#define DIALOG_DAREKINFOA 1457
new DAREK[MAX_PLAYERS];
new DAREKSAVE[50];
new DAREKREMOVE[50];

public OnFilterScriptInit()
{
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

public OnGameModeInit()
{
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
    new Meno[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
    GetPlayerName(playerid, Meno, sizeof(Meno));
    format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));
	DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

CMD:setdarecek(playerid, params[]){
	new id = strval(params),
            lvlid,
	    s[156],
	    c[100];

	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}Nejsi RCON Administrátor.");
	else if(sscanf(params, "ud", id, lvlid)) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
	else if(lvlid < 1 || lvlid > 2) return SendClientMessage(playerid, -1, "{FF0000}/setdarecek [ID] [LEVEL 1-2]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto ID neexistuje.");
	else if(IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "{FF0000}Toto je NPC.");
	else if(DAREK[id] != 0) return SendClientMessage(playerid, -1, "{FF0000}Tento hráč již má dárek."); // když se nerovná 0 což znamená že už má nastavený 1 nebo 2

		DAREK[id] = lvlid; // nastaví na DAREK[id] level(číslo 1 nebo 2)
        format(s, sizeof(s), "Admin %s dal hráči %s dárek level %d", Meno(playerid), Meno(id), lvlid);
        SendClientMessageToAll(-1, s);
        format(c, sizeof(c), "DAREK/%s.txt", Meno(id));
        if(!fexist(c)){ // kontroluje jestli neexistuje
               dini_Create(c); // vytvoří do složky DAREK .txt soubor dle hráčova jména
               dini_IntSet(c, "DAREK", lvlid); // zapíše na řádek DAREK o jaký se jedná (číslo 1 nebo 2)
        }
        return true;
}

CMD:darecek(playerid,params[])
	{
    if(DAREK[playerid] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Nevlastníš žádný dárek!");
    new id = strval(params),
            lvlid,
	    s[156],
	    c[100];
	    
	new string[200];
	new name[25];
	new rand = RandomEX(0,1,2,3,4,5,6,7,8,9,10);
	if(lvlid == 1){
	switch(rand){
	    case 0:{
		GetPlayerName(playerid, name, sizeof(name));
		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}125,000$.", name);
 		SendClientMessageToAll(COLOR_SPECCERVENA,string);
 		DAREK[playerid] = 0;
			   }
		case 1:{
        GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}500,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 2:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}250,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 3:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}1,000,000.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
        case 4:{
        GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}200,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 5:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}25,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 6:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}150,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 7:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}100,000$.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		case 8:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}má smůlu a nedostal nic.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
	 	case 9:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}50,000$ .", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
			   }
		else if(lvlid == 2){
		new string[200];
		new name[25];
		new rand2 = RandomEx(0,1){
		switch(rand2){
		case 0:
  		GetPlayerName(playerid, name, sizeof(name));
		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}čtyřkolku.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
		case 1:{
		GetPlayerName(playerid, name, sizeof(name));
   		format(string,sizeof(string),"Hráč {00FF00}%s {FF0000}dostal {00FF00}Sabre.", name);
    	SendClientMessageToAll(COLOR_SPECCERVENA,string);
        DAREK[playerid] = 0;
        }
	}
	RandomEx(min, max){
    return random(max - min) + min;
}

CMD:odeberdarecek(playerid,params[])
{
    new id = strval(params);
	if(params[0] == '\1') return SendClientMessage(playerid,COLOR_SPECCERVENA, "Použití: /odeberdarecek [ID]");
	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Hráč s tímto ID není na serveru!");
	else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Jenom RCON může odebrat dárek!");
	else if(DAREK[id] == 0) return SendClientMessage(playerid, COLOR_SPECCERVENA, "Tento hráč nemá dárek!");
	else
	{
	DAREK[id] = 0;
	format(DAREKREMOVE, sizeof(DAREKREMOVE), "Administrátor %s odebral hráči %s dárek č.1 !", Meno(playerid), Meno(id));
	SendClientMessageToAll(COLOR_SPECCERVENA, DAREKREMOVE);
	format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(id));
	if(dini_Exists(DAREKREMOVE))
	{
		dini_Remove(DAREKREMOVE);
	}
	}
	return 1;
}

CMD:darekinfo(playerid,params[])
{
	if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_DAREKINFO,DIALOG_STYLE_MSGBOX,"Dárky","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1","Zavřít","");
	else
	{
		ShowPlayerDialog(playerid,DIALOG_DAREKINFOA,DIALOG_STYLE_MSGBOX,"Dárky - Admini","{FF0000}Tento script vytvořil Stringer_CZE speciálně pro Hyper Pařbu\nDne 1.6.2016 ©\n\n\n{00FF00}PŘÍKAZY:\n\n{00FF00}/darecek {FF0000}- Otevře dárek číslo 1\n\n{00FF00}/setdarecek {FF0000}- Dá hráči dárek č.1(Pouze RCON!)","Zavřít","");
	}
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

stock Meno(playerid)
{
   new pName[MAX_PLAYER_NAME];
   if(IsPlayerConnected(playerid))
   {
         GetPlayerName(playerid, pName, sizeof(pName));
   }
   return pName;
}

stock sscanf(string[], format[], {Float,_}:...)
{
	#if defined isnull
		if (isnull(string))
	#else
		if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
	#endif
		{
			return format[0];
		}
	#pragma tabsize 4
	new
		formatPos = 0,
		stringPos = 0,
		paramPos = 2,
		paramCount = numargs(),
		delim = ' ';
	while (string[stringPos] && string[stringPos] <= ' ')
	{
		stringPos++;
	}
	while (paramPos < paramCount && string[stringPos])
	{
		switch (format[formatPos++])
		{
			case '\0':
			{
				return 0;
			}
			case 'i', 'd':
			{
				new
					neg = 1,
					num = 0,
					ch = string[stringPos];
				if (ch == '-')
				{
					neg = -1;
					ch = string[++stringPos];
				}
				do
				{
					stringPos++;
					if ('0' <= ch <= '9')
					{
						num = (num * 10) + (ch - '0');
					}
					else
					{
						return -1;
					}
				}
				while ((ch = string[stringPos]) > ' ' && ch != delim);
				setarg(paramPos, 0, num * neg);
			}
			case 'h', 'x':
			{
				new
					num = 0,
					ch = string[stringPos];
				do
				{
					stringPos++;
					switch (ch)
					{
						case 'x', 'X':
						{
							num = 0;
							continue;
						}
						case '0' .. '9':
						{
							num = (num << 4) | (ch - '0');
						}
						case 'a' .. 'f':
						{
							num = (num << 4) | (ch - ('a' - 10));
						}
						case 'A' .. 'F':
						{
							num = (num << 4) | (ch - ('A' - 10));
						}
						default:
						{
							return -1;
						}
					}
				}
				while ((ch = string[stringPos]) > ' ' && ch != delim);
				setarg(paramPos, 0, num);
			}
			case 'c':
			{
				setarg(paramPos, 0, string[stringPos++]);
			}
			case 'f':
			{

				new changestr[16], changepos = 0, strpos = stringPos;
				while(changepos < 16 && string[strpos] && string[strpos] != delim)
				{
					changestr[changepos++] = string[strpos++];
    				}
				changestr[changepos] = '\0';
				setarg(paramPos,0,_:floatstr(changestr));
			}
			case 'p':
			{
				delim = format[formatPos++];
				continue;
			}
			case '\'':
			{
				new
					end = formatPos - 1,
					ch;
				while ((ch = format[++end]) && ch != '\'') {}
				if (!ch)
				{
					return -1;
				}
				format[end] = '\0';
				if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
				{
					if (format[end + 1])
					{
						return -1;
					}
					return 0;
				}
				format[end] = '\'';
				stringPos = ch + (end - formatPos);
				formatPos = end + 1;
			}
			case 'u':
			{
				new
					end = stringPos - 1,
					id = 0,
					bool:num = true,
					ch;
				while ((ch = string[++end]) && ch != delim)
				{
					if (num)
					{
						if ('0' <= ch <= '9')
						{
							id = (id * 10) + (ch - '0');
						}
						else
						{
							num = false;
						}
					}
				}
				if (num && IsPlayerConnected(id))
				{
					setarg(paramPos, 0, id);
				}
				else
				{
					#if !defined foreach
						#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
						#define __SSCANF_FOREACH__
					#endif
					string[end] = '\0';
					num = false;
					new
						name[MAX_PLAYER_NAME];
					id = end - stringPos;
					foreach (Player, playerid)
					{
						GetPlayerName(playerid, name, sizeof (name));
						if (!strcmp(name, string[stringPos], true, id))
						{
							setarg(paramPos, 0, playerid);
							num = true;
							break;
						}
					}
					if (!num)
					{
						setarg(paramPos, 0, INVALID_PLAYER_ID);
					}
					string[end] = ch;
					#if defined __SSCANF_FOREACH__
						#undef foreach
						#undef __SSCANF_FOREACH__
					#endif
				}
				stringPos = end;
			}
			case 's', 'z':
			{
				new
					i = 0,
					ch;
				if (format[formatPos])
				{
					while ((ch = string[stringPos++]) && ch != delim)
					{
						setarg(paramPos, i++, ch);
					}
					if (!i)
					{
						return -1;
					}
				}
				else
				{
					while ((ch = string[stringPos++]))
					{
						setarg(paramPos, i++, ch);
					}
				}
				stringPos--;
				setarg(paramPos, i, '\0');
			}
			default:
			{
				continue;
			}
		}
		while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
		{
			stringPos++;
		}
		while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
		{
			stringPos++;
		}
		paramPos++;
	}
	do
	{
		if ((delim = format[formatPos++]) > ' ')
		{
			if (delim == '\'')
			{
				while ((delim = format[formatPos++]) && delim != '\'') {}
			}
			else if (delim != 'z')
			{
				return delim;
			}
		}
	}
	while (delim > ' ');
	return 0;
}

 

 

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Úplně vypatlanej nebo já nevím. Aspoň použi trošku angličtinu a logické uvažování.

error 001: expected token: ";", but found ")"

Co to asi může být hm?

Edited by PetrPaulik
Link to comment
Share on other sites

  • 0
Ty vole já snad začnu vybírat Donate...

Tvoje problémy a můj počítač který se seká a zamrzává na 5 minut každých 10 minut mě dohání k šílenství.

Mám chuť někoho brutálně zavraždit nebo spáchat sebevraždu.

Každopádně...

 

new Meno[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];

GetPlayerName(playerid, Meno, sizeof(Meno));

format(DAREKSAVE, sizeof(DAREKSAVE), "/DAREK/%s.txt", Meno(playerid));

DAREK[playerid] = dini_Bool(DAREKSAVE, "DAREK");

 

// nahoře máš string[24+MAX_PLAYER_NAME] ale používáš DAREKSAVE tak si to laskavě přejmenuj

 

A co se týče RandomEx...

 

Používá se RandomEx(nejmenší číslo,největší číslo);

 

nikoliv 20 čísel...

 

například RandomEx(4,18); vybere číslo mezi 4 - 18

 

-_-

 

mimochodem... tvůj problém u switch byl ten že

 

když si uděláš new neco = RandomEx(nejměnší,největší číslo);

 

tak když děláš switch

 

musíš dát za switch(neco)
Edited by rEf
Link to comment
Share on other sites

  • 0

PetrPaulik podívej se laskavě nahoru mé zprávy... Jasně tam je řečeno proč mu to vypisuje tu chybu. Využívá ve formatu DAREKSAVE ale nemá tam new DAREKSAVE ale string a tož důvod celé chyby.

 

Mimochodem ještě tam máš u toho jeden problém... Ty to ukládáš na int doufám protože jasně jsem ti to vypisoval že na int se ukládá číslo...A v tom kde máš ten problém s tím názvem máš bool co že je pěkná hovadina.

 

Radil bych než budeš něco dělat podívat se na internet jak co funguje jako třeba dini...

Každopádně já rezignuji :-D

Edited by rEf
Link to comment
Share on other sites

  • 0

Tak když to víš, že ti tam chybí ;, to je to tak těžké to tam dopsat? -_-

Ale tak když to tam už bylo?

A nebylo by prostě jednoduší mi napsat ten kód ať vám dám pokoj? :d

Edited by Stringer_CZE
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

To si vážně tak hloupý že se nedokážeš podívat na této stránce nahoru co sem ti psal? PetrPaulik totiž vůbec neví co píše.

Edited by rEf
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...